def bragi_call_test(): """ test the whole autocomplete with a geocodejson service """ bragi = geocodejson.GeocodeJson(host='http://bob.com/autocomplete') bragi_response = { "Autocomplete": { "features": [ bragi_house_jaures_feature(), bragi_house_lefebvre_feature(), bragi_street_feature(), bragi_admin_feature() ] } } mock_requests = MockRequests( {'http://bob.com/autocomplete?q=rue bobette': (bragi_response, 200)}) # we mock the http call to return the hard coded mock_response with mock.patch('requests.get', mock_requests.get): raw_response = bragi.get({'q': 'rue bobette'}, instance=None) places = get_response(raw_response).get('places') assert len(places) == 4 bragi_house_jaures_response_check(places[0]) bragi_house_lefebvre_response_check(places[1]) bragi_street_response_check(places[2]) bragi_admin_response_check(places[3])
def bragi_make_params_without_instance_test(): """ test of generate params without instance """ bragi = geocodejson.GeocodeJson(host='http://bob.com/autocomplete') request = {"q": "aa", "count": 20} params = bragi.make_params(request=request, instance=None) rsp = {'q': 'aa', 'limit': 20} len(rsp.keys()) == len(params.keys()) for key, value in rsp.items(): assert key in params assert value == params[key]
def bragi_make_params_with_instance_test(): """ test of generate params with instance """ instance = mock.MagicMock() instance.name = 'bib' bragi = geocodejson.GeocodeJson(host='http://bob.com/autocomplete') request = {"q": "aa", "count": 20} params = bragi.make_params(request=request, instance=instance) rsp = {'q': 'aa', 'limit': 20, 'pt_dataset': 'bib'} len(rsp.keys()) == len(params.keys()) for key, value in rsp.items(): assert key in params assert value == params[key]