tests: prevent bogus failure when faker returns the same email or birthdate many times

This commit is contained in:
Benjamin Dauvergne 2017-04-06 18:41:07 +02:00
parent 4f0198c31f
commit 47243546d8
1 changed files with 11 additions and 6 deletions

View File

@ -31,10 +31,12 @@ def rsu(rsu_schema):
tr = Transaction.objects.create(meta="initial import")
entities = []
dates_seen = set()
for i in range(1000):
individu = {}
individu['genre'] = genre = sexes[random.randint(0, 2)]
individu['email'] = fake.email()
individu['email'] = str(i) + fake.email()
if genre == 'femme':
individu['prenoms'] = fake.first_name_female()
individu['nom_de_naissance'] = fake.last_name_female()
@ -43,10 +45,14 @@ def rsu(rsu_schema):
else:
individu['prenoms'] = fake.first_name_male()
individu['nom_de_naissance'] = fake.last_name_male()
date_de_naissance = fake.date_time_between_dates(
datetime_start=datetime.datetime(1930, 1, 1),
datetime_end=datetime.datetime.now() + datetime.timedelta(days=120),
tzinfo=None).date()
while True:
date_de_naissance = fake.date_time_between_dates(
datetime_start=datetime.datetime(1930, 1, 1),
datetime_end=datetime.datetime.now() + datetime.timedelta(days=120),
tzinfo=None).date()
if date_de_naissance not in dates_seen:
dates_seen.add(date_de_naissance)
break
individu['date_de_naissance'] = date_de_naissance.isoformat()
individu['statut_legal'] = ('majeur' if age_in_years_and_months(date_de_naissance) >= (18,
0)
@ -54,7 +60,6 @@ def rsu(rsu_schema):
individu['cles_de_federation'] = {
'technocarte': 'ABCD-%d' % i,
}
individu['email'] = fake.email()
entities.append(
Entity(created=tr, schema=rsu_schema, content=individu))