bdd: convert API tests to smaller test db

Changes BDD API tests to restrict themselves to
Liechtenstein. One test moved to DB as no appropriate
data is available.
This commit is contained in:
Sarah Hoffmann
2021-01-09 16:59:46 +01:00
parent 74122dc965
commit 5d656891ba
17 changed files with 262 additions and 265 deletions

View File

@@ -3,20 +3,20 @@ Feature: Object details
Testing different parameter options for details API. Testing different parameter options for details API.
Scenario: JSON Details Scenario: JSON Details
When sending json details query for W78099902 When sending json details query for W297699560
Then the result is valid json Then the result is valid json
And result has attributes geometry And result has attributes geometry
And result has not attributes keywords,address,linked_places,parentof And result has not attributes keywords,address,linked_places,parentof
Scenario: JSON Details with keywords Scenario: JSON Details with keywords
When sending json details query for W78099902 When sending json details query for W297699560
| keywords | | keywords |
| 1 | | 1 |
Then the result is valid json Then the result is valid json
And result has attributes keywords And result has attributes keywords
Scenario: JSON Details with addressdetails Scenario: JSON Details with addressdetails
When sending json details query for W78099902 When sending json details query for W297699560
| addressdetails | | addressdetails |
| 1 | | 1 |
Then the result is valid json Then the result is valid json
@@ -30,7 +30,7 @@ Feature: Object details
And result has attributes linked_places And result has attributes linked_places
Scenario: JSON Details with hierarchy Scenario: JSON Details with hierarchy
When sending json details query for W78099902 When sending json details query for W297699560
| hierarchy | | hierarchy |
| 1 | | 1 |
Then the result is valid json Then the result is valid json
@@ -50,7 +50,8 @@ Feature: Object details
Examples: Examples:
| osmid | | osmid |
| W78099902 | | W297699560 |
| N3121929846 | | W243055645 |
| W243055716 |

View File

@@ -8,9 +8,9 @@ Feature: Object details
Examples: Examples:
| format | object | | format | object |
| json | 492887 | | json | 107077 |
| json | N4267356889 | | json | N5484325405 |
| json | W230804120 | | json | W43327921 |
| json | R123924 | | json | R123924 |
Scenario Outline: Details via unknown OSM id Scenario Outline: Details via unknown OSM id
@@ -23,14 +23,14 @@ Feature: Object details
| json | R1 | | json | R1 |
Scenario: Details with keywords Scenario: Details with keywords
When sending details query for W78099902 When sending details query for W43327921
| keywords | | keywords |
| 1 | | 1 |
Then the result is valid json Then the result is valid json
# ticket #1343 # ticket #1343
Scenario: Details of a country with keywords Scenario: Details of a country with keywords
When sending details query for R287072 When sending details query for R1155955
| keywords | | keywords |
| 1 | | 1 |
Then the result is valid json Then the result is valid json

View File

@@ -3,7 +3,7 @@ Feature: Places by osm_type and osm_id Tests
Simple tests for response format. Simple tests for response format.
Scenario Outline: address lookup for existing node, way, relation Scenario Outline: address lookup for existing node, way, relation
When sending <format> lookup query for N3284625766,W6065798,,R123924,X99,N0 When sending <format> lookup query for N5484325405,W43327921,,R123924,X99,N0
Then the result is valid <outformat> Then the result is valid <outformat>
And exactly 3 results are returned And exactly 3 results are returned
@@ -20,10 +20,10 @@ Feature: Places by osm_type and osm_id Tests
Then exactly 0 results are returned Then exactly 0 results are returned
Scenario Outline: Boundingbox is returned Scenario Outline: Boundingbox is returned
When sending <format> lookup query for N3284625766,W6065798 When sending <format> lookup query for N5484325405,W43327921
Then exactly 2 results are returned Then exactly 2 results are returned
And result 0 has bounding box in -32.812,-32.811,-56.509,-56.508 And result 0 has bounding box in 47.135,47.14,9.52,9.525
And result 1 has bounding box in 47.14,47.15,9.51,9.53 And result 1 has bounding box in 47.07,47.08,9.50,9.52
Examples: Examples:
| format | | format |

View File

@@ -1,10 +0,0 @@
@APIDB
Feature: Reverse addressdetails
Tests for addressdetails in reverse queries
#github #1763
Scenario: Correct translation of highways under construction
When sending jsonv2 reverse coordinates -34.0290514,-53.5832235
Then result addresses contain
| road |
| Ruta 9 Coronel Leonardo Olivera |

View File

@@ -3,13 +3,15 @@ Feature: Parameters for Reverse API
Testing correctness of geocodejson output. Testing correctness of geocodejson output.
Scenario: City housenumber-level address with street Scenario: City housenumber-level address with street
When sending geocodejson reverse coordinates 53.556,9.9607 When sending geocodejson reverse coordinates 47.1068011,9.52810091
Then results contain Then results contain
| housenumber | street | postcode | city | country | | housenumber | street | postcode | city | country |
| 10 | Brunnenhofstraße | 22767 | Hamburg | Deutschland | | 8 | Im Winkel | 9495 | Triesen | Liechtenstein |
Scenario: Town street-level address with street Scenario: Town street-level address with street
When sending geocodejson reverse coordinates 47.066,9.504 When sending geocodejson reverse coordinates 47.066,9.504
| zoom |
| 16 |
Then results contain Then results contain
| name | city | postcode | country | | name | city | postcode | country |
| Gnetsch | Balzers | 9496 | Liechtenstein | | Gnetsch | Balzers | 9496 | Liechtenstein |
@@ -21,7 +23,7 @@ Feature: Parameters for Reverse API
| Burgweg | Balzers | 9496 | Liechtenstein | | Burgweg | Balzers | 9496 | Liechtenstein |
Scenario: City address with suburb Scenario: City address with suburb
When sending geocodejson reverse coordinates 53.5822,10.0805 When sending geocodejson reverse coordinates 47.146861,9.511771
Then results contain Then results contain
| housenumber | street | district | city | postcode | country | | housenumber | street | district | city | postcode | country |
| 64 | Hinschenfelder Straße | Wandsbek | Hamburg | 22047 | Deutschland | | 5 | Lochgass | Ebenholz | Vaduz | 9490 | Liechtenstein |

