2 Simple tests for internal server errors and response format.
3 These tests should pass on any Nominatim installation.
5 Scenario Outline: Testing different parameters
6 Given the request parameters
9 When sending search query "Manchester"
10 Then the result is valid html
11 Given the request parameters
14 When sending html search query "Manchester"
15 Then the result is valid html
16 Given the request parameters
19 When sending xml search query "Manchester"
20 Then the result is valid xml
21 Given the request parameters
24 When sending json search query "Manchester"
25 Then the result is valid json
26 Given the request parameters
29 When sending jsonv2 search query "Manchester"
30 Then the result is valid json
46 | accept-language | de,en
47 | countrycodes | uk,ir
50 | exclude_place_ids| 385252,1234515
55 Scenario: Search with invalid output format
56 Given the request parameters
59 When sending search query "Berlin"
60 Then the result is valid html
62 Scenario Outline: Simple Searches
63 When sending search query "<query>"
64 Then the result is valid html
65 When sending html search query "<query>"
66 Then the result is valid html
67 When sending xml search query "<query>"
68 Then the result is valid xml
69 When sending json search query "<query>"
70 Then the result is valid json
71 When sending jsonv2 search query "<query>"
72 Then the result is valid json
78 | 12, Main Street, Houston
88 Scenario: Empty XML search
89 When sending xml search query "xnznxvcx"
90 Then result header contains
92 | querystring | xnznxvcx
94 | more_url | .*format=xml.*q=xnznxvcx.*
96 Scenario: Empty XML search with special XML characters
97 When sending xml search query "xfdghn&zxn"xvbyx<vxx>cssdex"
98 Then result header contains
100 | querystring | xfdghn&zxn"xvbyx<vxx>cssdex
102 | more_url | .*format=xml.*q=xfdghn&zxn"xvbyx<vxx>cssdex.*
104 Scenario: Empty XML search with viewbox
105 Given the request parameters
108 When sending xml search query "xnznxvcx"
109 Then result header contains
111 | querystring | xnznxvcx
113 | viewbox | 12,45.13,77,33
115 Scenario: Empty XML search with viewboxlbrt
116 Given the request parameters
119 When sending xml search query "xnznxvcx"
120 Then result header contains
122 | querystring | xnznxvcx
124 | viewbox | 12,45.13,77,33
126 Scenario: Empty XML search with viewboxlbrt and viewbox
127 Given the request parameters
128 | viewbox | viewboxblrt
129 | 12,45.13,77,33 | 1,2,3,4
130 When sending xml search query "pub"
131 Then result header contains
135 | viewbox | 12,45.13,77,33
138 Scenario Outline: Empty XML search with polygon values
139 Given the request parameters
142 When sending xml search query "xnznxvcx"
143 Then result header contains
157 | true | '; delete from foobar; select '
160 Scenario: Empty XML search with exluded place ids
161 Given the request parameters
164 When sending xml search query "jghrleoxsbwjer"
165 Then result header contains
167 | exclude_place_ids | 123,76,342565
169 Scenario: Empty XML search with bad exluded place ids
170 Given the request parameters
173 When sending xml search query "jghrleoxsbwjer"
174 Then result header has no attribute exclude_place_ids
176 Scenario Outline: Wrapping of legal jsonp search requests
177 Given the request parameters
180 When sending json search query "Tokyo"
181 Then there is a json wrapper "<data>"
192 Scenario Outline: Wrapping of illegal jsonp search requests
193 Given the request parameters
196 When sending json search query "Tokyo"
197 Then a HTTP 400 is returned
206 Scenario Outline: Ignore jsonp parameter for anything but json
207 Given the request parameters
210 When sending json search query "Malibu"
211 Then a HTTP 400 is returned
212 Given the request parameters
215 When sending xml search query "Malibu"
216 Then the result is valid xml
217 Given the request parameters
220 When sending html search query "Malibu"
221 Then the result is valid html
223 Scenario: Empty JSON search
224 When sending json search query "YHlERzzx"
225 Then exactly 0 results are returned
227 Scenario: Empty JSONv2 search
228 When sending jsonv2 search query "Flubb XdfESSaZx"
229 Then exactly 0 results are returned
231 Scenario: Search for non-existing coordinates
232 When sending json search query "-21.0,-33.0"
233 Then exactly 0 results are returned