public function setUp() { // add one site Fixture::createWebsite($this->date, $ecommerce = 1, $siteName = "Site #0", $siteUrl = "http://whatever.com/"); // add two goals $goals = API::getInstance(); $goals->addGoal($this->idSite, 'all', 'url', 'http', 'contains', false, 5); $goals->addGoal($this->idSite, 'all', 'url', 'thing2', 'contains'); $start = Date::factory($this->date); $dates = array(); for ($day = 0; $day != 31; ++$day) { $dates[] = $start->addDay($day); } $t = BenchmarkTestCase::getLocalTracker($this->idSite); $actionNum = 0; foreach ($dates as $date) { for ($visitNum = 0; $visitNum != 1000; ++$visitNum) { if ($visitNum % 2 == 0) { $url = "http://whatever.com/{$actionNum}/0/1/2/3/4/5/6/7/8/9"; $referrerUrl = "http://google.com/?q={$actionNum}"; } else { $url = "http://whatever.com/thing2/{$actionNum}/0/1/2/3/4/5/6/7/8/9"; $referrerUrl = "http://"; } $title = "A page title / {$actionNum} / 0 / 1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 /9"; $t->setNewVisitorId(); $t->setForceVisitDateTime($date); $t->setUrl($url); $t->setUrlReferrer($referrerUrl); Fixture::checkResponse($t->doTrackPageView($title)); ++$actionNum; } } }
public function test_shouldNotReturnDebugOutput_IfDebugOnDemandIsDisabled() { $this->setTrackerConfig(array('debug_on_demand' => '0', 'debug' => 0)); $tracker = $this->buildTracker(); $tracker->setDebugStringAppend('debug=1'); Fixture::checkResponse($tracker->doTrackPageView('incredible title!')); }
public function test_TrackingOldVisit_ForSiteWithNoTsCreatedTime_DoesNotResetCreatedTime() { Fixture::createWebsite('2015-01-01 00:00:00'); $this->unsetCreatedTime($idSite = 1); $createdTime = $this->getSiteCreatedTime($idSite = 1); $this->assertEquals(null, $createdTime); $t = $this->getLocalTracker(); $t->setForceVisitDateTime('2014-08-06 07:53:09'); Fixture::checkResponse($t->doTrackPageView('page view')); $createdTime = $this->getSiteCreatedTime($idSite = 1); $this->assertEquals(null, $createdTime); }
public function test_main_shouldReadValuesFromGETandPOSTifNoRequestSet() { $_GET = array('idsite' => '1'); $_POST = array('url' => 'http://localhost/post'); $requestSet = $this->getEmptyRequestSet(); $response = $this->tracker->main($this->getDefaultHandler(), $requestSet); $_GET = array(); $_POST = array(); Fixture::checkResponse($response); $this->assertSame(1, $this->tracker->getCountOfLoggedRequests()); $identifiedRequests = $requestSet->getRequests(); $this->assertCount(1, $identifiedRequests); $this->assertEquals(array('idsite' => '1', 'url' => 'http://localhost/post'), $identifiedRequests[0]->getParams()); }
private function trackVisits() { $dateTime = $this->dateTime; $idSite = $this->idSite; // visitors $visitor1 = $this->makeTracker($idSite, $dateTime); $visitor1->setIp("123.45.67.8"); $visitor1->setCity("Järvenpää"); $visitor1->setUserAgent("Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36"); $visitor2 = $this->makeTracker($idSite, $dateTime); $visitor2->setIp("99.44.55.66"); $visitor2->setCity("Shirahama"); $visitor2->setUserAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0"); $visitor3 = $this->makeTracker($idSite, $dateTime); $visitor3->setIp("121.244.65.34"); $visitor3->setCity("Porto Covo"); $visitor3->setUserAgent("Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36"); $visitor4 = $this->makeTracker($idSite, $dateTime); $visitor4->setIp("87.45.34.98"); $visitor4->setCity("Järvenpää"); $visitor4->setUserAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0"); $visitor5 = $this->makeTracker($idSite, $dateTime); $visitor5->setIp("76.45.63.27"); $visitor5->setCity("Järvenpää"); $visitor5->setUserAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0"); // visits to site 1 (2 from visitor1, 1 from visitor2, 2 from visitor4, 2 from visitor5) $visitor1->setIdSite($this->idSite); $visitor1->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime()); $visitor1->setUrl('http://kilamanjaro.org/kibo'); Fixture::checkResponse($visitor1->doTrackPageView("page title")); $visitor1->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(1)->getDatetime()); $visitor1->setUrl('http://ellsworth.org/vinsonmassif'); Fixture::checkResponse($visitor1->doTrackPageView("page title")); $visitor2->setIdSite($this->idSite); $visitor2->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime()); $visitor2->setUrl('http://himalayas.org/everest'); Fixture::checkResponse($visitor2->doTrackPageView("page title")); $visitor4->setIdSite($this->idSite); $visitor4->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime()); $visitor4->setUrl('http://caucasus.org/elbrus'); Fixture::checkResponse($visitor4->doTrackPageView("page title")); $visitor4->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(1)->getDatetime()); $visitor4->setUrl('http://alaskarange.org/mckinley'); Fixture::checkResponse($visitor4->doTrackPageView("page title")); $visitor5->setIdSite($this->idSite); $visitor5->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime()); $visitor5->setUrl('http://andes.org/aconcagua'); Fixture::checkResponse($visitor5->doTrackPageView("page title")); $visitor5->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(1)->getDatetime()); $visitor5->setUrl('http://bigben.org/mawson'); Fixture::checkResponse($visitor5->doTrackPageView("page title")); // visits to site 2 (1 from visitor1, 2 from visitor2, 1 from visitor4) $visitor1->setIdSite($this->idSite1); $visitor1->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime()); $visitor1->setUrl('http://janmayen.org/beerenberg'); Fixture::checkResponse($visitor1->doTrackPageView("page title")); $visitor2->setIdSite($this->idSite1); $visitor2->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime()); $visitor2->setUrl('http://saotome.org/picodesaotome'); Fixture::checkResponse($visitor2->doTrackPageView("page title")); $visitor2->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(1)->getDatetime()); $visitor2->setUrl('http://serradosorgaos.org/dedodedeus'); Fixture::checkResponse($visitor2->doTrackPageView("page title")); $visitor4->setIdSite($this->idSite1); $visitor4->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime()); $visitor4->setUrl('http://sumatra.org/gunungleuser'); Fixture::checkResponse($visitor4->doTrackPageView("page title")); // visits to site 3 (1 from visitor1, 2 from visitor3, 2 from visitor4, 1 from visitor5) $visitor1->setIdSite($this->idSite2); $visitor1->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime()); $visitor1->setUrl('http://victoria.org/feathertop'); Fixture::checkResponse($visitor1->doTrackPageView("page title")); $visitor3->setIdSite($this->idSite2); $visitor3->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime()); $visitor3->setUrl('http://cordilleracentral.org/volcanirazu'); Fixture::checkResponse($visitor3->doTrackPageView("page title")); $visitor3->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(1)->getDatetime()); $visitor3->setUrl('http://cascaderange.org/brokentop'); Fixture::checkResponse($visitor3->doTrackPageView("page title")); $visitor4->setIdSite($this->idSite2); $visitor4->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime()); $visitor4->setUrl('http://watkinsrange.org/gunnbjorn'); Fixture::checkResponse($visitor4->doTrackPageView("page title")); $visitor4->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(1)->getDatetime()); $visitor4->setUrl('http://niut.org/razorback'); Fixture::checkResponse($visitor4->doTrackPageView("page title")); $visitor5->setIdSite($this->idSite2); $visitor5->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime()); $visitor5->setUrl('http://stikineicecap.org/katesneedle'); Fixture::checkResponse($visitor5->doTrackPageView("page title")); }
public function test_response_ShouldContainAnImage() { $response = $this->tracker->doTrackPageView('Test'); Fixture::checkResponse($response); $this->assertNotEmpty($response); }
private function doPingRequest(\PiwikTracker $tracker, $pingTime, $changeDimensionValues) { if ($changeDimensionValues) { $tracker->setUserAgent(self::CHANGED_USER_AGENT); $tracker->setBrowserLanguage(self::CHANGED_BROWSER_LANGUAGE); $tracker->setCountry(self::CHANGED_COUNTRY); $tracker->setRegion(self::CHANGED_REGION); } $tracker->setForceVisitDateTime($pingTime); $response = $tracker->doPing(); Fixture::checkResponse($response); return $response; }
public function test_outputResponse_shouldOutputApiResponse_IfTrackerIsDisabled() { $this->response->init($this->getTracker()); $tracker = $this->getTracker(); $tracker->setCountOfLoggedRequests(0); $tracker->disableShouldRecordStatistics(); $this->response->outputResponse($tracker); Fixture::checkResponse($this->response->getOutput()); }
/** * @dataProvider getTypesOfErrorsForScheduledTasksTrackerFailureTest */ public function test_scheduledTasks_DoNotFailTracking_WhenScheduledTaskFails($doFatalError) { $this->setScheduledTasksToRunInTracker(); $this->addFailingScheduledTaskToTracker($doFatalError); $urlToTest = $this->getSimpleTrackingUrl(); $response = $this->sendTrackingRequestByCurl($urlToTest); Fixture::checkResponse($response); if ($doFatalError) { $this->assertScheduledTasksWereNotRun(); } else { $this->assertScheduledTasksWereRun(); } }
/** * @medium */ public function test_response_ShouldStartProcessingRequestsOnceLimitAchieved() { for ($i = 1; $i < $this->requestProcessLimit; $i++) { $response = $this->doTrackNumberOfRequests(2); Fixture::checkResponse($response); $this->assertNumEntriesInQueue($i); } $this->assertEmpty($this->getIdVisit(1)); // make sure nothing tracked yet // the last request should trigger processing them $this->doTrackNumberOfRequests(1); // it sends us the response before actually processing them $queue = $this->createQueue(); while ($queue->getNumberOfRequestSetsInAllQueues() !== 0) { usleep(100); } $this->assertNumEntriesInQueue(0); // make sure actually tracked $this->assertNotEmpty($this->getIdVisit(1)); $this->assertActionEquals('Test', 1); }