def test_get_pt_object(): n = Navitia('http://api.navitia.io', 'jdr') mock = NavitiaMock(200, {'networks': [{'id': 'network:foo', 'name': 'reseau foo'}]}, assert_url='http://api.navitia.io/v1/coverage/jdr/networks/network:foo?depth=0') with HTTMock(mock): eq_(n.get_pt_object('network:foo', 'network'), {'id': 'network:foo', 'name': 'reseau foo'}) mock = NavitiaMock(200, {'networks': []}) with HTTMock(mock): eq_(n.get_pt_object('network:foo', 'network'), None) mock = NavitiaMock(404, {}) with HTTMock(mock): eq_(n.get_pt_object('network:foo', 'network'), None)
def output(self, key, obj): to_return = [] # for history if hasattr(obj, 'history_localization') and isinstance(obj.localizations, list): return self._clean_localizations(obj.history_localization) navitia = Navitia(current_app.config['NAVITIA_URL'], get_coverage(request), get_token(request)) if isinstance(obj, dict) and 'localizations' in obj: for localization in obj['localizations']: response = navitia.get_pt_object( localization['uri'], localization['type']) if response and 'name' in response: response["type"] = localization['type'] to_return.append(response) else: to_return.append( { "id": localization['uri'], "name": "Unable to find object", "type": localization['type'] } ) elif obj.localizations: for localization in obj.localizations: response = navitia.get_pt_object( localization.uri, localization.type) if response and 'name' in response: response["type"] = localization.type to_return.append(response) else: to_return.append( { "id": localization.uri, "name": "Unable to find object", "type": localization.type } ) return self._clean_localizations(to_return)
def output(self, key, obj): to_return = [] navitia = Navitia(current_app.config['NAVITIA_URL'], get_coverage(request), get_token(request)) if isinstance(obj, dict) and 'localizations' in obj: for localization in obj['localizations']: response = navitia.get_pt_object( localization['uri'], localization['type']) if response and 'name' in response: response["type"] = localization['type'] to_return.append(response) else: to_return.append( { "id": localization['uri'], "name": "Unable to find object", "type": localization['type'] } ) elif obj.localizations: for localization in obj.localizations: response = navitia.get_pt_object( localization.uri, localization.type) if response and 'name' in response: response["type"] = localization.type to_return.append(response) else: to_return.append( { "id": localization.uri, "name": "Unable to find object", "type": localization.type } ) return to_return
def output(self, key, obj): if not obj: return None if obj.type == 'line_section': return None navitia = Navitia(current_app.config['NAVITIA_URL'], get_coverage(request), get_token(request)) response = navitia.get_pt_object(obj.uri, obj.type) if response and 'name' in response: return response['name'] return 'Unable to find object'
def output(self, key, obj): if not obj: return None if obj.type == 'line_section': return None navitia = Navitia( current_app.config['NAVITIA_URL'], get_coverage(request), get_token(request)) response = navitia.get_pt_object(obj.uri, obj.type) if response and 'name' in response: return response['name'] return 'Unable to find object'
def test_get_pt_object(): n = Navitia('http://api.navitia.io', 'jdr') mock = NavitiaMock( 200, {'networks': [{ 'id': 'network:foo', 'name': 'reseau foo' }]}, assert_url= 'http://api.navitia.io/v1/coverage/jdr/networks/network:foo?depth=0') with HTTMock(mock): eq_(n.get_pt_object('network:foo', 'network'), { 'id': 'network:foo', 'name': 'reseau foo' }) mock = NavitiaMock(200, {'networks': []}) with HTTMock(mock): eq_(n.get_pt_object('network:foo', 'network'), None) mock = NavitiaMock(404, {}) with HTTMock(mock): eq_(n.get_pt_object('network:foo', 'network'), None)
def output(self, key, obj): to_return = [] navitia = Navitia(current_app.config['NAVITIA_URL'], get_coverage(request), get_token(request)) for localization in obj.localizations: response = navitia.get_pt_object(localization.uri, localization.type) if response and 'name' in response: response["type"] = localization.type to_return.append(response) else: to_return.append({ "id": localization.uri, "name": "Unable to find object", "type": localization.type }) return to_return
def test_navitia_unknown_object_type(): n = Navitia('http://api.navitia.io', 'jdr') with HTTMock(navitia_mock_unknown_object_type): n.get_pt_object('network:foo', 'aaaaaaaa')
def test_navitia_request_error(): n = Navitia('http://api.navitia.io', 'jdr') with HTTMock(navitia_mock_navitia_error): n.get_pt_object('network:foo','network')
def test_navitia_unknown_object_type(): n = Navitia('http://api.navitia.io', 'jdr') with HTTMock(navitia_mock_unknown_object_type): n.get_pt_object('network:foo4', 'aaaaaaaa')
def test_navitia_request_error(): n = Navitia('http://api.navitia.io', 'jdr') with HTTMock(navitia_mock_navitia_error): n.get_pt_object('network:foo3', 'network')