from sqlalchemy import or_ from atlas_um.pgdb import DNAAccount, ResourceGroup, pgdb from atlas_um.logs import logger TEST_USERS_QTY = 10 CLAIM_VALUES_QTY = 10 def init_test_data(): init_dna_accounts() def init_dna_accounts(): for n in range(10): dna_account = DNAAccount.query.filter( or_( DNAAccount.sub == f"dna|load_test_user_{n}", DNAAccount.email == f"load_test_user_{n}@test.test", ) ).first() if not dna_account: dna_account = DNAAccount( sub=f"dna|load_test_user_{n}", email=f"load_test_user_{n}@test.test", given_name=f"load_test_user_{n}", family_name=f"load_test_user_{n}", no_mfa=True, ) pgdb.session.add(dna_account) dna_account.claim_values = [] for group in ResourceGroup.query.active(): for claim_name in group.claim_names: if claim_name.multiple_values_allowed: dna_account.claim_values.extend( claim_name.claim_values[:CLAIM_VALUES_QTY] ) else: dna_account.claim_values.extend( claim_name.claim_values[:1] ) pgdb.session.commit() logger.bind(dna_account=dna_account).info("Added test account")