]> git.openstreetmap.org Git - nominatim.git/blob - test/bdd/api/reverse/v1_geocodejson.feature
bdd tests: get rid of dependency on build path
[nominatim.git] / test / bdd / api / reverse / v1_geocodejson.feature
1 @SQLITE
2 @APIDB
3 Feature: Geocodejson for Reverse API
4     Testing correctness of geocodejson output (API version v1).
5
6     Scenario Outline: Simple OSM result
7         When sending v1/reverse at 47.066,9.504 with format geocodejson
8           | addressdetails |
9           | <has_address>  |
10         Then result has attributes place_id, accuracy
11         And result has <attributes> country,postcode,county,city,district,street,housenumber, admin
12         Then results contain
13           | osm_type | osm_id     | osm_key | osm_value | type  |
14           | node     | 6522627624 | shop    | bakery    | house |
15         And results contain
16           | name                  | label |
17           | Dorfbäckerei Herrmann | Dorfbäckerei Herrmann, 29, Gnetsch, Mäls, Balzers, Oberland, 9496, Liechtenstein |
18         And results contain in field geojson
19           | type  | coordinates             |
20           | Point | [9.5036065, 47.0660892] |
21         And results contain in field __geocoding
22           | version | licence | attribution |
23           | 0.1.0   | ODbL    | ^Data © OpenStreetMap contributors, ODbL 1.0. https?://osm.org/copyright$ |
24
25         Examples:
26           | has_address | attributes     |
27           | 1           | attributes     |
28           | 0           | not attributes |
29
30
31     Scenario: City housenumber-level address with street
32         When sending v1/reverse at 47.1068011,9.52810091 with format geocodejson
33         Then results contain
34           | housenumber | street    | postcode | city    | country |
35           | 8           | Im Winkel | 9495     | Triesen | Liechtenstein |
36          And results contain in field admin
37           | level6   | level8  |
38           | Oberland | Triesen |
39
40
41     Scenario: Town street-level address with street
42         When sending v1/reverse at 47.066,9.504 with format geocodejson
43           | zoom |
44           | 16 |
45         Then results contain
46           | name    | city    | postcode | country |
47           | Gnetsch | Balzers | 9496     | Liechtenstein |
48
49
50     Scenario: Poi street-level address with footway
51         When sending v1/reverse at 47.06515,9.50083 with format geocodejson
52         Then results contain
53           | street  | city    | postcode | country |
54           | Burgweg | Balzers | 9496     | Liechtenstein |
55
56
57     Scenario: City address with suburb
58         When sending v1/reverse at 47.146861,9.511771 with format geocodejson
59         Then results contain
60           | housenumber | street   | district | city  | postcode | country |
61           | 5           | Lochgass | Ebenholz | Vaduz | 9490     | Liechtenstein |
62
63
64     @Tiger
65     Scenario: Tiger address
66         When sending v1/reverse at 32.4752389363,-86.4810198619 with format geocodejson
67         Then results contain
68          | osm_type | osm_id    | osm_key | osm_value | type  |
69          | way      | 396009653 | place   | house     | house |
70         And results contain
71          | housenumber | street              | city       | county         | postcode | country       |
72          | 707         | Upper Kingston Road | Prattville | Autauga County | 36067    | United States |
73
74
75     Scenario: Interpolation address
76         When sending v1/reverse at 47.118533,9.57056562 with format geocodejson
77         Then results contain
78           | osm_type | osm_id | osm_key | osm_value | type  |
79           | way      | 1      | place   | house     | house |
80         And results contain
81           | label |
82           | 1019, Grosssteg, Sücka, Triesenberg, Oberland, 9497, Liechtenstein |
83         And result has not attributes name
84
85
86     Scenario: Line geometry output is supported
87         When sending v1/reverse at 47.06597,9.50467 with format geocodejson
88           | param           | value |
89           | polygon_geojson | 1     |
90         Then results contain in field geojson
91           | type       |
92           | LineString |
93
94
95     Scenario Outline: Only geojson polygons are supported
96         When sending v1/reverse at 47.06597,9.50467 with format geocodejson
97           | param   | value |
98           | <param> | 1     |
99         Then results contain in field geojson
100           | type  |
101           | Point |
102
103         Examples:
104           | param |
105           | polygon_text |
106           | polygon_svg  |
107           | polygon_kml  |