]> git.openstreetmap.org Git - nominatim.git/commitdiff
more API tests (mostly for user errors)
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 19 Sep 2017 21:06:31 +0000 (23:06 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Tue, 19 Sep 2017 21:06:31 +0000 (23:06 +0200)
test/bdd/api/reverse/params.feature
test/bdd/api/search/params.feature
test/bdd/api/search/postcode.feature [new file with mode: 0644]
test/bdd/steps/queries.py

index 765c91c39d3dd5d1885bc0a1071d99ffe74e8b7d..1de31c9d5fbd12b5c97aff9997be4862da27d62c 100644 (file)
@@ -15,6 +15,15 @@ Feature: Parameters for Reverse API
       | jsonv2 |
       | xml |
 
+    Scenario Outline: Coordinates must be floating-point numbers
+        When sending reverse coordinates <coords>
+        Then a HTTP 400 is returned
+
+    Examples:
+      | coords    |
+      | -45.3,;   |
+      | gkjd,50   |
+
     Scenario Outline: Reverse Geocoding with extratags
         When sending <format> reverse coordinates 10.776234290950017,106.70425325632095
           | extratags |
index d84235920b4bdb82a0769434bb39adfaa3bc2fec..b184fd860939b2aad32899c9301f54ede88aacc7 100644 (file)
@@ -19,6 +19,12 @@ Feature: Search queries
         And result 0 has not attributes address
         And result 0 has bounding box in 46.5,47.5,9,10
 
+    Scenario: Unknown formats returns a user error
+        When sending search query "Vaduz"
+          | format |
+          | x45    |
+        Then a HTTP 400 is returned
+
     Scenario: JSON search with addressdetails
         When sending json search query "Montevideo" with address
         Then address of result 0 is
@@ -165,6 +171,12 @@ Feature: Search queries
           | 4 |
         Then exactly 4 results are returned
 
+    Scenario: Limit parameter must be a number
+        When sending search query "Blue Laguna"
+          | limit |
+          | );    |
+        Then a HTTP 400 is returned
+
     Scenario: Restrict to feature type country
         When sending xml search query "Uruguay"
         Then results contain
diff --git a/test/bdd/api/search/postcode.feature b/test/bdd/api/search/postcode.feature
new file mode 100644 (file)
index 0000000..f92aff3
--- /dev/null
@@ -0,0 +1,20 @@
+@APIDB
+Feature: Searches with postcodes
+    Various searches involving postcodes
+
+    Scenario: US 5+4 ZIP codes are shortened to 5 ZIP codes if not found
+        When sending json search query "57701 1111, us" with address
+        Then result addresses contain
+            | postcode |
+            | 57701    |
+
+    Scenario: Postcode search with address
+        When sending json search query "9486, mauren"
+        Then at least 1 result is returned
+
+    Scenario: Postcode search with country
+        When sending json search query "9486, li" with address
+        Then result addresses contain
+            | country_code |
+            | li           |
+
index 443342b0d1b86f79d634f42c1daaf01972f8c281..963aad4dffcdca526cef9bc7e1ed1a5496ef5d00 100644 (file)
@@ -349,7 +349,7 @@ def website_search_request(context, fmt, query, addr):
 
     context.response = SearchResponse(outp, outfmt, status)
 
-@when(u'sending (?P<fmt>\S+ )?reverse coordinates (?P<lat>[0-9.-]+)?,(?P<lon>[0-9.-]+)?')
+@when(u'sending (?P<fmt>\S+ )?reverse coordinates (?P<lat>.+)?,(?P<lon>.+)?')
 def website_reverse_request(context, fmt, lat, lon):
     params = {}
     if lat is not None: