348 |
348 |
assert resp.json['err'] == 0
|
349 |
349 |
assert len(resp.json['data']) == 0
|
350 |
350 |
|
|
351 |
|
351 |
352 |
@pytest.mark.usefixtures('mock_update_api_geo')
|
352 |
353 |
@mock.patch('passerelle.utils.Request.get')
|
353 |
354 |
def test_base_adresse_command_update(mocked_get, db, base_adresse):
|
354 |
|
filepath = os.path.join(os.path.dirname(__file__), 'data', 'update_streets_test.bz2')
|
355 |
|
mocked_get.return_value = utils.FakedResponse(content=open(filepath, 'rb').read(), status_code=200)
|
|
355 |
filepath = os.path.join(os.path.dirname(__file__), 'data', 'update_streets_test.csv.gz')
|
|
356 |
with open(filepath, 'rb') as ban_file:
|
|
357 |
mocked_get.return_value = utils.FakedResponse(content=ban_file.read(), status_code=200)
|
356 |
358 |
call_command('cron', 'daily')
|
357 |
|
mocked_get.assert_called_once_with('http://bano.openstreetmap.fr/BAN_odbl/BAN_odbl_73-json.bz2')
|
|
359 |
mocked_get.assert_called_once_with('https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/adresses-73.csv.gz')
|
358 |
360 |
streets = StreetModel.objects.all()
|
359 |
361 |
assert len(streets) == 3
|
360 |
362 |
street = StreetModel.objects.order_by('id').first()
|
361 |
|
assert street.name == 'Chemin de la Vie, LA GRANGE DU TRIEU'
|
|
363 |
assert street.name == 'Chemin de la Vie'
|
362 |
364 |
assert street.zipcode == '73610'
|
363 |
365 |
assert street.type == 'street'
|
364 |
366 |
assert street.city == 'Aiguebelette-le-Lac'
|
... | ... | |
372 |
374 |
@mock.patch('passerelle.utils.Request.get')
|
373 |
375 |
def test_base_adresse_command_hourly_update(mocked_get, db, base_adresse):
|
374 |
376 |
base_adresse.update_api_geo_data = lambda: None
|
375 |
|
filepath = os.path.join(os.path.dirname(__file__), 'data', 'update_streets_test.bz2')
|
376 |
|
mocked_get.return_value = utils.FakedResponse(content=open(filepath, 'rb').read(), status_code=200)
|
|
377 |
filepath = os.path.join(os.path.dirname(__file__), 'data', 'update_streets_test.csv.gz')
|
|
378 |
with open(filepath, 'rb') as ban_file:
|
|
379 |
mocked_get.return_value = utils.FakedResponse(content=ban_file.read(), status_code=200)
|
377 |
380 |
# check the first hourly job downloads streets
|
378 |
381 |
call_command('cron', 'hourly')
|
379 |
|
mocked_get.assert_called_once_with('http://bano.openstreetmap.fr/BAN_odbl/BAN_odbl_73-json.bz2')
|
|
382 |
mocked_get.assert_called_once_with('https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/adresses-73.csv.gz')
|
380 |
383 |
assert StreetModel.objects.all().count() == 3
|
381 |
384 |
# check a second call doesn't download anything
|
382 |
385 |
call_command('cron', 'hourly')
|
... | ... | |
387 |
390 |
@mock.patch('passerelle.utils.Request.get')
|
388 |
391 |
def test_base_adresse_command_update_97x(mocked_get, db, base_adresse_97x):
|
389 |
392 |
base_adresse_97x.update_api_geo_data = lambda: None
|
390 |
|
filepath = os.path.join(os.path.dirname(__file__), 'data', 'update_streets_test.bz2')
|
391 |
|
mocked_get.return_value = utils.FakedResponse(content=open(filepath, 'rb').read(), status_code=200)
|
|
393 |
filepath = os.path.join(os.path.dirname(__file__), 'data', 'update_streets_test.csv.gz')
|
|
394 |
with open(filepath, 'rb') as ban_file:
|
|
395 |
mocked_get.return_value = utils.FakedResponse(content=ban_file.read(), status_code=200)
|
392 |
396 |
call_command('cron', 'daily')
|
393 |
|
mocked_get.assert_called_once_with('http://bano.openstreetmap.fr/BAN_odbl/BAN_odbl_974-json.bz2')
|
|
397 |
mocked_get.assert_called_once_with('https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/adresses-974.csv.gz')
|
394 |
398 |
assert StreetModel.objects.count() == 2
|
395 |
399 |
|
396 |
400 |
|
... | ... | |
398 |
402 |
@mock.patch('passerelle.utils.Request.get')
|
399 |
403 |
def test_base_adresse_command_update_corsica(mocked_get, db, base_adresse_corsica):
|
400 |
404 |
base_adresse_corsica.update_api_geo_data = lambda: None
|
401 |
|
filepath = os.path.join(os.path.dirname(__file__), 'data', 'update_streets_test.bz2')
|
402 |
|
mocked_get.return_value = utils.FakedResponse(content=open(filepath, 'rb').read(), status_code=200)
|
|
405 |
filepath = os.path.join(os.path.dirname(__file__), 'data', 'update_streets_test.csv.gz')
|
|
406 |
with open(filepath, 'rb') as ban_file:
|
|
407 |
mocked_get.return_value = utils.FakedResponse(content=ban_file.read(), status_code=200)
|
403 |
408 |
call_command('cron', 'daily')
|
404 |
409 |
assert mocked_get.call_count == 2
|
405 |
|
mocked_get.assert_any_call('http://bano.openstreetmap.fr/BAN_odbl/BAN_odbl_2A-json.bz2')
|
406 |
|
mocked_get.assert_any_call('http://bano.openstreetmap.fr/BAN_odbl/BAN_odbl_2B-json.bz2')
|
|
410 |
mocked_get.assert_any_call('https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/adresses-2A.csv.gz')
|
|
411 |
mocked_get.assert_any_call('https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/adresses-2B.csv.gz')
|
407 |
412 |
assert StreetModel.objects.count() == 0
|
408 |
413 |
|
409 |
414 |
|
... | ... | |
411 |
416 |
@mock.patch('passerelle.utils.Request.get')
|
412 |
417 |
def test_base_adresse_command_update_multiple(mocked_get, db, base_adresse_multiple):
|
413 |
418 |
base_adresse_multiple.update_api_geo_data = lambda: None
|
414 |
|
filepath = os.path.join(os.path.dirname(__file__), 'data', 'update_streets_test.bz2')
|
415 |
|
mocked_get.return_value = utils.FakedResponse(content=open(filepath, 'rb').read(), status_code=200)
|
|
419 |
filepath = os.path.join(os.path.dirname(__file__), 'data', 'update_streets_test.csv.gz')
|
|
420 |
with open(filepath, 'rb') as ban_file:
|
|
421 |
mocked_get.return_value = utils.FakedResponse(content=ban_file.read(), status_code=200)
|
416 |
422 |
call_command('cron', 'daily')
|
417 |
423 |
assert mocked_get.call_count == 4
|
418 |
|
mocked_get.assert_any_call('http://bano.openstreetmap.fr/BAN_odbl/BAN_odbl_73-json.bz2')
|
419 |
|
mocked_get.assert_any_call('http://bano.openstreetmap.fr/BAN_odbl/BAN_odbl_974-json.bz2')
|
420 |
|
mocked_get.assert_any_call('http://bano.openstreetmap.fr/BAN_odbl/BAN_odbl_2A-json.bz2')
|
421 |
|
mocked_get.assert_any_call('http://bano.openstreetmap.fr/BAN_odbl/BAN_odbl_2B-json.bz2')
|
|
424 |
mocked_get.assert_any_call('https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/adresses-73.csv.gz')
|
|
425 |
mocked_get.assert_any_call('https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/adresses-974.csv.gz')
|
|
426 |
mocked_get.assert_any_call('https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/adresses-2A.csv.gz')
|
|
427 |
mocked_get.assert_any_call('https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/adresses-2B.csv.gz')
|
422 |
428 |
assert StreetModel.objects.count() == 5
|
423 |
429 |
|
424 |
430 |
|