예제 #1
0
 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 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 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());
 }
 /**
  * @expectedException \Exception
  * @expectedExceptionMessage CoreAdminHome_PluginSettingReadNotAllowed
  */
 public function testGetSettingValue_shouldThrowException_IfNoPermissionToRead()
 {
     FakeAccess::clearAccess();
     $this->createSetting()->getValue();
 }
예제 #5
0
파일: ApiTest.php 프로젝트: JoeHorn/piwik
 private function setAnonymous()
 {
     FakeAccess::clearAccess();
     FakeAccess::$identity = 'anonymous';
 }
예제 #6
0
 /**
  * @expectedException \Exception
  * @expectedExceptionMessage checkUserHasViewAccess Fake exception
  */
 public function test_getAlerts_shouldFail_IfUserDoesNotHaveAccessToWebsite()
 {
     FakeAccess::clearAccess();
     $this->api->getAlerts(array($this->idSite));
 }
예제 #7
0
 protected function setAnonymousUser()
 {
     FakeAccess::clearAccess();
     FakeAccess::$identity = 'anonymous';
 }
예제 #8
0
 /**
  * @expectedException \Exception
  * @expectedExceptionMessage CoreAdminHome_PluginSettingReadNotAllowed
  */
 public function testGetSettingValue_shouldThrowException_IfNoPermissionToRead()
 {
     FakeAccess::clearAccess();
     $this->measurable->getSettingValue('app_id');
 }
 /**
  * @expectedException \Exception
  * @expectedExceptionMessage checkUserHasAdminAccess
  */
 public function test_save_shouldCheckAdminPermissionsForThatSite()
 {
     FakeAccess::clearAccess();
     $this->settings->save();
 }
예제 #10
0
 /**
  * @expectedException \Exception
  * @expectedExceptionMessage checkUserHasSomeAdminAccess Fake exception
  */
 public function testGetUserLoginFromUserEmail_shouldThrowException_IfUserDoesNotHaveAtLeastAdminPermission()
 {
     FakeAccess::clearAccess($superUser = false, $admin = array(), $view = array(1));
     $this->api->getUserLoginFromUserEmail('*****@*****.**');
 }
예제 #11
0
 /**
  * @expectedException \Exception
  * @expectedExceptionMessage checkUserHasSuperUserAccess Fake exception
  */
 public function test_getLogConfig_shouldThrowExceptionIfNotEnoughPermission()
 {
     FakeAccess::clearAccess(false);
     $this->api->getLogConfig();
 }
예제 #12
0
 private function configureAcccessForLogin($login)
 {
     $hasSuperUser = false;
     $idSitesAdmin = array();
     $idSitesView = array();
     if ($login === 'login1') {
         $hasSuperUser = true;
     } elseif (isset($this->users[$login])) {
         $idSitesAdmin = $this->users[$login]['admin'];
         $idSitesView = $this->users[$login]['view'];
     }
     FakeAccess::clearAccess($hasSuperUser, $idSitesAdmin, $idSitesView, $login);
 }
 protected function setAnonymousUser()
 {
     FakeAccess::clearAccess();
 }
예제 #14
0
파일: ApiTest.php 프로젝트: diosmosis/piwik
 protected function setAdminUser($userName = '******')
 {
     FakeAccess::clearAccess($superUser = false, $idSitesAdmin = array(1, 2), $idSitesView = array(1, 2), $userName);
 }
예제 #15
0
 private function setAnonymous()
 {
     FakeAccess::clearAccess();
 }
예제 #16
0
 /**
  * @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);
 }
예제 #17
0
 private function setAnonymous()
 {
     FakeAccess::clearAccess();
     $this->createSettings();
 }