def format_url_func_invalid_mode_test(): instance = MagicMock() valhalla = Valhalla(instance=instance, service_url='http://bob.com', costing_options={'bib': 'bom'}) with pytest.raises(InvalidArguments) as excinfo: origin = make_pt_object(type_pb2.ADDRESS, 1.0, 1.0) destination = make_pt_object(type_pb2.ADDRESS, 2.0, 2.0) valhalla._make_request_arguments("bob", [origin], [destination], MOCKED_REQUEST) assert '400 Bad Request' in str(excinfo.value) assert 'InvalidArguments' == str(excinfo.typename)
def format_url_func_with_car_mode_test(): instance = MagicMock() instance.walking_speed = 1 instance.bike_speed = 2 origin = make_pt_object(type_pb2.ADDRESS, 1.0, 1.0) destination = make_pt_object(type_pb2.ADDRESS, 2.0, 2.0) valhalla = Valhalla(instance=instance, service_url='http://bob.com', costing_options={'bib': 'bom'}) valhalla.costing_options = None data = valhalla._make_request_arguments("car", [origin], [destination], MOCKED_REQUEST) assert json.loads(data) == json.loads(''' { "locations": [ { "lat": 1, "type": "break", "lon": 1 }, { "lat": 2, "type": "break", "lon": 2 } ], "costing": "auto", "directions_options": { "units": "kilometers" } }''')
def format_url_func_with_different_ptobject_test(): instance = MagicMock() instance.walking_speed = 1 instance.bike_speed = 2 valhalla = Valhalla(instance=instance, service_url='http://bob.com', costing_options={'bib': 'bom'}) valhalla.costing_options = None for ptObject_type in (type_pb2.STOP_POINT, type_pb2.STOP_AREA, type_pb2.ADDRESS, type_pb2.ADMINISTRATIVE_REGION, type_pb2.POI): origin = make_pt_object(ptObject_type, 1.0, 1.0) destination = make_pt_object(ptObject_type, 2.0, 2.0) data = valhalla._make_request_arguments("car", [origin], [destination], MOCKED_REQUEST) assert json.loads(data) == json.loads(''' { "locations": [ { "lat": 1, "type": "break", "lon": 1 }, { "lat": 2, "type": "break", "lon": 2 } ], "costing": "auto", "directions_options": { "units": "kilometers" } }''')
def direct_path_func_without_response_valhalla_test(): instance = MagicMock() valhalla = Valhalla(instance=instance, service_url='http://bob.com', costing_options={'bib': 'bom'}) valhalla.breaker = MagicMock() valhalla._call_valhalla = MagicMock(return_value=None) valhalla._make_request_arguments = MagicMock(return_value=None) with pytest.raises(TechnicalError) as excinfo: valhalla._direct_path(None, None, None, None, None, None, None, None) assert '500 Internal Server Error' in str(excinfo.value) assert 'TechnicalError' == str(excinfo.typename)