276 |
276 |
json.dump(serialize_object(result), json_file, cls=DjangoJSONEncoder, indent=2)
|
277 |
277 |
json_file.write('\n')
|
278 |
278 |
cmd = 'diff %s %s' % (result_file_path, expected_file_path)
|
279 |
279 |
output = subprocess.run(cmd, shell=True, check=False, stdout=None, stderr=None)
|
280 |
280 |
assert output.returncode == 0, 'please, %s' % cmd
|
281 |
281 |
return True
|
282 |
282 |
|
283 |
283 |
|
284 |
|
def remove_id_on_child(child):
|
|
284 |
def remove_extra_indicators(conn, indicators, referential_name):
|
|
285 |
url = conn + '/read-%s-list' % referential_name
|
|
286 |
resp = requests.get(url)
|
|
287 |
resp.raise_for_status()
|
|
288 |
legacy_id = [x['id'] for x in resp.json()['data']]
|
|
289 |
for i, item in enumerate(indicators):
|
|
290 |
if item['code'] not in legacy_id:
|
|
291 |
del indicators[i]
|
|
292 |
|
|
293 |
|
|
294 |
def remove_id_on_child(conn, child):
|
285 |
295 |
child['num'] = 'N/A'
|
286 |
296 |
child['lastname'] = 'N/A'
|
287 |
297 |
child['mother'] = 'N/A' # dont care yet
|
288 |
298 |
child['father'] = 'N/A' # dont care yet
|
289 |
299 |
for person in child['authorizedPersonList']:
|
290 |
300 |
person['personInfo']['num'] = 'N/A'
|
|
301 |
remove_extra_indicators(conn, child['indicatorList'], 'child-indicator')
|
291 |
302 |
|
292 |
303 |
|
293 |
|
def remove_id_on_rlg(rlg):
|
|
304 |
def remove_id_on_rlg(conn, rlg):
|
294 |
305 |
if rlg:
|
295 |
306 |
rlg['num'] = 'N/A'
|
296 |
307 |
rlg['lastname'] = 'N/A'
|
|
308 |
remove_extra_indicators(conn, rlg['indicatorList'], 'rl-indicator')
|
297 |
309 |
|
298 |
310 |
|
299 |
|
def remove_id_on_family(family):
|
|
311 |
def remove_id_on_family(conn, family):
|
300 |
312 |
family['number'] = 'N/A'
|
301 |
|
remove_id_on_rlg(family['RL1'])
|
302 |
|
remove_id_on_rlg(family['RL2'])
|
|
313 |
remove_id_on_rlg(conn, family['RL1'])
|
|
314 |
remove_id_on_rlg(conn, family['RL2'])
|
303 |
315 |
for child in family['childList']:
|
304 |
|
remove_id_on_child(child)
|
|
316 |
remove_id_on_child(conn, child)
|
305 |
317 |
for person in family['emergencyPersonList']:
|
306 |
318 |
person['numPerson'] = 'N/A'
|
307 |
319 |
|
308 |
320 |
|
309 |
321 |
def diff_child(conn, name_id, index, expected_file, key=None):
|
310 |
322 |
data = read_family(conn, name_id)
|
311 |
323 |
child = copy.deepcopy(data['childList'][index])
|
312 |
|
remove_id_on_child(child)
|
|
324 |
remove_id_on_child(conn, child)
|
313 |
325 |
if not key:
|
314 |
326 |
assert diff(child, expected_file)
|
315 |
327 |
else:
|
316 |
328 |
assert diff(child[key], expected_file)
|
317 |
329 |
return data
|
318 |
330 |
|
319 |
331 |
|
320 |
332 |
def diff_rlg(conn, name_id, index, expected_file, key=None):
|
321 |
333 |
data = read_family(conn, name_id)
|
322 |
334 |
rlg = copy.deepcopy(data['RL%s' % index])
|
323 |
|
remove_id_on_rlg(rlg)
|
|
335 |
remove_id_on_rlg(conn, rlg)
|
324 |
336 |
if not key:
|
325 |
337 |
assert diff(rlg, expected_file)
|
326 |
338 |
else:
|
327 |
339 |
assert diff(rlg[key], expected_file)
|
328 |
340 |
return data
|
329 |
341 |
|
330 |
342 |
|
331 |
343 |
def diff_family(conn, name_id, expected_file, key=None):
|
332 |
344 |
data = read_family(conn, name_id)
|
333 |
345 |
family = copy.deepcopy(data)
|
334 |
|
remove_id_on_family(family)
|
|
346 |
remove_id_on_family(conn, family)
|
335 |
347 |
if not key:
|
336 |
348 |
assert diff(family, expected_file)
|
337 |
349 |
else:
|
338 |
350 |
assert diff(family[key], expected_file)
|
339 |
351 |
return data
|
340 |
352 |
|
341 |
353 |
|
342 |
354 |
@pytest.fixture(scope='session')
|
343 |
|
-
|