diff --git a/core/Tracker/Request.php b/core/Tracker/Request.php index b733ae30eae1c6d28b3d17f6dae53d83a367c024..110d0eb65d4af87bdd85868eb0c45f68805e1632 100644 --- a/core/Tracker/Request.php +++ b/core/Tracker/Request.php @@ -12,6 +12,7 @@ use Exception; use Piwik\Common; use Piwik\Config; use Piwik\Cookie; +use Piwik\Exception\UnexpectedWebsiteFoundException; use Piwik\IP; use Piwik\Network\IPUtils; use Piwik\Piwik; @@ -390,7 +391,7 @@ class Request Piwik::postEvent('Tracker.Request.getIdSite', array(&$idSite, $this->params)); if ($idSite <= 0) { - throw new Exception('Invalid idSite: \'' . $idSite . '\''); + throw new UnexpectedWebsiteFoundException('Invalid idSite: \'' . $idSite . '\''); } return $idSite; diff --git a/tests/PHPUnit/System/TrackerTest.php b/tests/PHPUnit/System/TrackerTest.php index 29ba0c95e5cb64773e264e1eac23bd2cac978bb7..baba28e7631c2443da61f08e94884ecd3aff6968 100755 --- a/tests/PHPUnit/System/TrackerTest.php +++ b/tests/PHPUnit/System/TrackerTest.php @@ -77,4 +77,12 @@ class TrackerTest extends SystemTestCase $this->assertResponseCode(400, $url); } + public function test_response_ShouldSend400ResponseCode_IfSiteIdIsZero() + { + $url = $this->tracker->getUrlTrackPageView('Test'); + $url .= '&idsite=0'; + + $this->assertResponseCode(400, $url); + } + }