def streetnetwork_backend_manager_db_test(): """ Test that streetnetwork backends are created from db when conditions are met """ manager = StreetNetworkBackendManager(sn_backends_getter_ok, -1) # 2 sn_backends defined in db are associated to the coverage # -> 2 sn_backends created manager._can_connect_to_database = MagicMock(return_value=True) manager._update_config("instance") assert not manager._streetnetwork_backends_by_instance_legacy assert len(manager._streetnetwork_backends) == 2 assert 'kraken' in manager._streetnetwork_backends assert manager._streetnetwork_backends['kraken'].url == 'kraken.url' assert 'asgard' in manager._streetnetwork_backends assert manager._streetnetwork_backends['asgard'].url == 'asgard.url' manager_update = manager._last_update assert 'kraken' in manager._streetnetwork_backends_last_update kraken_update = manager._streetnetwork_backends_last_update['kraken'] # Sn_backend already existing is updated manager._sn_backends_getter = sn_backends_getter_update manager._can_connect_to_database = MagicMock(return_value=True) manager._update_config("instance") assert manager._last_update > manager_update assert not manager._streetnetwork_backends_by_instance_legacy assert len(manager._streetnetwork_backends) == 2 assert 'kraken' in manager._streetnetwork_backends assert manager._streetnetwork_backends['kraken'].url == 'kraken.url.UPDATE' assert 'kraken' in manager._streetnetwork_backends_last_update assert manager._streetnetwork_backends_last_update['kraken'] > kraken_update # Long update interval so sn_backend shouldn't be updated manager = StreetNetworkBackendManager(sn_backends_getter_ok, 600) manager._can_connect_to_database = MagicMock(return_value=True) manager._update_config("instance") assert not manager._streetnetwork_backends_by_instance_legacy assert len(manager._streetnetwork_backends) == 2 assert 'kraken' in manager._streetnetwork_backends assert manager._streetnetwork_backends['kraken'].url == 'kraken.url' manager_update = manager._last_update manager.sn_backends_getter = sn_backends_getter_update manager._update_config("instance") assert manager._last_update == manager_update assert not manager._streetnetwork_backends_by_instance_legacy assert len(manager._streetnetwork_backends) == 2 assert 'kraken' in manager._streetnetwork_backends assert manager._streetnetwork_backends['kraken'].url == 'kraken.url'
def wrong_streetnetwork_backend_test(): """ Test that streetnetwork backends with wrong parameters aren't created """ # Sn_backend has a class wrongly formatted manager = StreetNetworkBackendManager(sn_backends_getter_wrong_class, -1) manager._update_config("instance") assert not manager._streetnetwork_backends_by_instance_legacy assert not manager._streetnetwork_backends # No sn_backends available in db manager._sn_backends_getter = [] manager._update_config("instance") assert not manager._streetnetwork_backends_by_instance_legacy assert not manager._streetnetwork_backends