X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/86d90bc46005c00f2367ad759804f528adc4c6a5..21c590416854b1245866b96772fde61050c0e01a:/tests/steps/api_setup.py diff --git a/tests/steps/api_setup.py b/tests/steps/api_setup.py index 9accf420..c9a4bac4 100644 --- a/tests/steps/api_setup.py +++ b/tests/steps/api_setup.py @@ -10,6 +10,7 @@ import logging logger = logging.getLogger(__name__) def api_call(requesttype): + world.request_type = requesttype world.json_callback = None data = urllib.urlencode(world.params) url = "%s/%s?%s" % (world.config.base_url, requesttype, data) @@ -36,7 +37,7 @@ def api_call(requesttype): world.response_format = fmt elif fmt in ('json', 'jsonv2'): if 'json_callback' in world.params: - world.json_callback = world.params['json_callback'] + world.json_callback = world.params['json_callback'].encode('utf8') assert world.page.startswith(world.json_callback + '(') assert world.page.endswith(')') world.page = world.page[(len(world.json_callback)+1):-1] @@ -103,6 +104,16 @@ def api_setup_reverse(step, fmt, lat, lon): world.params['format'] = fmt.strip() api_call('reverse') +@step(u'looking up place ([NRW]?\d+)') +def api_setup_details_reverse(step, obj): + if obj[0] in ('N', 'R', 'W'): + # an osm id + world.params['osm_type'] = obj[0] + world.params['osm_id'] = obj[1:] + else: + world.params['place_id'] = obj + api_call('reverse') + @step(u'looking up details for ([NRW]?\d+)') def api_setup_details(step, obj): if obj[0] in ('N', 'R', 'W'): @@ -112,3 +123,14 @@ def api_setup_details(step, obj): else: world.params['place_id'] = obj api_call('details') + +@step(u'looking up (\w+) places ((?:[a-z]\d+,*)+)') +def api_setup_lookup(step, fmt, ids): + world.params['osm_ids'] = ids + if fmt and fmt.strip(): + world.params['format'] = fmt.strip() + api_call('lookup') + +@step(u'sending an API call (\w+)') +def api_general_call(step, call): + api_call(call)