View File

@@ -2,35 +2,35 @@
Feature: Localization of reverse search results Feature: Localization of reverse search results
Scenario: default language Scenario: default language
When sending json reverse coordinates 18.1147,-15.95 When sending json reverse coordinates 47.14,9.55
Then result addresses contain Then result addresses contain
| ID | country | | ID | country |
| 0 | موريتانيا | | 0 | Liechtenstein |
Scenario: accept-language parameter Scenario: accept-language parameter
When sending json reverse coordinates 18.1147,-15.95 When sending json reverse coordinates 47.14,9.55
| accept-language | | accept-language |
| en,fr | | ja,en |
Then result addresses contain Then result addresses contain
| ID | country | | ID | country |
| 0 | Mauritania | | 0 | |
Scenario: HTTP accept language header Scenario: HTTP accept language header
Given the HTTP header Given the HTTP header
| accept-language | | accept-language |
| fr-ca,fr;q=0.8,en-ca;q=0.5,en;q=0.3 | | fo-ca,fo;q=0.8,en-ca;q=0.5,en;q=0.3 |
When sending json reverse coordinates 18.1147,-15.95 When sending json reverse coordinates 47.14,9.55
Then result addresses contain Then result addresses contain
| ID | country | | ID | country |
| 0 | Mauritanie | | 0 | Liktinstein |
Scenario: accept-language parameter and HTTP header Scenario: accept-language parameter and HTTP header
Given the HTTP header Given the HTTP header
| accept-language | | accept-language |
| fr-ca,fr;q=0.8,en-ca;q=0.5,en;q=0.3 | | fo-ca,fo;q=0.8,en-ca;q=0.5,en;q=0.3 |
When sending json reverse coordinates 18.1147,-15.95 When sending json reverse coordinates 47.14,9.55
| accept-language | | accept-language |
| en | | en |
Then result addresses contain Then result addresses contain
| ID | country | | ID | country |
| 0 | Mauritania | | 0 | Liechtenstein |

View File

@@ -3,7 +3,7 @@ Feature: Parameters for Reverse API
Testing different parameter options for reverse API. Testing different parameter options for reverse API.
Scenario Outline: Reverse-geocoding without address Scenario Outline: Reverse-geocoding without address
When sending <format> reverse coordinates 53.603,10.041 When sending <format> reverse coordinates 47.13,9.56
| addressdetails | | addressdetails |
| 0 | | 0 |
Then exactly 1 result is returned Then exactly 1 result is returned
@@ -26,7 +26,7 @@ Feature: Parameters for Reverse API
| gkjd,50 | | gkjd,50 |
Scenario Outline: Reverse Geocoding with extratags Scenario Outline: Reverse Geocoding with extratags
When sending <format> reverse coordinates 10.776234290950017,106.70425325632095 When sending <format> reverse coordinates 47.1395013150811,9.522098077031046
| extratags | | extratags |
| 1 | | 1 |
Then result 0 has attributes extratags Then result 0 has attributes extratags
@@ -39,7 +39,7 @@ Feature: Parameters for Reverse API
| geojson | | geojson |
Scenario Outline: Reverse Geocoding with namedetails Scenario Outline: Reverse Geocoding with namedetails
When sending <format> reverse coordinates 10.776455623137625,106.70175343751907 When sending <format> reverse coordinates 47.1395013150811,9.522098077031046
| namedetails | | namedetails |
| 1 | | 1 |
Then result 0 has attributes namedetails Then result 0 has attributes namedetails

View File

