]> git.openstreetmap.org Git - nominatim.git/blob - test/bdd/api/reverse/simple.feature
Merge branch 'better-reverse' of https://github.com/gemo1011/Nominatim into gemo1011...
[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     Scenario Outline: Boundingbox is returned
71         When sending <format> reverse coordinates 14.62,108.1
72           | zoom |
73           | 8 |
74         Then result has bounding box in 9,20,102,113
75
76     Examples:
77       | format |
78       | json |
79       | jsonv2 |
80       | xml |
81
82     Scenario Outline: Reverse-geocoding with zoom
83         When sending <format> reverse coordinates 53.603,10.041
84           | zoom |
85           | 10 |
86         Then exactly 1 result is returned
87
88     Examples:
89       | format |
90       | json |
91       | jsonv2 |
92       | html |
93       | xml |
94
95     Scenario: Missing lon parameter
96         When sending reverse coordinates 52.52,
97         Then a HTTP 400 is returned
98
99     Scenario: Missing lat parameter
100         When sending reverse coordinates ,52.52
101         Then a HTTP 400 is returned
102
103     Scenario: Missing osm_id parameter
104         When sending reverse coordinates ,
105           | osm_type |
106           | N |
107         Then a HTTP 400 is returned
108
109     Scenario: Missing osm_type parameter
110         When sending reverse coordinates ,
111           | osm_id |
112           | 3498564 |
113         Then a HTTP 400 is returned
114
115     Scenario Outline: Bad format for lat or lon
116         When sending reverse coordinates ,
117           | lat   | lon   |
118           | <lat> | <lon> |
119         Then a HTTP 400 is returned
120
121     Examples:
122      | lat      | lon |
123      | 48.9660  | 8,4482 |
124      | 48,9660  | 8.4482 |
125      | 48,9660  | 8,4482 |
126      | 48.966.0 | 8.4482 |
127      | 48.966   | 8.448.2 |
128      | Nan      | 8.448 |
129      | 48.966   | Nan |