Skip to content
Extraits de code Groupes Projets
Valider 87dda2e9 rédigé par Benaka Moorthi's avatar Benaka Moorthi
Parcourir les fichiers

Forgot to add test/fixture changes in last commit.

parent 50c67e3c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -30,64 +30,117 @@ class Test_Piwik_Fixture_SomeVisitsManyPageviewsWithTransitions extends Test_Piw ...@@ -30,64 +30,117 @@ class Test_Piwik_Fixture_SomeVisitsManyPageviewsWithTransitions extends Test_Piw
private function setUpWebsitesAndGoals() private function setUpWebsitesAndGoals()
{ {
self::createWebsite($this->dateTime); self::createWebsite($this->dateTime, $ecommerce = 0, $siteName = 'Piwik test', $siteUrl = false,
$siteSearch = 1);
} }
private function trackVisits() private function trackVisits()
{ {
$visit1 = $this->createVisit(1); $tracker = self::getTracker($this->idSite, $this->dateTime, $defaultInit = true);
$visit1->setUrlReferrer('http://www.google.com.vn/url?sa=t&rct=j&q=%3C%3E%26%5C%22the%20pdo%20extension%20is%20required%20for%20this%20adapter%20but%20the%20extension%20is%20not%20loaded&source=web&cd=4&ved=0FjAD&url=http%3A%2F%2Fforum.piwik.org%2Fread.php%3F2%2C1011&ei=y-HHAQ&usg=AFQjCN2-nt5_GgDeg&cad=rja'); $tracker->setTokenAuth(self::getTokenAuth());
$this->trackPageView($visit1, 0, 'page/one.html'); $tracker->enableBulkTracking();
$this->trackPageView($visit1, 0.1, 'sub/dir/page2.html');
$this->trackPageView($visit1, 0.2, 'page/one.html'); $tracker->setIp('156.5.3.1');
$this->trackPageView($visit1, 0.3, 'the/third_page.html?foo=bar'); $tracker->setUrlReferrer('http://www.google.com.vn/url?sa=t&rct=j&q=%3C%3E%26%5C%22the%20pdo%20extension%20is%20required%20for%20this%20adapter%20but%20the%20extension%20is%20not%20loaded&source=web&cd=4&ved=0FjAD&url=http%3A%2F%2Fforum.piwik.org%2Fread.php%3F2%2C1011&ei=y-HHAQ&usg=AFQjCN2-nt5_GgDeg&cad=rja');
$this->trackPageView($visit1, 0.4, 'page/one.html'); $this->trackPageView($tracker, 0, 'page/one.html');
$this->trackPageView($visit1, 0.5, 'the/third_page.html?foo=bar'); $this->trackPageView($tracker, 0.1, 'sub/dir/page2.html');
$this->trackPageView($visit1, 0.6, 'page/one.html'); $this->trackPageView($tracker, 0.2, 'page/one.html');
$this->trackPageView($visit1, 0.7, 'the/third_page.html?foo=baz#anchor1'); $this->trackPageView($tracker, 0.3, 'the/third_page.html?foo=bar');
$this->trackPageView($visit1, 0.8, 'page/one.html'); $this->trackPageView($tracker, 0.4, 'page/one.html');
$this->trackPageView($visit1, 0.9, 'page/one.html'); $this->trackPageView($tracker, 0.5, 'the/third_page.html?foo=bar');
$this->trackPageView($visit1, 1.0, 'the/third_page.html?foo=baz#anchor2'); $this->trackPageView($tracker, 0.6, 'page/one.html');
$this->trackPageView($visit1, 1.1, 'page/one.html'); $this->trackPageView($tracker, 0.7, 'the/third_page.html?foo=baz#anchor1');
$this->trackPageView($visit1, 1.2, 'page3.html'); $this->trackPageView($tracker, 0.8, 'page/one.html');
$this->trackPageView($tracker, 0.9, 'page/one.html');
$this->trackPageView($tracker, 1.0, 'the/third_page.html?foo=baz#anchor2');
$this->trackPageView($tracker, 1.1, 'page/one.html');
$this->trackPageView($tracker, 1.2, 'page3.html');
$visit2 = $this->createVisit(2); $tracker->setIp('156.5.3.2');
$visit2->setUrlReferrer('http://www.external.com.vn/referrerPage-notCounted.html'); $tracker->setNewVisitorId();
$this->trackPageView($visit2, 0, 'sub/dir/page2.html'); $tracker->setUrlReferrer('http://www.external.com.vn/referrerPage-notCounted.html');
$this->trackPageView($visit2, 0.1, 'the/third_page.html?foo=bar'); $this->trackPageView($tracker, 0, 'sub/dir/page2.html');
$this->trackPageView($visit2, 0.2, 'page/one.html'); $this->trackPageView($tracker, 0.1, 'the/third_page.html?foo=bar');
$this->trackPageView($visit2, 0.3, 'the/third_page.html?foo=baz#anchor1'); $this->trackPageView($tracker, 0.2, 'page/one.html');
$this->trackPageView($tracker, 0.3, 'the/third_page.html?foo=baz#anchor1');
$visit3 = $this->createVisit(3); $tracker->setIp('156.5.3.3');
$visit3->setUrlReferrer('http://www.external.com.vn/referrerPage-counted.html'); $tracker->setNewVisitorId();
$this->trackPageView($visit3, 0.1, 'page/one.html'); $tracker->setUrlReferrer('http://www.external.com.vn/referrerPage-counted.html');
$this->trackPageView($visit3, 0.2, 'sub/dir/page2.html'); $this->trackPageView($tracker, 0.1, 'page/one.html');
$this->trackPageView($visit3, 0.3, 'page/one.html'); $this->trackPageView($tracker, 0.2, 'sub/dir/page2.html');
$this->trackPageView($tracker, 0.3, 'page/one.html');
$visit4 = $this->createVisit(4); $tracker->setIp('156.5.3.4');
$this->trackPageView($visit4, 0, 'page/one.html?pk_campaign=TestCampaign&pk_kwd=TestKeyword'); $tracker->setNewVisitorId();
$tracker->setUrlReferrer('');
$this->trackPageView($tracker, 0, 'page/one.html?pk_campaign=TestCampaign&pk_kwd=TestKeyword');
$visit5 = $this->createVisit(5); $tracker->setIp('156.5.3.5');
$this->trackPageView($visit5, 0, 'page/one.html'); $tracker->setNewVisitorId();
$tracker->setUrlReferrer('');
$this->trackPageView($tracker, 0, 'page/one.html');
// perform site search before & after page/one.html, then outlink after page/one.html, then download
// before & after
$tracker->setIp('156.5.3.6');
$tracker->setNewVisitorId();
$this->trackPageView($tracker, 0, 'page/search.html#q=mykwd', $this->dateTime, $pageViewType = 'site-search',
$searchKeyword = 'mykwd', $searchCategory = 'mysearchcat');
$this->trackPageView($tracker, 0.1, 'page/one.html');
$this->trackPageView($tracker, 0.2, 'page/search.html#q=anotherkwd', $this->dateTime,
$pageViewType = 'site-search', $searchKeyword = 'anotherkwd',
$searchCategory = 'mysearchcat');
$this->trackPageView($tracker, 0.25, 'page/one.html');
$this->trackPageView($tracker, 0.3, 'to/outlink/page.html', $this->dateTime, $pageViewType = 'outlink');
$this->trackPageView($tracker, 0.35, 'page/one.html');
$this->trackPageView($tracker, 0.4, '', $this->dateTime, $pageViewType = 'download');
$this->trackPageView($tracker, 0.45, 'page/one.html');
$this->trackPageView($tracker, 0.5, '', $this->dateTime, $pageViewType = 'download');
$this->trackPageView($tracker, 0.55, 'page/one.html');
$this->trackPageView($tracker, 0.6, 'to/outlink/page2.html', $this->dateTime, $pageViewType = 'outlink');
// perform new searches/outlinks before & after in later date to test 'month' period
$laterDate = Piwik_Date::factory($this->dateTime)->addDay(8)->getDatetime();
$tracker->setIp('156.5.3.7');
$tracker->setNewVisitorId();
$this->trackPageView($tracker, 0, 'page/search.html#q=thirdkwd', $laterDate, $pageViewType = 'site-search',
$searchKeyword = 'thirdkwd', $searchCategory = 'mysearchcat');
$this->trackPageView($tracker, 0.1, 'page/one.html', $laterDate);
$this->trackPageView($tracker, 0.15, 'to/another/outlink.html', $laterDate, $pageViewType = 'outlink');
$this->trackPageView($tracker, 0.2, 'page/one.html', $laterDate);
$this->trackPageView($tracker, 0.25, 'page/search.html#q=anotherkwd', $laterDate,
$pageViewType = 'site-search', $searchKeyword = 'anotherkwd',
$searchCategory = 'mysearchcat');
self::checkResponse($tracker->doBulkTrack());
} }
private function createVisit($id) private function trackPageView($visit, $timeOffset, $path, $dateTime = null, $pageViewType = 'normal',
{ $searchKeyword = null, $searchCategory = null)
$visit = self::getTracker($this->idSite, $this->dateTime, $defaultInit = true);
$visit->setIp('156.5.3.' . $id);
return $visit;
}
private function trackPageView($visit, $timeOffset, $path)
{ {
if ($dateTime === null) {
$dateTime = $this->dateTime;
}
// rotate protocol and www to make sure it doesn't matter // rotate protocol and www to make sure it doesn't matter
$prefixes = array('http://', 'http://www.', 'https://', 'https://'); $prefixes = array('http://', 'http://www.', 'https://', 'https://');
$prefix = $prefixes[$this->prefixCounter]; $prefix = $prefixes[$this->prefixCounter % 4];
$this->prefixCounter = ($this->prefixCounter + 1) % 4; $this->prefixCounter = $this->prefixCounter + 1;
/** @var $visit PiwikTracker */ /** @var $visit PiwikTracker */
$visit->setUrl($prefix . 'example.org/' . $path); $visit->setUrl($prefix . 'example.org/' . $path);
$visit->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour($timeOffset)->getDatetime()); $visit->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour($timeOffset)->getDatetime());
self::checkResponse($visit->doTrackPageView('page title'));
if ($pageViewType == 'normal') {
self::assertTrue($visit->doTrackPageView('page title - ' . $path));
} else if ($pageViewType == 'outlink') {
self::assertTrue($visit->doTrackAction($prefix . 'anothersite.com/' . $path, 'link'));
} else if ($pageViewType == 'download') {
$downloadUrl = $prefix . 'example.org/downloads/' . $this->prefixCounter . '.tar.gz';
self::assertTrue($visit->doTrackAction($downloadUrl, 'download'));
} else if ($pageViewType == 'site-search') {
self::assertTrue($visit->doTrackSiteSearch($searchKeyword, $searchCategory, $this->prefixCounter));
}
} }
} }
...@@ -23,6 +23,46 @@ class Test_Piwik_Integration_Transitions extends IntegrationTestCase ...@@ -23,6 +23,46 @@ class Test_Piwik_Integration_Transitions extends IntegrationTestCase
$return[] = array('Transitions.getTransitionsForPageUrl', array( $return[] = array('Transitions.getTransitionsForPageUrl', array(
'idSite' => self::$fixture->idSite, 'idSite' => self::$fixture->idSite,
'date' => self::$fixture->dateTime, 'date' => self::$fixture->dateTime,
'periods' => array('day', 'month'),
'testSuffix' => '_noLimit',
'otherRequestParameters' => array(
'pageUrl' => 'http://example.org/page/one.html',
)
));
$return[] = array('Transitions.getTransitionsForPageTitle', array(
'idSite' => self::$fixture->idSite,
'date' => self::$fixture->dateTime,
'periods' => array('day', 'month'),
'testSuffix' => '_noLimit',
'otherRequestParameters' => array(
'pageTitle' => 'page title - page/one.html',
)
));
// test w/ pages that don't exist
$return[] = array('Transitions.getTransitionsForPageUrl', array(
'idSite' => self::$fixture->idSite,
'date' => self::$fixture->dateTime,
'periods' => array('day', 'month'),
'testSuffix' => '_noData',
'otherRequestParameters' => array(
'pageUrl' => 'http://example.org/not/a/page.html',
)
));
$return[] = array('Transitions.getTransitionsForPageTitle', array(
'idSite' => self::$fixture->idSite,
'date' => self::$fixture->dateTime,
'periods' => array('day', 'month'),
'testSuffix' => '_noData',
'otherRequestParameters' => array(
'pageTitle' => 'not a page title',
)
));
$return[] = array('Transitions.getTransitionsForPageUrl', array( // test w/ limiting
'idSite' => self::$fixture->idSite,
'date' => self::$fixture->dateTime,
'periods' => array('day', 'month'),
'otherRequestParameters' => array( 'otherRequestParameters' => array(
'pageUrl' => 'http://example.org/page/one.html', 'pageUrl' => 'http://example.org/page/one.html',
'limitBeforeGrouping' => 2 'limitBeforeGrouping' => 2
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter