new method /lookup.php - Reverse search by multiple osm ids

This commit is contained in:
Marc Tobias Metten
2015-06-16 21:11:21 +02:00
parent 1fcb712f00
commit 7c8c206818
8 changed files with 125 additions and 4 deletions

View File

@@ -0,0 +1,17 @@
Feature: Places by osm_type and osm_id Tests
Simple tests for internal server errors and response format.
@mtm
Scenario: address lookup for existing node, way, relation
When looking up xml places N158845944,W72493656,,R62422,X99,N0
Then the result is valid xml
exactly 3 results are returned
When looking up json places N158845944,W72493656,,R62422,X99,N0
Then the result is valid json
exactly 3 results are returned
@mtm
Scenario: address lookup for non-existing or invalid node, way, relation
When looking up xml places X99,,N0,nN158845944,ABC,,W9
Then the result is valid xml
exactly 0 results are returned

View File

@@ -94,4 +94,4 @@ Feature: Simple Reverse Tests
| 48.966.0 | 8.4482
| 48.966 | 8.448.2
| Nan | 8.448
| 48.966 | Nan
| 48.966 | Nan

View File

@@ -27,7 +27,7 @@ def _parse_xml():
world.results = []
# results
if page.nodeName == 'searchresults':
if page.nodeName == 'searchresults' or page.nodeName == 'lookupresults':
for node in page.childNodes:
if node.nodeName != "#text":
assert_equals(node.nodeName, 'place', msg="Unexpected element '%s'" % node.nodeName)

View File

@@ -123,6 +123,13 @@ def api_setup_details(step, obj):
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)