]> git.openstreetmap.org Git - nominatim.git/blobdiff - tests/steps/api_setup.py
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / tests / steps / api_setup.py
index 35443cdba6e1dabc3584697827974c379a7278c9..c9a4bac476df5818df06cea9b4312a0fdc2a78c8 100644 (file)
@@ -10,6 +10,7 @@ import logging
 logger = logging.getLogger(__name__)
 
 def api_call(requesttype):
 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)
     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.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]
             assert world.page.startswith(world.json_callback + '(')
             assert world.page.endswith(')')
             world.page = world.page[(len(world.json_callback)+1):-1]
@@ -123,6 +124,13 @@ def api_setup_details(step, obj):
         world.params['place_id']  = obj
     api_call('details')
 
         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)
 @step(u'sending an API call (\w+)')
 def api_general_call(step, call):
     api_call(call)