@@ -4,69 +4,55 @@ Feature: Reverse geocoding
@Tiger @Tiger
Scenario: TIGER house number Scenario: TIGER house number
When sending jsonv2 reverse coordinates 45.3345,-97.5214 When sending jsonv2 reverse coordinates 32.4752389363,-86.4810198619
Then results contain Then results contain
| osm_type | category | type | | osm_type | category | type |
| way | place | house | | way | place | house |
And result addresses contain And result addresses contain
| house_number | road | postcode | country_code | | house_number | road | postcode | country_code |
| 909 | West 1st Street | 57274 | us | | 697 | Upper Kingston Road | 36067 | us |
@Tiger @Tiger
Scenario: No TIGER house number for zoom < 18 Scenario: No TIGER house number for zoom < 18
When sending jsonv2 reverse coordinates 45.3345,-97.5214 When sending jsonv2 reverse coordinates 32.4752389363,-86.4810198619
| zoom | | zoom |
| 17 | | 17 |
Then results contain Then results contain
| osm_type | category | | osm_type | category |
| way | highway | | way | highway |
And result addresses contain And result addresses contain
| road | postcode | country_code | | road | postcode | country_code |
| West 1st Street | 57274 | us | | Upper Kingston Road | 30607 | us |
Scenario: Interpolated house number Scenario: Interpolated house number
When sending jsonv2 reverse coordinates -33.231795578514635,-54.38682173844428 When sending jsonv2 reverse coordinates 47.118533,9.57056562
Then results contain Then results contain
| osm_type | category | type | | osm_type | category | type |
| way | place | house | | way | place | house |
And result addresses contain And result addresses contain
| house_number | road | | house_number | road |
| 1416 | Juan Antonio Lavalleja | | 1019 | Grosssteg |
Scenario: Address with non-numerical house number Scenario: Address with non-numerical house number
When sending jsonv2 reverse coordinates 53.579805460944,9.9475670458196 When sending jsonv2 reverse coordinates 47.107465,9.52838521614
Then result addresses contain Then result addresses contain
| house_number | road | | house_number | road |
| 43 Haus 4 | Stellinger Weg | | 39A/B | Dorfstrasse |
Scenario: Address with numerical house number Scenario: Address with numerical house number
When sending jsonv2 reverse coordinates 53.580206752486,9.9502944945198 When sending jsonv2 reverse coordinates 47.168440329479594,9.511551699184338
Then result addresses contain Then result addresses contain
| house_number | road | | house_number | road |
| 5 | Clasingstraße | | 6 | Schmedgässle |
Scenario: Location off the coast
When sending jsonv2 reverse coordinates 54.046489113,8.5546870529
Then results contain
| display_name |
| Hamburg, Deutschland |
Scenario: When slightly outside town, the town is not shown
When sending jsonv2 reverse coordinates -32.122,-56.114
| zoom |
| 15 |
Then results contain
| display_name |
| Tacuarembó, Uruguay |
Scenario Outline: Zoom levels below 5 result in country Scenario Outline: Zoom levels below 5 result in country
When sending jsonv2 reverse coordinates -33.28,-56.29 When sending jsonv2 reverse coordinates 47.16,9.51
| zoom | | zoom |
| <zoom> | | <zoom> |
Then results contain Then results contain
| display_name | | display_name |
| Uruguay | | Liechtenstein |
Examples: Examples:
| zoom | | zoom |
@@ -77,17 +63,17 @@ Feature: Reverse geocoding
| 4 | | 4 |
Scenario: When on a street, the closest interpolation is shown Scenario: When on a street, the closest interpolation is shown
When sending jsonv2 reverse coordinates -33.2309430210215,-54.38126470020989 When sending jsonv2 reverse coordinates 47.118457166193245,9.570678289621355
| zoom | | zoom |
| 18 | | 18 |
Then results contain Then results contain
| display_name | | display_name |
| 1429, Andrés Areguati, Treinta y Tres, 33000, Uruguay | | 1021, Grosssteg, Sücka, Triesenberg, Oberland, 9497, Liechtenstein |
Scenario: When on a street with zoom 18, the closest housenumber is returned Scenario: When on a street with zoom 18, the closest housenumber is returned
When sending jsonv2 reverse coordinates 53.551826690895226,9.885258475318201 When sending jsonv2 reverse coordinates 47.11755503977281,9.572722250405036
| zoom | | zoom |
| 18 | | 18 |
Then result addresses contain Then result addresses contain
| house_number | | house_number |
| 33 | | 7 |

View File

@@ -71,10 +71,10 @@ Feature: Simple Reverse Tests
| geojson | geojson | | geojson | geojson |
Scenario Outline: Boundingbox is returned Scenario Outline: Boundingbox is returned
When sending <format> reverse coordinates 14.62,108.1 When sending <format> reverse coordinates 47.11,9.57
| zoom | | zoom |
| 8 | | 8 |
Then result has bounding box in 9,20,102,113 Then result has bounding box in 47,48,9,10
Examples: Examples:
| format | | format |
@@ -84,7 +84,7 @@ Feature: Simple Reverse Tests
| xml | | xml |
Scenario Outline: Reverse-geocoding with zoom Scenario Outline: Reverse-geocoding with zoom
When sending <format> reverse coordinates 53.603,10.041 When sending <format> reverse coordinates 47.11,9.57
| zoom | | zoom |
| 10 | | 10 |
Then exactly 1 result is returned Then exactly 1 result is returned

View File

@@ -3,10 +3,10 @@ Feature: Parameters for Search API
Testing correctness of geocodejson output. Testing correctness of geocodejson output.
Scenario: City housenumber-level address with street Scenario: City housenumber-level address with street
When sending geocodejson search query "Brunnenhofstr 10, Hamburg" with address When sending geocodejson search query "Im Winkel 8, Triesen" with address
Then results contain Then results contain
| housenumber | street | postcode | city | country | | housenumber | street | postcode | city | country |
| 10 | Brunnenhofstraße | 22767 | Hamburg | Deutschland | | 8 | Im Winkel | 9495 | Triesen | Liechtenstein |
Scenario: Town street-level address with street Scenario: Town street-level address with street
When sending geocodejson search query "Gnetsch, Balzers" with address When sending geocodejson search query "Gnetsch, Balzers" with address
@@ -21,7 +21,7 @@ Feature: Parameters for Search API
| Burgweg | Balzers | 9496 | Liechtenstein | | Burgweg | Balzers | 9496 | Liechtenstein |
Scenario: City address with suburb Scenario: City address with suburb
When sending geocodejson search query "hinschenfelder str 64, wandsbek" with address When sending geocodejson search query "Lochgass 5, Ebenholz, Vaduz" with address
Then results contain Then results contain
| housenumber | street | district | city | postcode | country | | housenumber | street | district | city | postcode | country |
| 64 | Hinschenfelder Straße | Wandsbek | Hamburg | 22047 | Deutschland | | 5 | Lochgass | Ebenholz | Vaduz | 9490 | Liechtenstein |

View File

@@ -2,61 +2,61 @@
Feature: Localization of search results Feature: Localization of search results
Scenario: default language Scenario: default language
When sending json search query "Vietnam" When sending json search query "Liechtenstein"
Then results contain Then results contain
| ID | display_name | | ID | display_name |
| 0 | Vit Nam | | 0 | Liechtenstein |
Scenario: accept-language first Scenario: accept-language first
When sending json search query "Mauretanien" When sending json search query "Liechtenstein"
| accept-language | | accept-language |
| en,de | | zh,de |
Then results contain Then results contain
| ID | display_name | | ID | display_name |
| 0 | Mauritania | | 0 | |
Scenario: accept-language missing Scenario: accept-language missing
When sending json search query "Mauretanien" When sending json search query "Liechtenstein"
| accept-language | | accept-language |
| xx,fr,en,de | | xx,fr,en,de |
Then results contain Then results contain
| ID | display_name | | ID | display_name |
| 0 | Mauritanie | | 0 | Liechtenstein |
Scenario: http accept language header first Scenario: http accept language header first
Given the HTTP header Given the HTTP header
| accept-language | | accept-language |
| fr-ca,fr;q=0.8,en-ca;q=0.5,en;q=0.3 | | fo;q=0.8,en-ca;q=0.5,en;q=0.3 |
When sending json search query "Mauretanien" When sending json search query "Liechtenstein"
Then results contain Then results contain
| ID | display_name | | ID | display_name |
| 0 | Mauritanie | | 0 | Liktinstein |
Scenario: http accept language header and accept-language Scenario: http accept language header and accept-language
Given the HTTP header Given the HTTP header
| accept-language | | accept-language |
| fr-ca,fr;q=0.8,en-ca;q=0.5,en;q=0.3 | | fr-ca,fr;q=0.8,en-ca;q=0.5,en;q=0.3 |
When sending json search query "Mauretanien" When sending json search query "Liechtenstein"
| accept-language | | accept-language |
| de,en | | fo,en |
Then results contain Then results contain
| ID | display_name | | ID | display_name |
| 0 | Mauretanien | | 0 | Liktinstein |
Scenario: http accept language header fallback Scenario: http accept language header fallback
Given the HTTP header Given the HTTP header
| accept-language | | accept-language |
| fr-ca,en-ca;q=0.5 | | fo-ca,en-ca;q=0.5 |
When sending json search query "Mauretanien" When sending json search query "Liechtenstein"
Then results contain Then results contain
| ID | display_name | | ID | display_name |
| 0 | Mauritanie | | 0 | Liktinstein |
Scenario: http accept language header fallback (upper case) Scenario: http accept language header fallback (upper case)
Given the HTTP header Given the HTTP header
| accept-language | | accept-language |
| fr-FR;q=0.8,en-ca;q=0.5 | | fo-FR;q=0.8,en-ca;q=0.5 |
When sending json search query "Mauretanien" When sending json search query "Liechtenstein"
Then results contain Then results contain
| ID | display_name | | ID | display_name |
| 0 | Mauritanie | | 0 | Liktinstein |

View File

@@ -25,47 +25,44 @@ Feature: Search queries
| x45 | | x45 |
Then a HTTP 400 is returned Then a HTTP 400 is returned
Scenario: JSON search with addressdetails Scenario Outline: Search with addressdetails
When sending json search query "Montevideo" with address When sending <format> search query "Triesen" with address
Then address of result 0 is Then address of result 0 is
| type | value | | type | value |
| city | Montevideo | | village | Triesen |
| state | Montevideo | | county | Oberland |
| country | Uruguay | | postcode | 9495 |
| country_code | uy | | country | Liechtenstein |
| country_code | li |
Scenario: XML search with addressdetails Examples:
When sending xml search query "Aleg" with address | format |
| accept-language | | json |
| en | | jsonv2 |
Then address of result 0 is | geojson |
| type | value | | xml |
| city | Aleg |
| state | Brakna |
| country | Mauritania |
| country_code | mr |
Scenario: coordinate search with addressdetails Scenario: Coordinate search with addressdetails
When sending json search query "14.271104294939,107.69828796387" When sending json search query "47.12400621,9.6047552"
| accept-language | | accept-language |
| en | | en |
Then results contain Then results contain
| display_name | | display_name |
| Plei Ya Rê, Vietnam | | Guschg, Valorschstrasse, Balzers, Oberland, 9497, Liechtenstein |
Scenario: Address details with unknown class types Scenario: Address details with unknown class types
When sending json search query "Hundeauslauf, Hamburg" with address When sending json search query "Kloster St. Elisabeth" with address
Then results contain Then results contain
| ID | class | type | | ID | class | type |
| 0 | leisure | dog_park | | 0 | amenity | monastery |
And result addresses contain And result addresses contain
| ID | leisure | | ID | amenity |
| 0 | Hundeauslauf | | 0 | Kloster St. Elisabeth |
Scenario: Disabling deduplication Scenario: Disabling deduplication
When sending json search query "Sievekingsallee, Hamburg" When sending json search query "Malbunstr"
Then there are no duplicates Then there are no duplicates
When sending json search query "Sievekingsallee, Hamburg" When sending json search query "Malbunstr"
| dedupe | | dedupe |
| 0 | | 0 |
Then there are duplicates Then there are duplicates
@@ -73,25 +70,32 @@ Feature: Search queries
Scenario: Search with bounded viewbox in right area Scenario: Search with bounded viewbox in right area
When sending json search query "bar" with address When sending json search query "bar" with address
| bounded | viewbox | | bounded | viewbox |
| 1 | -56.16786,-34.84061,-56.12525,-34.86526 | | 1 | 9,47,10,48 |
Then result addresses contain Then result addresses contain
| city | | ID | town |
| Montevideo | | 0 | Vaduz |
When sending json search query "bar" with address
| bounded | viewbox |
| 1 | 9.49712,47.17122,9.52605,47.16242 |
Then result addresses contain
| town |
| Schaan |
Scenario: Country search with bounded viewbox remain in the area Scenario: Country search with bounded viewbox remain in the area
When sending json search query "" with address When sending json search query "" with address
| bounded | viewbox | country | | bounded | viewbox | country |
| 1 | -56.16786,-34.84061,-56.12525,-34.86526 | de | | 1 | 9.49712,47.17122,9.52605,47.16242 | de |
Then less than 1 result is returned Then less than 1 result is returned
Scenario: Search with bounded viewboxlbrt in right area Scenario: Search with bounded viewboxlbrt in right area
When sending json search query "bar" with address When sending json search query "bar" with address
| bounded | viewboxlbrt | | bounded | viewboxlbrt |
| 1 | -56.16786,-34.86526,-56.12525,-34.84061 | | 1 | 9.49712,47.16242,9.52605,47.17122 |
Then result addresses contain Then result addresses contain
| city | | town |
| Montevideo | | Schaan |
@Fail
Scenario: No POI search with unbounded viewbox Scenario: No POI search with unbounded viewbox
When sending json search query "restaurant" When sending json search query "restaurant"
| viewbox | | viewbox |
@@ -109,22 +113,22 @@ Feature: Search queries
Scenario: bounded search remains within viewbox with results Scenario: bounded search remains within viewbox with results
When sending json search query "restaurant" When sending json search query "restaurant"
| bounded | viewbox | | bounded | viewbox |
| 1 | 9.93027,53.61634,10.10073,53.54500 | | 1 | 9.49712,47.17122,9.52605,47.16242 |
Then result has centroid in 53.54500,53.61634,9.93027,10.10073 Then result has centroid in 9.49712,47.16242,9.52605,47.17122
Scenario: Prefer results within viewbox Scenario: Prefer results within viewbox
When sending json search query "25 de Mayo" with address When sending json search query "Gässle" with address
| accept-language | | accept-language |
| en | | en |
Then result addresses contain Then result addresses contain
| ID | state | | ID | town |
| 0 | Florida | | 0 | Balzers |
When sending json search query "25 de Mayo" with address When sending json search query "Gässle" with address
| accept-language | viewbox | | accept-language | viewbox |
| en | -57.95468,-31.39261,-57.94741,-31.39490 | | en | 9.52413,47.10759,9.53140,47.10539 |
Then result addresses contain Then result addresses contain
| ID | state | | ID | village |
| 0 | Salto | | 0 | Triesen |
Scenario: viewboxes cannot be points Scenario: viewboxes cannot be points
When sending json search query "foo" When sending json search query "foo"
@@ -165,7 +169,9 @@ Feature: Search queries
Then at most 50 results are returned Then at most 50 results are returned
Scenario: Limit number of search results Scenario: Limit number of search results
When sending json search query "restaurant" When sending json search query "schloss"
Then more than 4 results are returned
When sending json search query "schloss"
| limit | | limit |
| 4 | | 4 |
Then exactly 4 results are returned Then exactly 4 results are returned
@@ -177,11 +183,11 @@ Feature: Search queries
Then a HTTP 400 is returned Then a HTTP 400 is returned
Scenario: Restrict to feature type country Scenario: Restrict to feature type country
When sending xml search query "Uruguay" When sending xml search query "fürstentum"
Then results contain Then results contain
| ID | place_rank | | ID | class |
| 1 | 16 | | 1 | building |
When sending xml search query "Uruguay" When sending xml search query "fürstentum"
| featureType | | featureType |
| country | | country |
Then results contain Then results contain
@@ -189,16 +195,12 @@ Feature: Search queries
| 4 | | 4 |
Scenario: Restrict to feature type state Scenario: Restrict to feature type state
When sending xml search query "Dakota" When sending xml search query "Wangerberg"
Then results contain Then more than 1 result is returned
| place_rank | When sending xml search query "Wangerberg"
| 12 |
When sending xml search query "Dakota"
| featureType | | featureType |
| state | | state |
Then results contain Then exactly 0 results are returned
| place_rank |
| 8 |
Scenario: Restrict to feature type city Scenario: Restrict to feature type city
When sending xml search query "vaduz" When sending xml search query "vaduz"
@@ -213,16 +215,16 @@ Feature: Search queries
| 16 | | 16 |
Scenario: Restrict to feature type settlement Scenario: Restrict to feature type settlement
When sending json search query "Burg" When sending json search query "Malbun"
Then results contain Then results contain
| ID | class | | ID | class |
| 1 | amenity | | 1 | landuse |
When sending json search query "Burg" When sending json search query "Malbun"
| featureType | | featureType |
| settlement | | settlement |
Then results contain Then results contain
| class | type | | class | type |
| boundary | administrative | | place | village |
Scenario Outline: Search with polygon threshold (json) Scenario Outline: Search with polygon threshold (json)
When sending json search query "switzerland" When sending json search query "switzerland"
@@ -265,7 +267,7 @@ Feature: Search queries
| 1m | | 1m |
Scenario Outline: Search with extratags Scenario Outline: Search with extratags
When sending <format> search query "Hauptstr" When sending <format> search query "Landstr"
| extratags | | extratags |
| 1 | | 1 |
Then result has attributes extratags Then result has attributes extratags
@@ -278,7 +280,7 @@ Feature: Search queries
| geojson | | geojson |
Scenario Outline: Search with namedetails Scenario Outline: Search with namedetails
When sending <format> search query "Hauptstr" When sending <format> search query "Landstr"
| namedetails | | namedetails |
| 1 | | 1 |
Then result has attributes namedetails Then result has attributes namedetails
@@ -291,7 +293,7 @@ Feature: Search queries
| geojson | | geojson |
Scenario Outline: Search result with contains TEXT geometry Scenario Outline: Search result with contains TEXT geometry
When sending <format> search query "Highmore" When sending <format> search query "triesenberg"
| polygon_text | | polygon_text |
| 1 | | 1 |
Then result has attributes <response_attribute> Then result has attributes <response_attribute>
@@ -303,7 +305,7 @@ Feature: Search queries
| jsonv2 | geotext | | jsonv2 | geotext |
Scenario Outline: Search result contains SVG geometry Scenario Outline: Search result contains SVG geometry
When sending <format> search query "Highmore" When sending <format> search query "triesenberg"
| polygon_svg | | polygon_svg |
| 1 | | 1 |
Then result has attributes <response_attribute> Then result has attributes <response_attribute>
@@ -315,7 +317,7 @@ Feature: Search queries
| jsonv2 | svg | | jsonv2 | svg |
Scenario Outline: Search result contains KML geometry Scenario Outline: Search result contains KML geometry
When sending <format> search query "Highmore" When sending <format> search query "triesenberg"
| polygon_kml | | polygon_kml |
| 1 | | 1 |
Then result has attributes <response_attribute> Then result has attributes <response_attribute>
@@ -327,7 +329,7 @@ Feature: Search queries
| jsonv2 | geokml | | jsonv2 | geokml |
Scenario Outline: Search result contains GEOJSON geometry Scenario Outline: Search result contains GEOJSON geometry
When sending <format> search query "Highmore" When sending <format> search query "triesenberg"
| polygon_geojson | | polygon_geojson |
| 1 | | 1 |
Then result has attributes <response_attribute> Then result has attributes <response_attribute>
@@ -340,7 +342,7 @@ Feature: Search queries
| geojson | geojson | | geojson | geojson |
Scenario Outline: Search result in geojson format contains no non-geojson geometry Scenario Outline: Search result in geojson format contains no non-geojson geometry
When sending geojson search query "Highmore" When sending geojson search query "triesenberg"
| polygon_text | polygon_svg | polygon_geokml | | polygon_text | polygon_svg | polygon_geokml |
| 1 | 1 | 1 | | 1 | 1 | 1 |
Then result 0 has not attributes <response_attribute> Then result 0 has not attributes <response_attribute>
@@ -353,11 +355,15 @@ Feature: Search queries
| geokml | | geokml |
Scenario: Search along a route Scenario: Search along a route
When sending json search query "restaurant" with address When sending json search query "schloss" with address
| bounded | routewidth | route |
| 1 | 0.1 | -103.23255,44.08198,-103.22516,44.08079 |
Then result addresses contain Then result addresses contain
| city | | ID | town |
| Rapid City | | 0 | Vaduz |
When sending json search query "schloss" with address
| bounded | routewidth | route |
| 1 | 0.1 | 9.54353,47.11772,9.54314,47.11894 |
Then result addresses contain
| town |
| Triesenberg |

View File

@@ -3,10 +3,10 @@ Feature: Searches with postcodes
Various searches involving postcodes Various searches involving postcodes
Scenario: US 5+4 ZIP codes are shortened to 5 ZIP codes if not found 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 When sending json search query "36067 1111, us" with address
Then result addresses contain Then result addresses contain
| postcode | | postcode |
| 57701 | | 36067 |
Scenario: Postcode search with address Scenario: Postcode search with address
When sending json search query "9486, mauren" When sending json search query "9486, mauren"

View File

@@ -3,60 +3,50 @@ Feature: Search queries
Generic search result correctness Generic search result correctness
Scenario: House number search for non-street address Scenario: House number search for non-street address
When sending json search query "2 Steinwald, Austria" with address When sending json search query "6 Silum, Liechtenstein" with address
| accept-language | | accept-language |
| en | | en |
Then address of result 0 is Then address of result 0 is
| type | value | | type | value |
| house_number | 2 | | house_number | 6 |
| hamlet | Steinwald | | village | Silum |
| village | Göfis | | town | Triesenberg |
| postcode | 6811 | | county | Oberland |
| country | Austria | | postcode | 9497 |
| country_code | at | | country | Liechtenstein |
| country_code | li |
Scenario: House number interpolation even Scenario: House number interpolation
When sending json search query "Schellingstr 86, Hamburg" with address When sending json search query "Grosssteg 1023, Triesenberg" with address
| accept-language | | accept-language |
| de | | de |
Then address of result 0 contains Then address of result 0 contains
| type | value | | type | value |
| house_number | 86 | | house_number | 1023 |
| road | Schellingstraße | | road | Grosssteg |
| postcode | 22089 | | village | Sücka |
| city | Hamburg | | postcode | 9497 |
| country | Deutschland | | town | Triesenberg |
| country_code | de | | country | Liechtenstein |
| country_code | li |
Scenario: House number interpolation odd
When sending json search query "Schellingstr 73, Hamburg" with address
| accept-language |
| de |
Then address of result 0 contains
| type | value |
| house_number | 73 |
| road | Schellingstraße |
| postcode | 22089 |
| city | Hamburg |
| country | Deutschland |
| country_code | de |
Scenario: With missing housenumber search falls back to road Scenario: With missing housenumber search falls back to road
When sending json search query "342 rocha, santa lucia" with address When sending json search query "Bündaweg 555" with address
Then address of result 0 is Then address of result 0 is
| type | value | | type | value |
| road | Rocha | | road | Bündaweg |
| city | Santa Lucía | | village | Silum |
| state | Canelones | | postcode | 9497 |
| postcode | 90700 | | county | Oberland |
| country | Uruguay | | town | Triesenberg |
| country_code | uy | | country | Liechtenstein |
| country_code | li |
Scenario Outline: Housenumber 0 can be found Scenario Outline: Housenumber 0 can be found
When sending <format> search query "Pham Hung Road 0" with address When sending <format> search query "Gnalpstrasse 0" with address
Then results contain Then results contain
| display_name | | display_name |
| ^.*, 0,.* | | ^0,.* |
And result addresses contain And result addresses contain
| house_number | | house_number |
| 0 | | 0 |
@@ -70,10 +60,10 @@ Feature: Search queries
@Tiger @Tiger
Scenario: TIGER house number Scenario: TIGER house number
When sending json search query "323 22nd Street Southwest, Huron" When sending json search query "697 Upper Kingston Road"
Then results contain Then results contain
| osm_type | | osm_type | display_name |
| way | | way | ^697,.* |
Scenario: Search with class-type feature Scenario: Search with class-type feature
When sending jsonv2 search query "Hotel in California" When sending jsonv2 search query "Hotel in California"
@@ -91,19 +81,17 @@ Feature: Search queries
| amenity | restaurant | | amenity | restaurant |
Scenario: Search with key-value amenity Scenario: Search with key-value amenity
When sending json search query "[shop=hifi] hamburg" When sending json search query "[club=scout] Vaduz"
Then results contain Then results contain
| class | type | | class | type |
| shop | hifi | | club | scout |
Scenario: With multiple amenity search only the first is used Scenario: With multiple amenity search only the first is used
When sending json search query "[shop=hifi] [church] hamburg" When sending json search query "[club=scout] [church] vaduz"
Then results contain Then results contain
| class | type | | class | type |
| shop | hifi | | club | scout |
When sending json search query "[amenity=place_of_worship] [club=scout] vaduz"
Scenario: With multiple amenity search only the first is used
When sending json search query "[church] [restaurant] hamburg"
Then results contain Then results contain
| class | type | | class | type |
| amenity | place_of_worship | | amenity | place_of_worship |
@@ -115,30 +103,36 @@ Feature: Search queries
| amenity | restaurant | | amenity | restaurant |
Scenario: Arbitrary key/value search near given coordinate Scenario: Arbitrary key/value search near given coordinate
When sending json search query "[man_made=mast] 47.15739° N 9.61264° E" When sending json search query "[leisure=firepit] 47.150° N 9.5340493° E"
Then results contain Then results contain
| class | type | | class | type |
| man_made | mast | | leisure | firepit |
Scenario: Arbitrary key/value search near given coordinate and named place Scenario: Arbitrary key/value search near given coordinate and named place
When sending json search query "[man_made=mast] amerlugalpe 47° 9 26 N 9° 36 45 E" When sending json search query "[leisure=firepit] ebenholz 47° 9 26 N 9° 36 45 E"
Then results contain Then results contain
| class | type | | class | type |
| man_made | mast | | leisure | firepit |
Scenario: Name search near given coordinate Scenario: Name search near given coordinate
When sending json search query "amerlugalpe, N 47.15739° E 9.61264°" When sending json search query "sporry" with address
Then exactly 1 result is returned Then result addresses contain
| ID | town |
| 0 | Vaduz |
When sending json search query "sporry, 47.10791,9.52676" with address
Then result addresses contain
| ID | village |
| 0 | Triesen |
Scenario: Name search near given coordinate without result Scenario: Name search near given coordinate without result
When sending json search query "amerlugalpe, N 47 15 7 W 9 61 26" When sending json search query "sporry, N 47 15 7 W 9 61 26"
Then exactly 0 results are returned Then exactly 0 results are returned
Scenario: Arbitrary key/value search near a road Scenario: Arbitrary key/value search near a road
When sending json search query "[leisure=table_soccer_table] immenbusch" When sending json search query "[amenity=drinking_water] Wissfläckaweg"
Then results contain Then results contain
| class | type | | class | type |
| leisure | table_soccer_table | | amenity | drinking_water |
Scenario: Ignore other country codes in structured search with country Scenario: Ignore other country codes in structured search with country
When sending json search query "" When sending json search query ""
@@ -154,29 +148,29 @@ Feature: Search queries
# https://trac.openstreetmap.org/ticket/5094 # https://trac.openstreetmap.org/ticket/5094
Scenario: housenumbers are ordered by complete match first Scenario: housenumbers are ordered by complete match first
When sending json search query "6395 geminis, montevideo" with address When sending json search query "Austrasse 11, Vaduz" with address
Then result addresses contain Then result addresses contain
| ID | house_number | | ID | house_number |
| 0 | 6395 | | 0 | 11 |
| 1 | 6395 BIS | | 1 | 11 a |
Scenario Outline: Same Searches with white spaces Scenario Outline: Coordinate searches with white spaces
When sending json search query "<data>" When sending json search query "<data>"
Then exactly 1 result is returned Then exactly 1 result is returned
And results contain And results contain
| class | | class |
| building | | natural |
Examples: Examples:
| data | | data |
| amerlugalpe, N 47.15739° E 9.61264° | | sporry weiher, N 47.10791° E 9.52676° |
| amerlugalpe, N 47.15739° E 9.61264° | | sporry weiher, N 47.10791° E 9.52676° |
| amerlugalpe , N 47.15739° E 9.61264° | | sporry weiher , N 47.10791° E 9.52676° |
| amerlugalpe, N 47.15739° E 9.61264° | | sporry weiher, N 47.10791° E 9.52676° |
| amerlugalpe , N 47.15739° E 9.61264° | | sporry weiher , N 47.10791° E 9.52676° |
Scenario: Searched with white spaces Scenario: Searches with white spaces
When sending json search query "22nd Street Southwest , Huron" When sending json search query "52 Bodastr , Triesenberg"
Then results contain Then results contain
| class | type | | class | type |
| highway | residential | | highway | residential |
@@ -184,7 +178,7 @@ Feature: Search queries
# github #1949 # github #1949
Scenario: Addressdetails always return the place type Scenario: Addressdetails always return the place type
When sending json search query "Rotherbaum" with address When sending json search query "Vaduz" with address
Then result addresses contain Then result addresses contain
| ID | suburb | | ID | town |
| 0 | Rotherbaum | | 0 | Vaduz |

View File

@@ -3,27 +3,27 @@ Feature: Simple Tests
Simple tests for internal server errors and response format. Simple tests for internal server errors and response format.
Scenario Outline: Testing different parameters Scenario Outline: Testing different parameters
When sending search query "Hamburg" When sending search query "Vaduz"
| param | value | | param | value |
| <parameter> | <value> | | <parameter> | <value> |
Then at least 1 result is returned Then at least 1 result is returned
When sending xml search query "Hamburg" When sending xml search query "Vaduz"
| param | value | | param | value |
| <parameter> | <value> | | <parameter> | <value> |
Then at least 1 result is returned Then at least 1 result is returned
When sending json search query "Hamburg" When sending json search query "Vaduz"
| param | value | | param | value |
| <parameter> | <value> | | <parameter> | <value> |
Then at least 1 result is returned Then at least 1 result is returned
When sending jsonv2 search query "Hamburg" When sending jsonv2 search query "Vaduz"
| param | value | | param | value |
| <parameter> | <value> | | <parameter> | <value> |
Then at least 1 result is returned Then at least 1 result is returned
When sending geojson search query "Hamburg" When sending geojson search query "Vaduz"
| param | value | | param | value |
| <parameter> | <value> | | <parameter> | <value> |
Then at least 1 result is returned Then at least 1 result is returned
When sending geocodejson search query "Hamburg" When sending geocodejson search query "Vaduz"
| param | value | | param | value |
| <parameter> | <value> | | <parameter> | <value> |
Then at least 1 result is returned Then at least 1 result is returned
@@ -41,7 +41,7 @@ Feature: Simple Tests
| polygon_svg | 1 | | polygon_svg | 1 |
| polygon_svg | 0 | | polygon_svg | 0 |
| accept-language | de,en | | accept-language | de,en |
| countrycodes | de | | countrycodes | li |
| bounded | 1 | | bounded | 1 |
| bounded | 0 | | bounded | 0 |
| exclude_place_ids| 385252,1234515 | | exclude_place_ids| 385252,1234515 |

