From 81a7ea36db7d3b055acf25a36d2ea2c27af74765 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Tue, 19 Sep 2017 23:06:31 +0200 Subject: [PATCH] more API tests (mostly for user errors) --- test/bdd/api/reverse/params.feature | 9 +++++++++ test/bdd/api/search/params.feature | 12 ++++++++++++ test/bdd/api/search/postcode.feature | 20 ++++++++++++++++++++ test/bdd/steps/queries.py | 2 +- 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 test/bdd/api/search/postcode.feature diff --git a/test/bdd/api/reverse/params.feature b/test/bdd/api/reverse/params.feature index 765c91c3..1de31c9d 100644 --- a/test/bdd/api/reverse/params.feature +++ b/test/bdd/api/reverse/params.feature @@ -15,6 +15,15 @@ Feature: Parameters for Reverse API | jsonv2 | | xml | + Scenario Outline: Coordinates must be floating-point numbers + When sending reverse coordinates + Then a HTTP 400 is returned + + Examples: + | coords | + | -45.3,; | + | gkjd,50 | + Scenario Outline: Reverse Geocoding with extratags When sending reverse coordinates 10.776234290950017,106.70425325632095 | extratags | diff --git a/test/bdd/api/search/params.feature b/test/bdd/api/search/params.feature index d8423592..b184fd86 100644 --- a/test/bdd/api/search/params.feature +++ b/test/bdd/api/search/params.feature @@ -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 index 00000000..f92aff3c --- /dev/null +++ b/test/bdd/api/search/postcode.feature @@ -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 | + diff --git a/test/bdd/steps/queries.py b/test/bdd/steps/queries.py index 443342b0..963aad4d 100644 --- a/test/bdd/steps/queries.py +++ b/test/bdd/steps/queries.py @@ -349,7 +349,7 @@ def website_search_request(context, fmt, query, addr): context.response = SearchResponse(outp, outfmt, status) -@when(u'sending (?P\S+ )?reverse coordinates (?P[0-9.-]+)?,(?P[0-9.-]+)?') +@when(u'sending (?P\S+ )?reverse coordinates (?P.+)?,(?P.+)?') def website_reverse_request(context, fmt, lat, lon): params = {} if lat is not None: -- 2.39.5