]> git.openstreetmap.org Git - nominatim.git/blob - test/bdd/api/reverse/simple.feature
Merge remote-tracking branch 'upstream/master'
[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 html reverse coordinates <lat>,<lon>
15         Then the result is valid html
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 html reverse coordinates 53.603,10.041
30           | param       | value   |
31           | <parameter> | <value> |
32         Then the result is valid html
33         When sending xml reverse coordinates 53.603,10.041
34           | param       | value   |
35           | <parameter> | <value> |
36         Then the result is valid xml
37         When sending json reverse coordinates 53.603,10.041
38           | param       | value   |
39           | <parameter> | <value> |
40         Then the result is valid json
41         When sending jsonv2 reverse coordinates 53.603,10.041
42           | param       | value   |
43           | <parameter> | <value> |
44         Then the result is valid json
45
46     Examples:
47      | parameter        | value |
48      | polygon          | 1 |
49      | polygon          | 0 |
50      | polygon_text     | 1 |
51      | polygon_text     | 0 |
52      | polygon_kml      | 1 |
53      | polygon_kml      | 0 |
54      | polygon_geojson  | 1 |
55      | polygon_geojson  | 0 |
56      | polygon_svg      | 1 |
57      | polygon_svg      | 0 |
58
59     Scenario Outline: Wrapping of legal jsonp requests
60         When sending <format> reverse coordinates 67.3245,0.456
61         | json_callback |
62         | foo |
63         Then the result is valid json
64
65     Examples:
66       | format |
67       | json |
68       | jsonv2 |
69
70     @wip
71     Scenario Outline: Boundingbox is returned
72         When sending <format> reverse coordinates 14.62,108.1
73           | zoom |
74           | 4 |
75         Then result has bounding box in 9,20,102,113
76
77     Examples:
78       | format |
79       | json |
80       | jsonv2 |
81       | xml |
82
83     Scenario Outline: Reverse-geocoding with zoom
84         When sending <format> reverse coordinates 53.603,10.041
85           | zoom |
86           | 10 |
87         Then exactly 1 result is returned
88
89     Examples:
90       | format |
91       | json |
92       | jsonv2 |
93       | html |
94       | xml |
95
96     Scenario: Missing lon parameter
97         When sending reverse coordinates 52.52,
98         Then a HTTP 400 is returned
99
100     Scenario: Missing lat parameter
101         When sending reverse coordinates ,52.52
102         Then a HTTP 400 is returned
103
104     Scenario: Missing osm_id parameter
105         When sending reverse coordinates ,
106           | osm_type |
107           | N |
108         Then a HTTP 400 is returned
109
110     Scenario: Missing osm_type parameter
111         When sending reverse coordinates ,
112           | osm_id |
113           | 3498564 |
114         Then a HTTP 400 is returned
115
116     Scenario Outline: Bad format for lat or lon
117         When sending reverse coordinates ,
118           | lat   | lon   |
119           | <lat> | <lon> |
120         Then a HTTP 400 is returned
121
122     Examples:
123      | lat      | lon |
124      | 48.9660  | 8,4482 |
125      | 48,9660  | 8.4482 |
126      | 48,9660  | 8,4482 |
127      | 48.966.0 | 8.4482 |
128      | 48.966   | 8.448.2 |
129      | Nan      | 8.448 |
130      | 48.966   | Nan |