Skip to content

Commit

Permalink
fix syntax errors and update tests
Browse files Browse the repository at this point in the history
Some of the tests with bad parameters now return a HTTP 400.
  • Loading branch information
lonvia committed Jun 12, 2016
1 parent 033b959 commit 348a308
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 27 deletions.
12 changes: 3 additions & 9 deletions lib/Geocode.php
Expand Up @@ -514,7 +514,7 @@ function getDetails($aPlaceIDs)

$sSQL .= " order by importance desc";
if (CONST_Debug) { echo "<hr>"; var_dump($sSQL); }
$aSearchResults = chksql($this->oDB->getAll($sSQL);
$aSearchResults = chksql($this->oDB->getAll($sSQL),
"Could not get details for place.");

return $aSearchResults;
Expand Down Expand Up @@ -879,7 +879,7 @@ function lookup()
$sViewboxCentreSQL .= ")'::geometry,4326)";

$sSQL = "select st_buffer(".$sViewboxCentreSQL.",".(float)($_GET['routewidth']/69).")";
$this->sViewboxSmallSQL = chksql($this->oDB->getOne($sSQL);
$this->sViewboxSmallSQL = chksql($this->oDB->getOne($sSQL),
"Could not get small viewbox.");
$this->sViewboxSmallSQL = "'".$this->sViewboxSmallSQL."'::geometry";

Expand Down Expand Up @@ -1414,9 +1414,8 @@ function lookup()
$sSQL .= " limit ".$this->iLimit;

if (CONST_Debug) { var_dump($sSQL); }
$aViewBoxPlaceIDs = chksql($this->oDB->getAll($sSQL));
$aViewBoxPlaceIDs = chksql($this->oDB->getAll($sSQL),
"Could not get places for search terms.");
}
//var_dump($aViewBoxPlaceIDs);
// Did we have an viewbox matches?
$aPlaceIDs = array();
Expand Down Expand Up @@ -1638,11 +1637,6 @@ function lookup()

}

if (PEAR::IsError($aPlaceIDs))
{
failInternalError("Could not get place IDs from tokens." ,$sSQL, $aPlaceIDs);
}

if (CONST_Debug) { echo "<br><b>Place IDs:</b> "; var_Dump($aPlaceIDs); }

foreach($aPlaceIDs as $iPlaceID)
Expand Down
6 changes: 1 addition & 5 deletions lib/template/details-error-html.php
Expand Up @@ -11,9 +11,6 @@

function osmMapUrl($aFeature)
{
$sLon = $aFeature['error_x'];
$sLat = $aFeature['error_y'];

if (isset($sFeature['error_x']) && isset($sFeature['error_y']))
{
$sBaseUrl = '//www.openstreetmap.org/';
Expand All @@ -23,8 +20,7 @@ function osmMapUrl($aFeature)
$sBaseUrl += $sOSMType.'/'.$aFeature['osm_id'];
}

return '<a href="'.$sBaseUrl.'?mlat='.$sLat.'&mlon='.$sLon.'">view on osm.org</a>';
}
return '<a href="'.$sBaseUrl.'?mlat='.$aFeature['error_y'].'&mlon='.$aFeature['error_x'].'">view on osm.org</a>';
}
return '';
}
Expand Down
2 changes: 1 addition & 1 deletion lib/website.php
Expand Up @@ -100,7 +100,7 @@ function getParamInt($sName, $bDefault=false)
{
if (!isset($_GET[$sName])) return $bDefault;

if (!preg_match('/^[+-][0-9]+$/', $_GET[$sName]))
if (!preg_match('/^[+-]?[0-9]+$/', $_GET[$sName]))
{
userError("Integer number expected for parameter '$sName'");
}
Expand Down
12 changes: 6 additions & 6 deletions tests/features/api/reverse_simple.feature
Expand Up @@ -99,35 +99,35 @@ Feature: Simple Reverse Tests
| lat
| 51.51
When sending an API call reverse
Then exactly 0 results are returned
Then a HTTP 400 is returned
Scenario: Missing lat parameter
Given the request parameters
| lon
| -79.39114
When sending an API call reverse
Then exactly 0 results are returned
Then a HTTP 400 is returned
Scenario: Missing osm_id parameter
Given the request parameters
| osm_type
| N
When sending an API call reverse
Then exactly 0 results are returned
Then a HTTP 400 is returned
Scenario: Missing osm_type parameter
Given the request parameters
| osm_id
| 3498564
When sending an API call reverse
Then exactly 0 results are returned
Then a HTTP 400 is returned
Scenario Outline: Bad format for lat or lon
Given the request parameters
| lat | lon |
| <lat> | <lon> |
When sending an API call reverse
Then exactly 0 results are returned
Then a HTTP 400 is returned

Examples:
| lat | lon
Expand All @@ -137,4 +137,4 @@ Feature: Simple Reverse Tests
| 48.966.0 | 8.4482
| 48.966 | 8.448.2
| Nan | 8.448
| 48.966 | Nan
| 48.966 | Nan
10 changes: 8 additions & 2 deletions tests/features/api/search_params.feature
Expand Up @@ -187,7 +187,6 @@ Feature: Search queries
| 0.0
| 0.5
| 999
| nan
Scenario Outline: Search with polygon threshold (xml)
Given the request parameters
Expand All @@ -203,7 +202,14 @@ Feature: Search queries
| 0.0
| 0.5
| 999
| nan
Scenario Outline: Search with invalid polygon threshold (xml)
Given the request parameters
| polygon_geojson | polygon_threshold
| 1 | <th>
When sending xml search query "switzerland"
Then a HTTP 400 is returned
Scenario Outline: Search with extratags
Given the request parameters
Expand Down
2 changes: 1 addition & 1 deletion tests/features/api/search_simple.feature
Expand Up @@ -61,7 +61,7 @@ Feature: Simple Tests
| format
| fd$#
When sending search query "Berlin"
Then the result is valid html
Then a HTTP 400 is returned
Scenario Outline: Simple Searches
When sending search query "<query>"
Expand Down
3 changes: 2 additions & 1 deletion website/lookup.php
Expand Up @@ -5,6 +5,7 @@
require_once(CONST_BasePath.'/lib/init-website.php');
require_once(CONST_BasePath.'/lib/log.php');
require_once(CONST_BasePath.'/lib/PlaceLookup.php');
require_once(CONST_BasePath.'/lib/output.php');

if (strpos(CONST_BulkUserIPs, ','.$_SERVER["REMOTE_ADDR"].',') !== false)
{
Expand Down Expand Up @@ -38,7 +39,7 @@
$oPlaceLookup->setIncludeExtraTags(getParamBool('extratags', false));
$oPlaceLookup->setIncludeNameDetails(getParamBool('namedetails', false));

$aOsmIds = explode(',', $getParamString('osm_ids', ''));
$aOsmIds = explode(',', getParamString('osm_ids', ''));

if (count($aOsmIds) > CONST_Places_Max_ID_count)
{
Expand Down
4 changes: 2 additions & 2 deletions website/reverse.php
Expand Up @@ -56,8 +56,8 @@
$hLog = logStart($oDB, 'reverse', $_SERVER['QUERY_STRING'], $aLangPrefOrder);


$sOsmType = getParamSet('osmtype', array('N', 'W', 'R'));
$iOsmId = getParamInt('osmid', -1);
$sOsmType = getParamSet('osm_type', array('N', 'W', 'R'));
$iOsmId = getParamInt('osm_id', -1);
$fLat = getParamFloat('lat');
$fLon = getParamFloat('lon');
if ($sOsmType && $iOsmId > 0)
Expand Down

0 comments on commit 348a308

Please sign in to comment.