]> git.openstreetmap.org Git - nominatim.git/blob - test/bdd/api/reverse/simple.feature
Merge branch 'geojson-output' of https://github.com/mtmail/Nominatim into mtmail...
[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
52     Examples:
53      | parameter        | value |
54      | polygon          | 1 |
55      | polygon          | 0 |
56      | polygon_text     | 1 |
57      | polygon_text     | 0 |
58      | polygon_kml      | 1 |
59      | polygon_kml      | 0 |
60      | polygon_geojson  | 1 |
61      | polygon_geojson  | 0 |
62      | polygon_svg      | 1 |
63      | polygon_svg      | 0 |
64
65     Scenario Outline: Wrapping of legal jsonp requests
66         When sending <format> reverse coordinates 67.3245,0.456
67         | json_callback |
68         | foo |
69         Then the result is valid <outformat>
70
71     Examples:
72       | format | outformat |
73       | json | json |
74       | jsonv2 | json |
75       | geojson | geojson |
76
77     Scenario Outline: Boundingbox is returned
78         When sending <format> reverse coordinates 14.62,108.1
79           | zoom |
80           | 8 |
81         Then result has bounding box in 9,20,102,113
82
83     Examples:
84       | format |
85       | json |
86       | jsonv2 |
87       | geojson |
88       | xml |
89
90     Scenario Outline: Reverse-geocoding with zoom
91         When sending <format> reverse coordinates 53.603,10.041
92           | zoom |
93           | 10 |
94         Then exactly 1 result is returned
95
96     Examples:
97       | format |
98       | json |
99       | jsonv2 |
100       | geojson |
101       | html |
102       | xml |
103
104     Scenario: Missing lon parameter
105         When sending reverse coordinates 52.52,
106         Then a HTTP 400 is returned
107
108     Scenario: Missing lat parameter
109         When sending reverse coordinates ,52.52
110         Then a HTTP 400 is returned
111
112     Scenario: Missing osm_id parameter
113         When sending reverse coordinates ,
114           | osm_type |
115           | N |
116         Then a HTTP 400 is returned
117
118     Scenario: Missing osm_type parameter
119         When sending reverse coordinates ,
120           | osm_id |
121           | 3498564 |
122         Then a HTTP 400 is returned
123
124     Scenario Outline: Bad format for lat or lon
125         When sending reverse coordinates ,
126           | lat   | lon   |
127           | <lat> | <lon> |
128         Then a HTTP 400 is returned
129
130     Examples:
131      | lat      | lon |
132      | 48.9660  | 8,4482 |
133      | 48,9660  | 8.4482 |
134      | 48,9660  | 8,4482 |
135      | 48.966.0 | 8.4482 |
136      | 48.966   | 8.448.2 |
137      | Nan      | 8.448 |
138      | 48.966   | Nan |