]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/api/search/simple.feature
Merge pull request #3273 from lonvia/search-with-sqlite
[nominatim.git] / test / bdd / api / search / simple.feature
index 4d77eac46fe44c491cfc6755eebeb1274ca27e9c..121271cdf1abd3eb04be9b9715c70de7715a15bb 100644 (file)
@@ -1,54 +1,50 @@
+@SQLITE
 @APIDB
 Feature: Simple Tests
     Simple tests for internal server errors and response format.
 
     Scenario Outline: Testing different parameters
-        When sending search query "Hamburg"
+        When sending search query "Vaduz"
           | param       | value   |
           | <parameter> | <value> |
         Then at least 1 result is returned
-        When sending html search query "Hamburg"
+        When sending xml search query "Vaduz"
           | param       | value   |
           | <parameter> | <value> |
         Then at least 1 result is returned
-        When sending xml search query "Hamburg"
+        When sending json search query "Vaduz"
           | param       | value   |
           | <parameter> | <value> |
         Then at least 1 result is returned
-        When sending json search query "Hamburg"
+        When sending jsonv2 search query "Vaduz"
           | param       | value   |
           | <parameter> | <value> |
         Then at least 1 result is returned
-        When sending jsonv2 search query "Hamburg"
+        When sending geojson search query "Vaduz"
+          | param       | value   |
+          | <parameter> | <value> |
+        Then at least 1 result is returned
+        When sending geocodejson search query "Vaduz"
           | param       | value   |
           | <parameter> | <value> |
         Then at least 1 result is returned
 
     Examples:
      | parameter        | value |
-     | addressdetails   | 1 |
      | addressdetails   | 0 |
-     | polygon          | 1 |
-     | polygon          | 0 |
-     | polygon_text     | 1 |
      | polygon_text     | 0 |
-     | polygon_kml      | 1 |
      | polygon_kml      | 0 |
-     | polygon_geojson  | 1 |
      | polygon_geojson  | 0 |
-     | polygon_svg      | 1 |
      | polygon_svg      | 0 |
      | accept-language  | de,en |
-     | countrycodes     | de |
+     | countrycodes     | li |
      | bounded          | 1 |
      | bounded          | 0 |
      | exclude_place_ids| 385252,1234515 |
      | limit            | 1000 |
      | dedupe           | 1 |
      | dedupe           | 0 |
-     | extratags        | 1 |
      | extratags        | 0 |
-     | namedetails      | 1 |
      | namedetails      | 0 |
 
     Scenario: Search with invalid output format
@@ -59,15 +55,15 @@ Feature: Simple Tests
 
     Scenario Outline: Simple Searches
         When sending search query "<query>"
-        Then the result is valid html
-        When sending html search query "<query>"
-        Then the result is valid html
+        Then the result is valid json
         When sending xml search query "<query>"
         Then the result is valid xml
         When sending json search query "<query>"
         Then the result is valid json
         When sending jsonv2 search query "<query>"
         Then the result is valid json
+        When sending geojson search query "<query>"
+        Then the result is valid geojson
 
     Examples:
      | query |
@@ -88,26 +84,23 @@ Feature: Simple Tests
         Then result header contains
           | attr        | value |
           | querystring | xnznxvcx |
-          | polygon     | false |
-          | more_url    | .*format=xml.*q=xnznxvcx.* |
+          | more_url    | .*q=xnznxvcx.*format=xml |
 
     Scenario: Empty XML search with special XML characters
         When sending xml search query "xfdghn&zxn"xvbyx<vxx>cssdex"
         Then result header contains
           | attr        | value |
           | querystring | xfdghn&zxn"xvbyx<vxx>cssdex |
-          | polygon     | false |
-          | more_url    | .*format=xml.*q=xfdghn%26zxn%22xvbyx%3Cvxx%3Ecssdex.* |
+          | more_url    | .*q=xfdghn%26zxn%22xvbyx%3Cvxx%3Ecssdex.*format=xml |
 
     Scenario: Empty XML search with viewbox
         When sending xml search query "xnznxvcx"
           | viewbox |
