mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
more API tests for code coverage
Also fixes two minor issues related to structured queries.
This commit is contained in:
@@ -304,7 +304,7 @@ class Geocode
|
|||||||
$aViewbox = $oParams->getStringList('viewboxlbrt');
|
$aViewbox = $oParams->getStringList('viewboxlbrt');
|
||||||
if ($aViewbox) {
|
if ($aViewbox) {
|
||||||
if (count($aViewbox) != 4) {
|
if (count($aViewbox) != 4) {
|
||||||
userError("Bad parmater 'viewbox'. Expected 4 coordinates.");
|
userError("Bad parmater 'viewboxlbrt'. Expected 4 coordinates.");
|
||||||
}
|
}
|
||||||
$this->setViewbox($aViewbox);
|
$this->setViewbox($aViewbox);
|
||||||
} else {
|
} else {
|
||||||
@@ -372,7 +372,7 @@ class Geocode
|
|||||||
$this->aAddressRankList = array();
|
$this->aAddressRankList = array();
|
||||||
|
|
||||||
$this->aStructuredQuery = array();
|
$this->aStructuredQuery = array();
|
||||||
$this->sAllowedTypesSQLList = '';
|
$this->sAllowedTypesSQLList = False;
|
||||||
|
|
||||||
$this->loadStructuredAddressElement($sAmenity, 'amenity', 26, 30, false);
|
$this->loadStructuredAddressElement($sAmenity, 'amenity', 26, 30, false);
|
||||||
$this->loadStructuredAddressElement($sStreet, 'street', 26, 30, false);
|
$this->loadStructuredAddressElement($sStreet, 'street', 26, 30, false);
|
||||||
@@ -385,7 +385,7 @@ class Geocode
|
|||||||
if (sizeof($this->aStructuredQuery) > 0) {
|
if (sizeof($this->aStructuredQuery) > 0) {
|
||||||
$this->sQuery = join(', ', $this->aStructuredQuery);
|
$this->sQuery = join(', ', $this->aStructuredQuery);
|
||||||
if ($this->iMaxAddressRank < 30) {
|
if ($this->iMaxAddressRank < 30) {
|
||||||
$sAllowedTypesSQLList = '(\'place\',\'boundary\')';
|
$this->sAllowedTypesSQLList = '(\'place\',\'boundary\')';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1403,7 +1403,7 @@ class Geocode
|
|||||||
if ($aSearch['sCountryCode']) $aTerms[] = "country_code = '".pg_escape_string($aSearch['sCountryCode'])."'";
|
if ($aSearch['sCountryCode']) $aTerms[] = "country_code = '".pg_escape_string($aSearch['sCountryCode'])."'";
|
||||||
if ($aSearch['sHouseNumber']) {
|
if ($aSearch['sHouseNumber']) {
|
||||||
$aTerms[] = "address_rank between 16 and 27";
|
$aTerms[] = "address_rank between 16 and 27";
|
||||||
} else {
|
} elseif (!$aSearch['sClass'] || $aSearch['sOperator'] == 'name') {
|
||||||
if ($this->iMinAddressRank > 0) {
|
if ($this->iMinAddressRank > 0) {
|
||||||
$aTerms[] = "address_rank >= ".$this->iMinAddressRank;
|
$aTerms[] = "address_rank >= ".$this->iMinAddressRank;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,6 +115,38 @@ Feature: Search queries
|
|||||||
| ID | state |
|
| ID | state |
|
||||||
| 0 | Florida |
|
| 0 | Florida |
|
||||||
|
|
||||||
|
Scenario: viewboxes cannot be points
|
||||||
|
When sending json search query "foo"
|
||||||
|
| viewbox |
|
||||||
|
| 1.01,34.6,1.01,34.6 |
|
||||||
|
Then a HTTP 400 is returned
|
||||||
|
|
||||||
|
Scenario Outline: viewbox must have four coordinate numbers
|
||||||
|
When sending json search query "foo"
|
||||||
|
| viewbox |
|
||||||
|
| <viewbox> |
|
||||||
|
Then a HTTP 400 is returned
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
| viewbox |
|
||||||
|
| 34 |
|
||||||
|
| 0.003,-84.4 |
|
||||||
|
| 5.2,4.5542,12.4 |
|
||||||
|
| 23.1,-6,0.11,44.2,9.1 |
|
||||||
|
|
||||||
|
Scenario Outline: viewboxlbrt must have four coordinate numbers
|
||||||
|
When sending json search query "foo"
|
||||||
|
| viewboxlbrt |
|
||||||
|
| <viewbox> |
|
||||||
|
Then a HTTP 400 is returned
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
| viewbox |
|
||||||
|
| 34 |
|
||||||
|
| 0.003,-84.4 |
|
||||||
|
| 5.2,4.5542,12.4 |
|
||||||
|
| 23.1,-6,0.11,44.2,9.1 |
|
||||||
|
|
||||||
Scenario: Overly large limit number for search results
|
Scenario: Overly large limit number for search results
|
||||||
When sending json search query "restaurant"
|
When sending json search query "restaurant"
|
||||||
| limit |
|
| limit |
|
||||||
@@ -298,3 +330,11 @@ Feature: Search queries
|
|||||||
| xml | geojson |
|
| xml | geojson |
|
||||||
| json | geojson |
|
| json | geojson |
|
||||||
| jsonv2 | geojson |
|
| jsonv2 | geojson |
|
||||||
|
|
||||||
|
Scenario: Search along a route
|
||||||
|
When sending json search query "restaurant" with address
|
||||||
|
| bounded | routewidth | route |
|
||||||
|
| 1 | 0.1 | -103.23255,44.08198,-103.22516,44.08079 |
|
||||||
|
Then result addresses contain
|
||||||
|
| city |
|
||||||
|
| Rapid City |
|
||||||
|
|||||||
@@ -57,6 +57,15 @@ Feature: Search queries
|
|||||||
| place_rank |
|
| place_rank |
|
||||||
| 30 |
|
| 30 |
|
||||||
|
|
||||||
|
Scenario: Search with specific amenity
|
||||||
|
When sending json search query "[restaurant] Vaduz" with address
|
||||||
|
Then result addresses contain
|
||||||
|
| country |
|
||||||
|
| Liechtenstein |
|
||||||
|
And results contain
|
||||||
|
| class | type |
|
||||||
|
| amenity | restaurant |
|
||||||
|
|
||||||
# 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 "6395 geminis, montevideo" with address
|
||||||
|
|||||||
@@ -31,6 +31,17 @@ Feature: Structured search queries
|
|||||||
| attr | value |
|
| attr | value |
|
||||||
| querystring | Old Palace Road, GU2 7UP, United Kingdom |
|
| querystring | Old Palace Road, GU2 7UP, United Kingdom |
|
||||||
|
|
||||||
|
Scenario: Amenity, city
|
||||||
|
When sending json search query "" with address
|
||||||
|
| city | amenity |
|
||||||
|
| Vaduz | church |
|
||||||
|
Then result addresses contain
|
||||||
|
| country |
|
||||||
|
| Liechtenstein |
|
||||||
|
And results contain
|
||||||
|
| class | type |
|
||||||
|
| amenity | place_of_worship |
|
||||||
|
|
||||||
Scenario: gihub #176
|
Scenario: gihub #176
|
||||||
When sending json search query "" with address
|
When sending json search query "" with address
|
||||||
| city |
|
| city |
|
||||||
|
|||||||
Reference in New Issue
Block a user