]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/steps/queries.py
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / test / bdd / steps / queries.py
index 4e6ec1ff5ab02c6d3556cd17877ca48376c370d6..d6473dfa2509118e0cbccad648aa22dbc10fab4a 100644 (file)
@@ -115,7 +115,9 @@ class SearchResponse(GenericResponse):
         self.result = geojson_results_to_json_results(self.result)
 
     def parse_geocodejson(self):
         self.result = geojson_results_to_json_results(self.result)
 
     def parse_geocodejson(self):
-        return self.parse_geojson()
+        self.parse_geojson()
+        if self.result is not None:
+            self.result = [r['geocoding'] for r in self.result]
 
     def parse_html(self):
         content, errors = tidy_document(self.page,
 
     def parse_html(self):
         content, errors = tidy_document(self.page,
@@ -203,7 +205,9 @@ class ReverseResponse(GenericResponse):
         self.result = geojson_results_to_json_results(self.result[0])
 
     def parse_geocodejson(self):
         self.result = geojson_results_to_json_results(self.result[0])
 
     def parse_geocodejson(self):
-        return self.parse_geojson()
+        self.parse_geojson()
+        if self.result is not None:
+            self.result = [r['geocoding'] for r in self.result]
 
     def parse_xml(self):
         et = ET.fromstring(self.page)
 
     def parse_xml(self):
         et = ET.fromstring(self.page)
@@ -579,8 +583,8 @@ def check_address(context, lid, neg, attrs):
         else:
             assert_in(attr, addr_parts)
 
         else:
             assert_in(attr, addr_parts)
 
-@then(u'address of result (?P<lid>\d+) is')
-def check_address(context, lid):
+@then(u'address of result (?P<lid>\d+) (?P<complete>is|contains)')
+def check_address(context, lid, complete):
     context.execute_steps("then more than %s results are returned" % lid)
 
     addr_parts = dict(context.response.result[int(lid)]['address'])
     context.execute_steps("then more than %s results are returned" % lid)
 
     addr_parts = dict(context.response.result[int(lid)]['address'])
@@ -591,7 +595,8 @@ def check_address(context, lid):
                      "Bad address value for %s" % line['type'])
         del addr_parts[line['type']]
 
                      "Bad address value for %s" % line['type'])
         del addr_parts[line['type']]
 
-    eq_(0, len(addr_parts), "Additional address parts found: %s" % str(addr_parts))
+    if complete == 'is':
+        eq_(0, len(addr_parts), "Additional address parts found: %s" % str(addr_parts))
 
 @then(u'result (?P<lid>\d+ )?has bounding box in (?P<coords>[\d,.-]+)')
 def step_impl(context, lid, coords):
 
 @then(u'result (?P<lid>\d+ )?has bounding box in (?P<coords>[\d,.-]+)')
 def step_impl(context, lid, coords):