-          | 12,45.13,77,33 |
+          | 12,33,77,45.13 |
         Then result header contains
           | attr        | value |
           | querystring | xnznxvcx |
-          | polygon     | false |
-          | viewbox     | 12,45.13,77,33 |
+          | viewbox     | 12,33,77,45.13 |
 
     Scenario: Empty XML search with viewboxlbrt
         When sending xml search query "xnznxvcx"
@@ -116,38 +109,16 @@ Feature: Simple Tests
         Then result header contains
           | attr        | value |
           | querystring | xnznxvcx |
-          | polygon     | false |
-          | viewbox     | 12,45,77,34.13 |
+          | viewbox     | 12,34.13,77,45 |
 
     Scenario: Empty XML search with viewboxlbrt and viewbox
         When sending xml search query "pub"
           | viewbox        | viewboxblrt |
-          | 12,45.13,77,33 | 1,2,3,4 |
+          | 12,33,77,45.13 | 1,2,3,4 |
         Then result header contains
           | attr        | value |
           | querystring | pub |
-          | polygon     | false |
-          | viewbox     | 12,45.13,77,33 |
-
-    Scenario Outline: Empty XML search with polygon values
-        When sending xml search query "xnznxvcx"
-          | param   | value |
-          | polygon | <polyval> |
-        Then result header contains
-          | attr        | value |
-          | polygon     | <result> |
-
-    Examples:
-     | result | polyval |
-     | false  | 0 |
-     | true   | 1 |
-     | true   | True |
-     | true   | true |
-     | true   | false |
-     | true   | FALSE |
-     | true   | yes |
-     | true   | no |
-     | true   | '; delete from foobar; select ' |
+          | viewbox     | 12,33,77,45.13 |
 
     Scenario: Empty XML search with exluded place ids
         When sending xml search query "jghrleoxsbwjer"
@@ -176,15 +147,12 @@ Feature: Simple Tests
      | foo     | foo |
      | FOO     | FOO |
      | __world | __world |
-     | $me     | \$me |
-     | m1[4]   | m1\[4\] |
-     | d_r[$d] | d_r\[\$d\] |
 
     Scenario Outline: Wrapping of illegal jsonp search requests
         When sending json search query "Tokyo"
             | param        | value |
             |json_callback | <data> |
-        Then a HTTP 400 is returned
+        Then a json user error is returned
 
     Examples:
       | data |
@@ -202,20 +170,39 @@ Feature: Simple Tests
           | json_callback |
           | 234 |
         Then the result is valid xml
-        When sending html search query "Malibu"
-          | json_callback |
-          | 234 |
-        Then the result is valid html
 
-    Scenario: Empty JSON search
-        When sending json search query "YHlERzzx"
+    Scenario Outline: Empty search
+        When sending <format> search query "YHlERzzx"
         Then exactly 0 results are returned
 
-    Scenario: Empty JSONv2 search
-        When sending jsonv2 search query "Flubb XdfESSaZx"
-        Then exactly 0 results are returned
+    Examples:
+        | format |
+        | json |
+        | jsonv2 |
+        | geojson |
+        | geocodejson |
 
     Scenario: Search for non-existing coordinates
         When sending json search query "-21.0,-33.0"
         Then exactly 0 results are returned
 
+    Scenario: Country code selection is retained in more URL (#596)
+        When sending xml search query "Vaduz"
+          | countrycodes |
+          | pl,1,,invalid,undefined,%3Cb%3E,bo,, |
+        Then result header contains
+          | attr     | value |
+          | more_url | .*&countrycodes=pl%2Cbo&.* |
+
+    Scenario Outline: Search debug output does not return errors
+        When sending debug search query "<query>"
+        Then a HTTP 200 is returned
+
+    Examples:
+        | query |
+        | Liechtenstein |
+        | Triesen |
+        | Pfarrkirche |
+        | Landstr 27 Steinort, Triesenberg, 9495 |
+        | 9497 |
+        | restaurant in triesen |