]> git.openstreetmap.org Git - nominatim.git/blob - test/bdd/api/reverse/simple.feature
improve test coverage for reverse and debug output
[nominatim.git] / test / bdd / api / reverse / simple.feature
1 @APIDB
2 Feature: Simple Reverse Tests
3     Simple tests for internal server errors and response format.
4
5     Scenario Outline: Simple reverse-geocoding
6         When sending reverse coordinates <lat>,<lon>
7         Then the result is valid xml
8         When sending xml reverse coordinates <lat>,<lon>
9         Then the result is valid xml
10         When sending json reverse coordinates <lat>,<lon>
11         Then the result is valid json
12         When sending jsonv2 reverse coordinates <lat>,<lon>
13         Then the result is valid json
14         When sending geojson reverse coordinates <lat>,<lon>
15         Then the result is valid geojson
16         When sending html reverse coordinates <lat>,<lon>
17         Then the result is valid html
18
19     Examples:
20      | lat      | lon |
21      | 0.0      | 0.0 |
22      | -34.830  | -56.105 |
23      | 45.174   | -103.072 |
24      | 21.156   | -12.2744 |
25
26     Scenario Outline: Testing different parameters
27         When sending reverse coordinates 53.603,10.041
28           | param       | value   |
29           | <parameter> | <value> |
30         Then the result is valid xml
31         When sending html reverse coordinates 53.603,10.041
32           | param       | value   |
33           | <parameter> | <value> |
34         Then the result is valid html
35         When sending xml reverse coordinates 53.603,10.041
36           | param       | value   |
37           | <parameter> | <value> |
38         Then the result is valid xml
39         When sending json reverse coordinates 53.603,10.041
40           | param       | value   |
41           | <parameter> | <value> |
42         Then the result is valid json
43         When sending jsonv2 reverse coordinates 53.603,10.041
44           | param       | value   |
45           | <parameter> | <value> |
46         Then the result is valid json
47         When sending geojson reverse coordinates 53.603,10.041
48           | param       | value   |
49           | <parameter> | <value> |
50         Then the result is valid geojson
51         When sending geocodejson reverse coordinates 53.603,10.041
52           | param       | value   |
53           | <parameter> | <value> |
54         Then the result is valid geocodejson
55
56     Examples:
57      | parameter        | value |
58      | polygon          | 1 |
59      | polygon          | 0 |
60      | polygon_text     | 1 |
61      | polygon_text     | 0 |
62      | polygon_kml      | 1 |
63      | polygon_kml      | 0 |
64      | polygon_geojson  | 1 |
65      | polygon_geojson  | 0 |
66      | polygon_svg      | 1 |
67      | polygon_svg      | 0 |
68
69     Scenario Outline: Wrapping of legal jsonp requests
70         When sending <format> reverse coordinates 67.3245,0.456
71         | json_callback |
72         | foo |
73         Then the result is valid <outformat>
74
75     Examples:
76       | format | outformat |
77       | json | json |
78       | jsonv2 | json |
79       | geojson | geojson |
80
81     Scenario Outline: Boundingbox is returned
82         When sending <format> reverse coordinates 14.62,108.1
83           | zoom |
84           | 8 |
85         Then result has bounding box in 9,20,102,113
86
87     Examples:
88       | format |
89       | json |
90       | jsonv2 |
91       | geojson |
92       | xml |
93
94     Scenario Outline: Reverse-geocoding with zoom
95         When sending <format> reverse coordinates 53.603,10.041
96           | zoom |
97           | 10 |
98         Then exactly 1 result is returned
99
100     Examples:
101       | format |
102       | json |
103       | jsonv2 |
104       | geojson |
105       | html |
106       | xml |
107
108     Scenario: Missing lon parameter
109         When sending reverse coordinates 52.52,
110         Then a HTTP 400 is returned
111
112     Scenario: Missing lat parameter
113         When sending reverse coordinates ,52.52
114         Then a HTTP 400 is returned
115
116     Scenario: Missing osm_id parameter
117         When sending reverse coordinates ,
118           | osm_type |
119           | N |
120         Then a HTTP 400 is returned
121
122     Scenario: Missing osm_type parameter
123         When sending reverse coordinates ,
124           | osm_id |
125           | 3498564 |
126         Then a HTTP 400 is returned
127
128     Scenario Outline: Bad format for lat or lon
129         When sending reverse coordinates ,
130           | lat   | lon   |
131           | <lat> | <lon> |
132         Then a HTTP 400 is returned
133
134     Examples:
135      | lat      | lon |
136      | 48.9660  | 8,4482 |
137      | 48,9660  | 8.4482 |
138      | 48,9660  | 8,4482 |
139      | 48.966.0 | 8.4482 |
140      | 48.966   | 8.448.2 |
141      | Nan      | 8.448 |
142      | 48.966   | Nan |