public function getApiForTesting() { // we will test all segments from all plugins Fixture::loadAllPlugins(); $apiToCall = array('VisitsSummary.get', 'CustomVariables.getCustomVariables'); return array(array($apiToCall, array('idSite' => 'all', 'date' => self::$fixture->dateTime, 'periods' => array('day', 'week'), 'setDateLastN' => true, 'segment' => $this->getSegmentToTest()))); }
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 setUp() { parent::setUp(); $this->idSite = Fixture::createWebsite('2012-01-01 00:00:00'); $this->formatter = new SegmentFormatter(new SegmentList()); Translate::loadAllTranslations(); }
public function testUpdateWorksAfterPiwikIsAlreadyUpToDate() { $result = Fixture::updateDatabase($force = true); if ($result === false) { throw new \Exception("Failed to force update (nothing to update)."); } }
public function test_filterDataTable_MatchesExactlyIntegration() { $date = Date::today()->addHour(10); $t = Fixture::getTracker($this->idSite, $date->getDatetime(), $defaultInit = true); $t->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'); $t->setUrl('http://example.org/%C3%A9%C3%A9%C3%A9%22%27...%20%3Cthis%20is%20cool%3E!'); $t->setGenerationTime(523); $t->doTrackPageView('incredible title! <>,;'); $t->setForceVisitDateTime($date->addHour(0.1)->getDatetime()); $t->setUrl('http://example.org/dir/file.php?foo=bar&foo2=bar'); $t->setGenerationTime(123); $t->doTrackPageView('incredible title! <>,;'); $t->setForceVisitDateTime($date->addHour(0.2)->getDatetime()); $t->setUrl('http://example.org/dir/file/xyz.php?foo=bar&foo2=bar'); $t->setGenerationTime(231); $t->doTrackPageView('incredible title! <>,;'); $t->setForceVisitDateTime($date->addHour(0.2)->getDatetime()); $t->setUrl('http://example.org/what-is-piwik'); $t->setGenerationTime(231); $t->doTrackPageView('incredible title! <>,;'); $t->setForceVisitDateTime($date->addHour(0.3)->getDatetime()); $t->setUrl('http://example.org/dir/file.php?foo=bar&foo2=bar'); $t->setGenerationTime(147); $t->doTrackPageView('incredible title! <>,;'); // for some reasons @dataProvider results in an "Mysql::getProfiler() undefined method" error $assertions = array(array('nb_hits', 'what-is-piwik', 1), array('nb_hits', '/what-is-piwik', null), array('nb_hits', 'foo', 3), array('nb_visits', 'foo', 2), array('nb_hits', 'i', 5), array('nb_hits', 'foo2=bar', 3), array('nb_hits', '/', 3), array('nb_hits', 'foo=bar&foo2=bar', 3), array('nb_hits', 'php?foo=bar&foo2=bar', 3), array('nb_hits', 'file.php?foo=bar&foo2=bar', 2), array('nb_hits', 'dir/file.php?foo=bar&foo2=bar', 2), array('nb_hits', 'dir', 3), array('avg_time_generation', 'dir/file.php?foo=bar&foo2=bar', 0.135), array('bounce_rate', 'php?foo=bar', 0)); foreach ($assertions as $assert) { $alert = array('report' => 'Actions_getPageUrls', 'metric' => $assert[0], 'period' => 'day', 'report_condition' => 'contains', 'report_matched' => Common::sanitizeInputValue($assert[1])); $value = $this->processor->getValueForAlertInPast($alert, $this->idSite, 0); $this->assertEquals($assert[2], $value, $assert[0] . ':' . $assert[1] . ' should return value ' . $assert[2] . ' but returns ' . $value); } }
public function setUp() { // add one thousand sites $allIdSites = array(); for ($i = 0; $i < 1000; ++$i) { $allIdSites[] = Fixture::createWebsite($this->date, $ecommerce = 1, $siteName = "Site #{$i}"); } $urls = array(); for ($i = 0; $i != 3; ++$i) { $url = "http://whatever.com/" . ($i - 1) . "/" . ($i + 1); $title = "page view " . ($i - 1) . " / " . ($i + 1); $urls[$url] = $title; } $visitTimes = array(); $date = Date::factory($this->date); for ($i = 0; $i != 4; ++$i) { $visitTimes[] = $date->addHour($i)->getDatetime(); } // add 12000 visits (3 visitors with 4 visits each for each site) w/ 3 pageviews each on one day foreach ($visitTimes as $visitTime) { foreach ($allIdSites as $idSite) { for ($visitor = 0; $visitor != 3; ++$visitor) { $t = BenchmarkTestCase::getLocalTracker($idSite); $ip = "157.5.6." . ($visitor + 1); $t->setIp($ip); $t->setNewVisitorId(); $t->setForceVisitDateTime($visitTime); foreach ($urls as $url => $title) { $t->setUrl($url); $t->doTrackPageView($title); } } } } }
public function testWebArchiving() { if (self::isMysqli() && self::isTravisCI()) { $this->markTestSkipped('Skipping on Mysqli as it randomly fails.'); } $host = Fixture::getRootUrl(); $token = Fixture::getTokenAuth(); $urlTmp = Option::get('piwikUrl'); Option::set('piwikUrl', $host . 'tests/PHPUnit/proxy/index.php'); $url = $host . 'tests/PHPUnit/proxy/archive.php?token_auth=' . $token; $output = Http::sendHttpRequest($url, 600); // ignore random build issues if (empty($output) || strpos($output, \Piwik\CronArchive::NO_ERROR) === false) { $message = "This test has failed. Because it sometimes randomly fails, we skip the test, and ignore this failure.\n"; $message .= "If you see this message often, or in every build, please investigate as this should only be a random and rare occurence!\n"; $message .= "\n\narchive web failed: " . $output . "\n\nurl used: {$url}"; $this->markTestSkipped($message); } if (!empty($urlTmp)) { Option::set('piwikUrl', $urlTmp); } else { Option::delete('piwikUrl'); } $this->assertContains('Starting Piwik reports archiving...', $output); $this->assertContains('Archived website id = 1', $output); $this->assertContains('Done archiving!', $output); $this->compareArchivePhpOutputAgainstExpected($output); }
public function setUp() { parent::setUp(); FakeAccess::$superUser = true; $idSite = Fixture::createWebsite('2014-01-01 00:00:00'); $this->builder = $this->makeBuilder(array('method' => 'MultiSites_getAll', 'idSite' => $idSite)); }
public function setUp() { parent::setUp(); // setup the access layer FakeAccess::$superUser = true; Fixture::createWebsite('2015-01-01 00:00:00'); }
public static function setUpBeforeClass() { parent::setUpBeforeClass(); Fixture::createWebsite('2012-01-01 00:00:00'); Fixture::createWebsite('2012-01-01 00:00:00'); Fixture::createWebsite('2012-01-01 00:00:00'); }
public function setUp() { parent::setUp(); if (!Fixture::siteCreated(1)) { Fixture::createWebsite('2014-01-01 00:00:00'); } }
public function setUp() { parent::setUp(); foreach (self::$dataToInsert as $table => $rows) { self::insertRowData($table, $rows); } }
public function setUp() { parent::setUp(); Fixture::createWebsite('2014-01-01 00:00:00'); Fixture::createWebsite('2014-01-01 00:00:00'); Cache::deleteTrackerCache(); $_SERVER['HTTP_USER_AGENT'] = ''; }
public function setUp() { parent::setUp(); for ($i = 1; $i <= $this->numSitesToCreate; $i++) { Fixture::createWebsite('2012-12-12 00:00:00', $ecommerce = 0, 'Site ' . $i); } $this->dashboard = $this->getMockBuilder('Piwik\\Plugins\\MultiSites\\Dashboard')->setMethods(null)->disableOriginalConstructor()->getMock(); }
public function setUp() { parent::setUp(); if (!Fixture::siteCreated($this->idSite)) { Fixture::createWebsite('2014-01-01 00:00:00'); } $this->settings = new SystemSettings(); }
public function setUp() { parent::setUp(); $this->tracker = new TestIntegrationTracker(); Fixture::createWebsite('2014-01-01 00:00:00'); Fixture::createWebsite('2014-01-01 00:00:00'); $this->injectRawDataToBulk($this->getDummyRequest()); }
public function setUp() { parent::setUp(); self::updateDatabase(); self::createWebsite("2012-01-01 00:00:00"); $fakeTasks = array('Piwik\\Plugins\\ExamplePlugin\\Tasks.myTask' => Date::factory("2012-01-02 02:33:45")->getTimestampUTC(), 'Piwik\\Plugins\\CoreUpdater\\Tasks.sendNotificationIfUpdateAvailable' => Date::factory("2012-03-04 13:45:56")->getTimestampUTC(), 'Piwik\\Plugins\\CorePluginsAdmin\\Tasks.sendNotificationIfUpdatesAvailable' => Date::factory("2012-02-12 15:12:10")->getTimestampUTC()); Option::set('TaskScheduler.timetable', serialize($fakeTasks)); }
public function setUp() { parent::setUp(); $this->january = Date::factory('2015-01-01'); $this->february = Date::factory('2015-02-01'); $this->insertOutdatedArchives($this->january); $this->insertOutdatedArchives($this->february); }
public function setUp() { parent::setUp(); if (!Fixture::siteCreated(1)) { Fixture::createWebsite('2015-01-01 00:00:00'); } $this->channels = new Plugin\ReleaseChannels(StaticContainer::get('Piwik\\Plugin\\Manager')); }
private function buildTracker() { $t = Fixture::getTracker($this->idSite, Date::factory('2014-01-05 00:01:01')->getDatetime()); $t->setDebugStringAppend('debug=1'); $t->setTokenAuth(Fixture::getTokenAuth()); $t->setUrl('http://example.org/index1.htm'); return $t; }
public function setUp() { parent::setUp(); // setup the access layer FakeAccess::$superUser = true; $this->manager = new SitesManager(); $this->siteId = Fixture::createWebsite('2014-03-03 00:00:00'); }
public function setUp() { parent::setUp(); $pseudoMockAccess = new \FakeAccess(); \FakeAccess::setSuperUserAccess(true); Access::setSingletonInstance($pseudoMockAccess); $idSite = Fixture::createWebsite('2014-01-01 00:00:00'); $this->builder = $this->makeBuilder(array('method' => 'MultiSites_getAll', 'idSite' => $idSite)); }
public function setUp() { parent::setUp(); $date = '2012-01-01 00:00:00'; $ecommerce = false; Fixture::createWebsite($date, $ecommerce, $name = 'test1', $url = 'http://piwik.org/'); Fixture::createWebsite($date, $ecommerce, $name = 'test3', $url = 'http://piwik.xyz/'); $this->keyword = new Keyword(); }
public function setUp() { parent::setUp(); $this->api = API::getInstance(); $this->model = new Model(); $this->setSuperUser(); $this->idSite = Fixture::createWebsite('2012-08-09 11:22:33'); $this->idSite2 = Fixture::createWebsite('2012-08-10 11:22:33'); }
function checkPiwikSetupForTests() { if (empty($_SERVER['REQUEST_URI']) || $_SERVER['REQUEST_URI'] == '@REQUEST_URI@') { echo "WARNING: for tests to pass, you must first:\n1) Install webserver on localhost, eg. apache\n2) Make these Piwik files available on the webserver, at eg. http://localhost/dev/piwik/\n3) Install Piwik by going through the installation process\n4) Copy phpunit.xml.dist to phpunit.xml\n5) Edit in phpunit.xml the @REQUEST_URI@ and replace with the webserver path to Piwik, eg. '/dev/piwik/'\n\nTry again.\n-> If you still get this message, you can work around it by specifying Host + Request_Uri at the top of this file tests/PHPUnit/bootstrap.php. <-"; exit(1); } $baseUrl = \Piwik\Tests\Framework\Fixture::getRootUrl(); \Piwik\SettingsPiwik::checkPiwikServerWorking($baseUrl, $acceptInvalidSSLCertificates = true); }
public function setUp() { parent::setUp(); // setup the access layer FakeAccess::$superUser = true; for ($i = 0; $i < $this->site2; $i++) { Fixture::createWebsite('2015-01-01 00:00:00'); } }
public function setUp() { parent::setUp(); if (!Fixture::siteCreated($this->idSite)) { Fixture::createWebsite('2015-01-01 00:00:00'); } $this->storage = $this->createStorage(); $this->setting = $this->createSetting('test'); }
public function setUp() { parent::setUp(); $this->api = API::getInstance(); Fixture::createAccessInstance(); Piwik::setUserHasSuperUserAccess(); Fixture::createWebsite('2014-01-01 00:00:00'); Fixture::createWebsite('2014-01-01 00:00:00'); }
public function setUp() { parent::setUp(); // create extra sites that users won't have access to Fixture::createWebsite('2013-01-01 00:00:00'); Fixture::createWebsite('2013-01-01 00:00:00'); Fixture::createWebsite('2013-01-01 00:00:00'); Access::getInstance()->setSuperUserAccess(false); }
public function setUp() { parent::setUp(); $this->api = API::getInstance(); Fixture::createSuperUser(); if (!Fixture::siteCreated(1)) { Fixture::createWebsite('2012-01-01 00:00:00'); } $this->setSuperUser(); }