View File

@@ -15,13 +15,13 @@ Feature: Structured search queries
Scenario: Postcode only Scenario: Postcode only
When sending json search query "" with address When sending json search query "" with address
| postalcode | | postalcode |
| 22547 | | 9495 |
Then results contain Then results contain
| type | | type |
| ^post(al_)?code | | ^post(al_)?code |
And result addresses contain And result addresses contain
| postcode | | postcode |
| 22547 | | 9495 |
Scenario: Street, postcode and country Scenario: Street, postcode and country
When sending xml search query "" with address When sending xml search query "" with address
@@ -50,16 +50,19 @@ Feature: Structured search queries
Scenario: Amenity, city Scenario: Amenity, city
When sending json search query "" with address When sending json search query "" with address
| city | amenity | | city | amenity |
| Vaduz | church | | Vaduz | bar |
Then result addresses contain Then result addresses contain
| country | | country |
| Liechtenstein | | Liechtenstein |
And results contain And results contain
| class | type | | class | type |
| amenity | place_of_worship | | amenity | ^(pub)\|(bar) |
Scenario: gihub #176 #176
Scenario: Structured search restricts rank
When sending json search query "" with address When sending json search query "" with address
| city | | city |
| Mercedes | | Vaduz |
Then at least 1 result is returned Then result addresses contain
| town |
| Vaduz |

View File

@@ -32,3 +32,18 @@ Feature: Searching of simple objects
Then results contain Then results contain
| ID | osm_type | osm_id | | ID | osm_type | osm_id |
| 0 | R | 1 | | 0 | R | 1 |
# github #1763
Scenario: Correct translation of highways under construction
Given the grid
| 1 | | | | 2 |
| | | 9 | | |
And the places
| osm | class | type | name | geometry |
| W1 | highway | construction | The build | 1,2 |
| N1 | amenity | cafe | Bean | 9 |
When importing
And sending json search query "Bean" with address
Then result addresses contain
| amenity | road |
| Bean | The build |