From 8150c3602bc71a1a225e94b0b881bbb7309ebf43 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Wed, 1 Apr 2020 11:14:48 +0200 Subject: [PATCH 1/1] add tests for geocodejson address fields --- test/bdd/api/reverse/geocodejson.feature | 27 ++++++++++++++++++++++++ test/bdd/api/search/geocodejson.feature | 27 ++++++++++++++++++++++++ test/bdd/steps/queries.py | 8 +++++-- 3 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 test/bdd/api/reverse/geocodejson.feature create mode 100644 test/bdd/api/search/geocodejson.feature diff --git a/test/bdd/api/reverse/geocodejson.feature b/test/bdd/api/reverse/geocodejson.feature new file mode 100644 index 00000000..ef2053ae --- /dev/null +++ b/test/bdd/api/reverse/geocodejson.feature @@ -0,0 +1,27 @@ +@APIDB +Feature: Parameters for Reverse API + Testing correctness of geocodejson output. + + Scenario: City housenumber-level address with street + When sending geocodejson reverse coordinates 53.556,9.9607 + Then results contain + | housenumber | street | postcode | city | country | + | 10 | Brunnenhofstraße | 22767 | Hamburg | Deutschland | + + Scenario: Town street-level address with street + When sending geocodejson reverse coordinates 47.066,9.504 + Then results contain + | street | city | postcode | country | + | Gnetsch | Balzers | 9496 | Liechtenstein | + + Scenario: Town street-level address with footway + When sending geocodejson reverse coordinates 47.0653,9.5007 + Then results contain + | street | city | postcode | country | + | Burgweg | Balzers | 9496 | Liechtenstein | + + Scenario: City address with suburb + When sending geocodejson reverse coordinates 53.5822,10.0805 + Then results contain + | housenumber | street | locality | city | postcode | country | + | 64 | Hinschenfelder Straße | Wandsbek | Hamburg | 22047 | Deutschland | diff --git a/test/bdd/api/search/geocodejson.feature b/test/bdd/api/search/geocodejson.feature new file mode 100644 index 00000000..f9132f70 --- /dev/null +++ b/test/bdd/api/search/geocodejson.feature @@ -0,0 +1,27 @@ +@APIDB +Feature: Parameters for Search API + Testing correctness of geocodejson output. + + Scenario: City housenumber-level address with street + When sending geocodejson search query "Brunnenhofstr 10, Hamburg" with address + Then results contain + | housenumber | street | postcode | city | country | + | 10 | Brunnenhofstraße | 22767 | Hamburg | Deutschland | + + Scenario: Town street-level address with street + When sending geocodejson search query "Gnetsch, Balzers" with address + Then results contain + | street | city | postcode | country | + | Gnetsch | Balzers | 9496 | Liechtenstein | + + Scenario: Town street-level address with footway + When sending geocodejson search query "burg gutenberg 6000 jahre geschichte" with address + Then results contain + | street | city | postcode | country | + | Burgweg | Balzers | 9496 | Liechtenstein | + + Scenario: City address with suburb + When sending geocodejson search query "hinschenfelder str 64, wandsbek" with address + Then results contain + | housenumber | street | locality | city | postcode | country | + | 64 | Hinschenfelder Straße | Wandsbek | Hamburg | 22047 | Deutschland | diff --git a/test/bdd/steps/queries.py b/test/bdd/steps/queries.py index 4e6ec1ff..d3b1203b 100644 --- a/test/bdd/steps/queries.py +++ b/test/bdd/steps/queries.py @@ -115,7 +115,9 @@ class SearchResponse(GenericResponse): 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, @@ -203,7 +205,9 @@ class ReverseResponse(GenericResponse): 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) -- 2.39.5