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