protected function setUser() { FakeAccess::$superUser = false; FakeAccess::$idSitesAdmin = array(); FakeAccess::$idSitesView = array(99); FakeAccess::$identity = 'aUser'; }
/** * @dataProvider getUnitColumns * @group Core */ public function testGetUnit($column, $expected) { Site::setSites(array(1 => array('name' => 'TestSite', 'currency' => 'EUR'))); FakeAccess::$superUser = true; $actual = Metrics::getUnit($column, 1); $this->assertEquals($expected, $actual); }
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(); $settings = new GlobalSettingsProvider($this->configPath('global.ini.php'), $this->configPath('config.ini.php'), $this->configPath('common.config.ini.php')); $this->configReader = new ConfigReader($settings, new IniReader()); FakeAccess::clearAccess($superUser = true); }
public function setUp() { parent::setUp(); // setup the access layer FakeAccess::$superUser = true; Fixture::createWebsite('2015-01-01 00:00:00'); }
public function setUp() { parent::setUp(); // setup the access layer FakeAccess::$superUser = true; ArchiveTableCreator::$tablesAlreadyInstalled = null; }
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(); // setup the access layer FakeAccess::$superUser = true; $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(); // 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(); // setup the access layer FakeAccess::$superUser = true; Manager::getInstance()->loadTrackerPlugins(); Manager::getInstance()->loadPlugin('SitesManager'); Visit::$dimensions = null; }
public function test_shouldAlwaysAddTrackingCallAndNotFail_IfUserIsAnonmyous() { $this->makePluginSettings(); FakeAccess::clearAccess($superUser = false, array(), array(), $login = '******'); $out = ''; Piwik::postEvent('Template.jsGlobalVariables', array(&$out)); $this->assertContains('var piwikUsageTracking = {"targets":[{"url"', $out); $this->assertContains('{"id":1,"name":"Access","value":"anonymous"}', $out); }
public function setUp() { parent::setUp(); $this->api = API::getInstance(); FakeAccess::$superUser = true; 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($this->login, 'password', '*****@*****.**'); }
public function setUp() { parent::setUp(); // setup the access layer FakeAccess::setIdSitesView(array(1, 2)); FakeAccess::setIdSitesAdmin(array(3, 4)); //finally we set the user as a Super User by default FakeAccess::$superUser = true; $this->auth = new Auth(); }
public function setUp() { parent::setUp(); // setup the access layer FakeAccess::setIdSitesView(array(1, 2)); FakeAccess::setIdSitesAdmin(array(3, 4)); //finally we set the user as a Super User by default FakeAccess::$superUser = true; $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(); // setup the access layer FakeAccess::setIdSitesView(array(1, 2)); FakeAccess::setIdSitesAdmin(array(3, 4)); //finally we set the user as a Super User by default FakeAccess::$superUser = true; $this->auth = new Auth(); $ga = new GoogleAuthenticator(); $this->secret = $ga->createSecret(32); }
public function setUp() { parent::setUp(); \Piwik\Plugin\Manager::getInstance()->loadPlugin('SegmentEditor'); \Piwik\Plugin\Manager::getInstance()->installLoadedPlugins(); // setup the access layer 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 = '******'; APISitesManager::getInstance()->addSite('test', 'http://example.org'); }
public function test_getServerVisitCustomVariables_shouldReturnSystemReport() { FakeAccess::clearAccess($superUser = true); for ($i = 1; $i < 15; $i++) { if (!Fixture::siteCreated($i)) { Fixture::createWebsite('2014-01-01 00:00:00'); } } for ($i = 1; $i < 9; $i++) { UsersApi::getInstance()->addUser($login = '******' . $i, 'password0815', "lorem{$i}@piwik.org"); } for ($i = 1; $i < 5; $i++) { SegmentApi::getInstance()->add('Segment' . $i, 'pageUrl%3D@inde'); } $customVars = array(array('id' => 1, 'name' => 'Piwik Version', 'value' => '2.14.3'), array('id' => 2, 'name' => 'PHP Version', 'value' => '5.5.27'), array('id' => 3, 'name' => 'Num Users', 'value' => 8), array('id' => 4, 'name' => 'Num Websites', 'value' => 14), array('id' => 5, 'name' => 'Num Segments', 'value' => 4), array('id' => 6, 'name' => 'MySQL Version', 'value' => Db::get()->getServerVersion())); $this->assertSame($customVars, $this->customVars->getServerVisitCustomVariables()); }
private function setAnonymous() { FakeAccess::clearAccess(); FakeAccess::$identity = 'anonymous'; }
protected function setNonAdminUser() { FakeAccess::setSuperUserAccess(false); FakeAccess::$idSitesView = array(99); FakeAccess::$identity = 'aUser'; }
/** * @expectedException \Exception * @expectedExceptionMessage checkUserHasViewAccess */ public function test_findSegment_ShouldThrowException_IfNotEnoughPermission() { FakeAccess::clearAccess($superUser = false, array(1)); $segment = $this->list->findSegment('pageUrl', 999); $this->assertNull($segment); }
protected function setSuperUser() { FakeAccess::$superUser = true; }
public function performSetUp($setupEnvironmentOnly = false) { // TODO: don't use static var, use test env var for this TestingEnvironmentManipulator::$extraPluginsToLoad = $this->extraPluginsToLoad; $this->dbName = $this->getDbName(); if ($this->persistFixtureData) { $this->dropDatabaseInSetUp = false; $this->dropDatabaseInTearDown = false; $this->overwriteExisting = false; $this->removeExistingSuperUser = false; } $testEnv = $this->getTestEnvironment(); $testEnv->testCaseClass = $this->testCaseClass; $testEnv->fixtureClass = get_class($this); $testEnv->dbName = $this->dbName; $testEnv->extraDiEnvironments = $this->extraDiEnvironments; foreach ($this->extraTestEnvVars as $name => $value) { $testEnv->{$name} = $value; } $testEnv->save(); $this->createEnvironmentInstance(); if ($this->dbName === false) { // must be after test config is created $this->dbName = self::getConfig()->database['dbname']; } try { static::connectWithoutDatabase(); if ($this->dropDatabaseInSetUp || $this->resetPersistedFixture) { $this->dropDatabase(); } DbHelper::createDatabase($this->dbName); DbHelper::disconnectDatabase(); Tracker::disconnectCachedDbConnection(); // reconnect once we're sure the database exists self::getConfig()->database['dbname'] = $this->dbName; Db::createDatabaseObject(); Db::get()->query("SET wait_timeout=28800;"); DbHelper::createTables(); self::getPluginManager()->unloadPlugins(); } catch (Exception $e) { static::fail("TEST INITIALIZATION FAILED: " . $e->getMessage() . "\n" . $e->getTraceAsString()); } include "DataFiles/Providers.php"; if (!$this->isFixtureSetUp()) { DbHelper::truncateAllTables(); } // We need to be SU to create websites for tests Access::getInstance()->setSuperUserAccess(); Cache::deleteTrackerCache(); self::resetPluginsInstalledConfig(); $testEnvironment = $this->getTestEnvironment(); static::loadAllPlugins($testEnvironment, $this->testCaseClass, $this->extraPluginsToLoad); self::updateDatabase(); self::installAndActivatePlugins($testEnvironment); $_GET = $_REQUEST = array(); $_SERVER['HTTP_REFERER'] = ''; FakeAccess::$superUserLogin = '******'; File::$invalidateOpCacheBeforeRead = true; if ($this->configureComponents) { IPAnonymizer::deactivate(); $dntChecker = new DoNotTrackHeaderChecker(); $dntChecker->deactivate(); } if ($this->createSuperUser) { self::createSuperUser($this->removeExistingSuperUser); if (!Access::getInstance() instanceof FakeAccess) { $this->loginAsSuperUser(); } APILanguageManager::getInstance()->setLanguageForUser('superUserLogin', 'en'); } SettingsPiwik::overwritePiwikUrl(self::getTestRootUrl()); if ($setupEnvironmentOnly) { return; } PiwikCache::getTransientCache()->flushAll(); if ($this->overwriteExisting || !$this->isFixtureSetUp()) { $this->setUp(); $this->markFixtureSetUp(); $this->log("Database {$this->dbName} marked as successfully set up."); } else { $this->log("Using existing database {$this->dbName}."); } }
private function setSuperUser() { FakeAccess::$superUser = true; }
/** * @dataProvider getPermissionsFailData */ public function testMethodPermissions($hasAdminAccess, $hasViewAccess, $request, $checkException, $failMessage) { // create fake access that denies user access FakeAccess::$superUser = false; FakeAccess::$idSitesAdmin = $hasAdminAccess ? array(self::$fixture->idSite1) : array(); FakeAccess::$idSitesView = $hasViewAccess ? array(self::$fixture->idSite1) : array(); if ($checkException) { try { $request = new Request($request); $request->process(); $this->fail($failMessage); } catch (Exception $ex) { // pass } } else { $request = new Request($request); $request->process(); } }
private function setAnonymous() { FakeAccess::clearAccess(); }
/** * @expectedException \Exception * @expectedExceptionMessage CoreAdminHome_PluginSettingReadNotAllowed */ public function testGetSettingValue_shouldThrowException_IfNoPermissionToRead() { FakeAccess::clearAccess(); $this->createSetting()->getValue(); }
public function testIsDefined() { // setup the access layer FakeAccess::$superUser = true; Translate::loadAllTranslations(); 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')); Translate::reset(); }
private function setIdentity($login) { FakeAccess::$identity = $login; FakeAccess::$superUser = true; }
public function test_getSitesIdFromSiteUrl_asUser() { API::getInstance()->addSite("site1", array("http://www.piwik.net", "https://piwik.com")); API::getInstance()->addSite("site2", array("http://piwik.com", "http://piwik.net")); API::getInstance()->addSite("site3", array("http://piwik.com", "http://piwik.org")); 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)); FakeAccess::$superUser = false; FakeAccess::$identity = 'user1'; FakeAccess::setIdSitesView(array(1)); FakeAccess::setIdSitesAdmin(array()); $this->assertFalse(Piwik::hasUserSuperUserAccess()); $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)); FakeAccess::$superUser = false; FakeAccess::$identity = 'user2'; FakeAccess::setIdSitesView(array(1)); FakeAccess::setIdSitesAdmin(array(3)); $idsites = API::getInstance()->getSitesIdFromSiteUrl('http://piwik.com'); $this->assertEquals(2, count($idsites)); FakeAccess::$superUser = false; FakeAccess::$identity = 'user3'; FakeAccess::setIdSitesView(array(1, 2)); FakeAccess::setIdSitesAdmin(array(3)); $idsites = API::getInstance()->getSitesIdFromSiteUrl('http://piwik.com'); $this->assertEquals(3, count($idsites)); $idsites = API::getInstance()->getSitesIdFromSiteUrl('https://www.piwik.com'); $this->assertEquals(3, count($idsites)); }
public function setUp() { parent::setUp(); // setup the access layer (required in Segment contrustor testing if anonymous is allowed to use segments) FakeAccess::$superUser = true; }