private function addAnnotations() { // create fake access for fake username $access = new FakeAccess(); FakeAccess::$superUser = true; Access::setSingletonInstance($access); // add two annotations per week for three months, starring every third annotation // first month in 2011, second two in 2012 $count = 0; $dateStart = Date::factory('2011-12-01'); $dateEnd = Date::factory('2012-03-01'); while ($dateStart->getTimestamp() < $dateEnd->getTimestamp()) { $starred = $count % 3 == 0 ? 1 : 0; $site1Text = "{$count}: Site 1 annotation for " . $dateStart->toString(); $site2Text = "{$count}: Site 2 annotation for " . $dateStart->toString(); API::getInstance()->add($this->idSite1, $dateStart->toString(), $site1Text, $starred); API::getInstance()->add($this->idSite2, $dateStart->toString(), $site2Text, $starred); $nextDay = $dateStart->addDay(1); ++$count; $starred = $count % 3 == 0 ? 1 : 0; $site1Text = "{$count}: Site 1 annotation for " . $nextDay->toString(); $site2Text = "{$count}: Site 2 annotation for " . $nextDay->toString(); API::getInstance()->add($this->idSite1, $nextDay->toString(), $site1Text, $starred); API::getInstance()->add($this->idSite2, $nextDay->toString(), $site2Text, $starred); $dateStart = $dateStart->addPeriod(1, 'WEEK'); ++$count; } }
public function setUp() { parent::setUp(); // setup the access layer $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); }
public function setUp() { parent::setUp(); // setup the access layer (required in Segment contrustor testing if anonymous is allowed to use segments) $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); }
public function setUp() { parent::setUp(); // setup the access layer $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); \Piwik\Plugin\Manager::getInstance()->loadPlugins(array('SitesManager')); }
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)); }
/** * @dataProvider getUnitColumns * @group Core */ public function testGetUnit($column, $expected) { \Piwik\Site::setSites(array(1 => array('name' => 'TestSite', 'currency' => 'EUR'))); $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); $actual = Metrics::getUnit($column, 1); $this->assertEquals($expected, $actual); }
public function setUp() { parent::setUp(); // setup the access layer $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = true; //finally we set the user as a Super User by default Access::setSingletonInstance($pseudoMockAccess); $this->idSiteAccess = APISitesManager::getInstance()->addSite("test", "http://test"); \Piwik\Plugin\Manager::getInstance()->loadPlugins(array('ScheduledReports', 'MobileMessaging', 'MultiSites')); \Piwik\Plugin\Manager::getInstance()->installLoadedPlugins(); }
public function setUp() { parent::setUp(); $this->api = API::getInstance(); $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); Fixture::createWebsite('2014-01-01 00:00:00'); Fixture::createWebsite('2014-01-01 00:00:00'); Fixture::createWebsite('2014-01-01 00:00:00'); $this->api->addUser('userLogin', 'password', '*****@*****.**'); }
public function setUp() { parent::setUp(); // setup the access layer $pseudoMockAccess = new FakeAccess(); FakeAccess::setIdSitesView(array(1, 2)); FakeAccess::setIdSitesAdmin(array(3, 4)); //finally we set the user as a Super User by default FakeAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); $this->auth = new Auth(); }
public function setUp() { parent::setUp(); // setup the access layer $pseudoMockAccess = new FakeAccess(); FakeAccess::setIdSitesView(array(1, 2)); FakeAccess::setIdSitesAdmin(array(3, 4)); //finally we set the user as a Super User by default FakeAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); $user_agents = array('Mozilla/6.0 (Macintosh; I; Intel Mac OS X 11_7_9; de-LI; rv:1.9b4) Gecko/2012010317 Firefox/10.0a4', 'Mozilla/5.0 (compatible; MSIE 10.6; Windows NT 6.1; Trident/5.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) 3gpp-gba UNTRUSTED/1.0', 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/18.6.872.0 Safari/535.2 UNTRUSTED/1.0 3gpp-gba UNTRUSTED/1.0', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; de-at) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1'); $_SERVER['HTTP_USER_AGENT'] = $user_agents[mt_rand(0, count($user_agents) - 1)]; }
public function setUp() { parent::setUp(); \Piwik\Plugin\Manager::getInstance()->loadPlugin('SegmentEditor'); \Piwik\Plugin\Manager::getInstance()->installLoadedPlugins(); // setup the access layer $pseudoMockAccess = new FakeAccess(); FakeAccess::setIdSitesView(array(1, 2)); FakeAccess::setIdSitesAdmin(array(3, 4)); //finally we set the user as a Super User by default FakeAccess::$superUser = true; FakeAccess::$superUserLogin = '******'; Access::setSingletonInstance($pseudoMockAccess); APISitesManager::getInstance()->addSite('test', 'http://example.org'); }
public function setUp() { parent::setUp(); \Piwik\Plugin\Manager::getInstance()->loadPlugin('UsersManager'); \Piwik\Plugin\Manager::getInstance()->installLoadedPlugins(); // setup the access layer $pseudoMockAccess = new FakeAccess(); FakeAccess::setIdSitesView(array(1, 2)); FakeAccess::setIdSitesAdmin(array(3, 4)); //finally we set the user as a Super User by default FakeAccess::$superUser = true; FakeAccess::$superUserLogin = '******'; Access::setSingletonInstance($pseudoMockAccess); $this->api = API::getInstance(); $this->model = new Model(); }
protected function setNonAdminUser() { $pseudoMockAccess = new \FakeAccess(); \FakeAccess::setSuperUserAccess(false); \FakeAccess::$idSitesView = array(99); \FakeAccess::$identity = 'aUser'; Access::setSingletonInstance($pseudoMockAccess); }
/** * @dataProvider getPermissionsFailData * @group Integration */ public function testMethodPermissions($hasAdminAccess, $hasViewAccess, $request, $checkException, $failMessage) { // create fake access that denies user access $access = new FakeAccess(); FakeAccess::$superUser = false; FakeAccess::$idSitesAdmin = $hasAdminAccess ? array(self::$fixture->idSite1) : array(); FakeAccess::$idSitesView = $hasViewAccess ? array(self::$fixture->idSite1) : array(); Access::setSingletonInstance($access); if ($checkException) { try { $request = new Request($request); $request->process(); $this->fail($failMessage); } catch (Exception $ex) { // pass } } else { $request = new Request($request); $response = $request->process(); } }
private function setIdentity($login) { $pseudoMockAccess = new \FakeAccess(); $pseudoMockAccess::$identity = $login; $pseudoMockAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); }
private function setAnonymous() { $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = false; Access::setSingletonInstance($pseudoMockAccess); }
/** * @group Core */ public function testIsDefined() { // setup the access layer $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); \Piwik\Translate::loadEnglishTranslation(); Fixture::createWebsite('2009-01-04 00:11:42', true); $_GET['idSite'] = 1; WidgetsList::_reset(); WidgetsList::add('Actions', 'Pages', 'Actions', 'getPageUrls'); $this->assertTrue(WidgetsList::isDefined('Actions', 'getPageUrls')); $this->assertFalse(WidgetsList::isDefined('Actions', 'inValiD')); }
/** * Sets up access instance. */ public static function createAccessInstance() { Access::setSingletonInstance(null); Access::getInstance(); Piwik::postEvent('Request.initAuthenticationObject'); }
public static function addHooks() { $testingEnvironment = new Piwik_TestingEnvironment(); if ($testingEnvironment->queryParamOverride) { foreach ($testingEnvironment->queryParamOverride as $key => $value) { $_GET[$key] = $value; } } if ($testingEnvironment->globalsOverride) { foreach ($testingEnvironment->globalsOverride as $key => $value) { $GLOBALS[$key] = $value; } } Config::setSingletonInstance(new Config($testingEnvironment->configFileGlobal, $testingEnvironment->configFileLocal, $testingEnvironment->configFileCommon)); \Piwik\CacheFile::$invalidateOpCacheBeforeRead = true; Piwik::addAction('Access.createAccessSingleton', function ($access) use($testingEnvironment) { if (!$testingEnvironment->testUseRegularAuth) { $access = new Piwik_MockAccess($access); \Piwik\Access::setSingletonInstance($access); } }); if (!$testingEnvironment->dontUseTestConfig) { Piwik::addAction('Config.createConfigSingleton', function (Config $config, &$cache, $local) use($testingEnvironment) { $config->setTestEnvironment($testingEnvironment->configFileLocal, $testingEnvironment->configFileGlobal, $testingEnvironment->configFileCommon); if ($testingEnvironment->configFileLocal) { unset($cache['General']); $config->General['session_save_handler'] = 'dbtable'; } $manager = \Piwik\Plugin\Manager::getInstance(); $pluginsToLoad = $manager->getPluginsToLoadDuringTests(); $config->Plugins = array('Plugins' => $pluginsToLoad); $trackerPluginsToLoad = array_filter($pluginsToLoad, function ($plugin) use($manager) { return $manager->isTrackerPlugin($manager->loadPlugin($plugin)); }); $config->Plugins_Tracker = array('Plugins_Tracker' => $trackerPluginsToLoad); $log = $config->log; $log['log_writers'] = array('file'); $config->log = $log; $manager->unloadPlugins(); // TODO: replace this and below w/ configOverride use if ($testingEnvironment->tablesPrefix) { $cache['database']['tables_prefix'] = $testingEnvironment->tablesPrefix; } if ($testingEnvironment->dbName) { $cache['database']['dbname'] = $testingEnvironment->dbName; } if ($testingEnvironment->configOverride) { $cache = $testingEnvironment->arrayMergeRecursiveDistinct($cache, $testingEnvironment->configOverride); } }); } Piwik::addAction('Request.dispatch', function () { \Piwik\Plugins\CoreVisualizations\Visualizations\Cloud::$debugDisableShuffle = true; \Piwik\Visualization\Sparkline::$enableSparklineImages = false; \Piwik\Plugins\ExampleUI\API::$disableRandomness = true; }); Piwik::addAction('AssetManager.getStylesheetFiles', function (&$stylesheets) { $stylesheets[] = 'tests/resources/screenshot-override/override.css'; }); Piwik::addAction('AssetManager.getJavaScriptFiles', function (&$jsFiles) { $jsFiles[] = 'tests/resources/screenshot-override/override.js'; }); self::addSendMailHook(); Piwik::addAction('Updater.checkForUpdates', function () { try { @\Piwik\Filesystem::deleteAllCacheOnUpdate(); } catch (Exception $ex) { // pass } }); $testingEnvironment->logVariables(); $testingEnvironment->executeSetupTestEnvHook(); }
public static function createAccessInstance() { Access::setSingletonInstance($access = new OverrideLogin()); \Piwik\Piwik::postEvent('Request.initAuthenticationObject'); }
private function setUser() { $pseudoMockAccess = new FakeAccess(); FakeAccess::$idSitesView = array(1); Access::setSingletonInstance($pseudoMockAccess); }
private static function setSuperUser() { $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); }
public function tearDown() { MenuReporting::getInstance()->unsetInstance(); Access::setSingletonInstance(null); parent::tearDown(); }
public function tearDown() { Access::setSingletonInstance(null); ArchiveTableCreator::$tablesAlreadyInstalled = null; }
private function setUser() { $pseudoMockAccess = new FakeAccess(); FakeAccess::$idSitesView = array(1); FakeAccess::$identity = 'userLogin'; Access::setSingletonInstance($pseudoMockAccess); $this->createSettings(); }
public function setUp() { parent::setUp(); Access::setSingletonInstance(null); }
protected function setUpRootAccess() { $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); }
/** * @group Plugins */ public function testGetSitesIdFromSiteUrlUser() { $idsite = API::getInstance()->addSite("site1", array("http://www.piwik.net", "http://piwik.com")); $idsite = API::getInstance()->addSite("site2", array("http://piwik.com", "http://piwik.net")); $idsite = API::getInstance()->addSite("site3", array("http://piwik.com", "http://piwik.org")); $saveAccess = Access::getInstance(); APIUsersManager::getInstance()->addUser("user1", "geqgegagae", "*****@*****.**", "alias"); APIUsersManager::getInstance()->setUserAccess("user1", "view", array(1)); APIUsersManager::getInstance()->addUser("user2", "geqgegagae", "*****@*****.**", "alias"); APIUsersManager::getInstance()->setUserAccess("user2", "view", array(1)); APIUsersManager::getInstance()->setUserAccess("user2", "admin", array(3)); APIUsersManager::getInstance()->addUser("user3", "geqgegagae", "*****@*****.**", "alias"); APIUsersManager::getInstance()->setUserAccess("user3", "view", array(1, 2)); APIUsersManager::getInstance()->setUserAccess("user3", "admin", array(3)); $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = false; FakeAccess::$identity = 'user1'; FakeAccess::setIdSitesView(array(1)); FakeAccess::setIdSitesAdmin(array()); Access::setSingletonInstance($pseudoMockAccess); $idsites = API::getInstance()->getSitesIdFromSiteUrl('http://piwik.com'); $this->assertEquals(1, count($idsites)); // testing URL normalization $idsites = API::getInstance()->getSitesIdFromSiteUrl('http://www.piwik.com'); $this->assertEquals(1, count($idsites)); $idsites = API::getInstance()->getSitesIdFromSiteUrl('http://piwik.net'); $this->assertEquals(1, count($idsites)); $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = false; FakeAccess::$identity = 'user2'; FakeAccess::setIdSitesView(array(1)); FakeAccess::setIdSitesAdmin(array(3)); Access::setSingletonInstance($pseudoMockAccess); $idsites = API::getInstance()->getSitesIdFromSiteUrl('http://piwik.com'); $this->assertEquals(2, count($idsites)); $pseudoMockAccess = new FakeAccess(); FakeAccess::$superUser = false; FakeAccess::$identity = 'user3'; FakeAccess::setIdSitesView(array(1, 2)); FakeAccess::setIdSitesAdmin(array(3)); Access::setSingletonInstance($pseudoMockAccess); $idsites = API::getInstance()->getSitesIdFromSiteUrl('http://piwik.com'); $this->assertEquals(3, count($idsites)); Access::setSingletonInstance($saveAccess); }