From 064f14cae7977e0e4734463157a9e8df82fc9890 Mon Sep 17 00:00:00 2001 From: Benaka Moorthi <benaka.moorthi@gmail.com> Date: Wed, 3 Jul 2013 01:18:16 -0400 Subject: [PATCH] Fixing Core/Tracker/VisitTest test. --- core/Tracker/VisitExcluded.php | 12 ++++++++++-- tests/PHPUnit/Core/Tracker/VisitTest.php | 18 +++++++++++------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/core/Tracker/VisitExcluded.php b/core/Tracker/VisitExcluded.php index 288e0b89b3..233bb289ed 100644 --- a/core/Tracker/VisitExcluded.php +++ b/core/Tracker/VisitExcluded.php @@ -14,11 +14,19 @@ */ class Piwik_Tracker_VisitExcluded { - public function __construct(Piwik_Tracker_Request $request, $ip) + public function __construct(Piwik_Tracker_Request $request, $ip = false, $userAgent = false) { + if ($ip === false) { + $ip = $request->getIp(); + } + + if ($userAgent === false) { + $userAgent = $request->getUserAgent(); + } + $this->request = $request; $this->idSite = $request->getIdSite(); - $this->userAgent = $request->getUserAgent(); + $this->userAgent = $userAgent; $this->ip = $ip; } diff --git a/tests/PHPUnit/Core/Tracker/VisitTest.php b/tests/PHPUnit/Core/Tracker/VisitTest.php index 0a262b9fc6..82bbf78e6f 100644 --- a/tests/PHPUnit/Core/Tracker/VisitTest.php +++ b/tests/PHPUnit/Core/Tracker/VisitTest.php @@ -69,15 +69,17 @@ class Tracker_VisitTest extends DatabaseTestCase */ public function testIsVisitorIpExcluded($excludedIp, $tests) { - $visit = new Test_Piwik_TrackerVisit_public(); $idsite = Piwik_SitesManager_API::getInstance()->addSite("name", "http://piwik.net/", $ecommerce = 0, $siteSearch = 1, $searchKeywordParameters = null, $searchCategoryParameters = null, $excludedIp); - $visit->setRequest(array('idsite' => $idsite)); + + $request = new Piwik_Tracker_Request(array('idsite' => $idsite)); // test that IPs within the range, or the given IP, are excluded foreach ($tests as $ip => $expected) { $testIpIsExcluded = Piwik_IP::P2N($ip); - $this->assertSame($expected, $visit->public_isVisitorIpExcluded($testIpIsExcluded)); + + $excluded = new Test_Piwik_Tracker_VisitExcluded_public($request, $testIpIsExcluded); + $this->assertSame($expected, $excluded->public_isVisitorIpExcluded($testIpIsExcluded)); } } @@ -116,21 +118,23 @@ class Tracker_VisitTest extends DatabaseTestCase { Piwik_SitesManager_API::getInstance()->setSiteSpecificUserAgentExcludeEnabled(true); - $visit = new Test_Piwik_TrackerVisit_public(); $idsite = Piwik_SitesManager_API::getInstance()->addSite("name", "http://piwik.net/", $ecommerce = 0, $siteSearch = 1, $searchKeywordParameters = null, $searchCategoryParameters = null, $excludedIp = null, $excludedQueryParameters = null, $timezone = null, $currency = null, $group = null, $startDate = null, $excludedUserAgent); - $visit->setRequest(array('idsite' => $idsite)); + $request = new Piwik_Tracker_Request(array('idsite' => $idsite)); + // test that user agents that contain excluded user agent strings are excluded foreach ($tests as $ua => $expected) { - $this->assertSame($expected, $visit->public_isUserAgentExcluded($ua), "Result if isUserAgentExcluded('$ua') was not " . ($expected ? 'true' : 'false') . "."); + $excluded = new Test_Piwik_Tracker_VisitExcluded_public($request, $ip = false, $ua); + + $this->assertSame($expected, $excluded->public_isUserAgentExcluded($ua), "Result if isUserAgentExcluded('$ua') was not " . ($expected ? 'true' : 'false') . "."); } } } -class Test_Piwik_TrackerVisit_public extends Piwik_Tracker_Visit +class Test_Piwik_Tracker_VisitExcluded_public extends Piwik_Tracker_VisitExcluded { public function public_isVisitorIpExcluded($ip) { -- GitLab