예제 #1
0
 protected function setUser()
 {
     FakeAccess::$superUser = false;
     FakeAccess::$idSitesAdmin = array();
     FakeAccess::$idSitesView = array(99);
     FakeAccess::$identity = 'aUser';
 }
예제 #2
0
파일: APITest.php 프로젝트: GovanifY/piwik
 protected function setNonAdminUser()
 {
     FakeAccess::setSuperUserAccess(false);
     FakeAccess::$idSitesView = array(99);
     FakeAccess::$identity = 'aUser';
 }
예제 #3
0
 /**
  * @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();
     }
 }
예제 #4
0
 public function test_getTriggeredAlerts_ShouldReturnAllThatMatchesLoginAndIdSite()
 {
     $idSite = 1;
     $this->setSuperUser();
     $this->model->triggerAlert(2, $idSite, 99, 48, Date::now()->getDatetime());
     $triggeredAlerts = $this->api->getTriggeredAlerts(array($idSite));
     $this->assertCount(1, $triggeredAlerts);
     $triggeredAlerts = $this->api->getTriggeredAlerts(array($idSite, 2));
     $this->assertCount(1, $triggeredAlerts);
     // no matching site
     $triggeredAlerts = $this->api->getTriggeredAlerts(array(2));
     $this->assertCount(0, $triggeredAlerts);
     // different login
     FakeAccess::$identity = 'differentLoginButStillSuperuser';
     $triggeredAlerts = $this->api->getTriggeredAlerts(array($idSite, 2));
     $this->assertCount(0, $triggeredAlerts);
     // different login
     $this->setUser();
     FakeAccess::$idSitesView = array(1);
     $triggeredAlerts = $this->api->getTriggeredAlerts(array(1));
     $this->assertCount(0, $triggeredAlerts);
 }
예제 #5
0
 protected function setUser()
 {
     FakeAccess::clearAccess(false);
     FakeAccess::$idSitesView = array(1);
     FakeAccess::$idSitesAdmin = array();
     FakeAccess::$identity = 'aUser';
 }
예제 #6
0
 private function setUser()
 {
     FakeAccess::$idSitesView = array(1);
     FakeAccess::$identity = 'userLogin';
     $this->createSettings();
 }
예제 #7
0
파일: test.php 프로젝트: diosmosis/piwik
    $dontUseTestConfig = $c->get('test.vars.dontUseTestConfig');
    if (!$dontUseTestConfig) {
        $settingsProvider = $c->get('Piwik\\Application\\Kernel\\GlobalSettingsProvider');
        return new TestConfig($settingsProvider, $testingEnvironment, $allowSave = false, $doSetTestEnvironment = true);
    } else {
        return $previous;
    }
}), 'Piwik\\Access' => DI\decorate(function ($previous, ContainerInterface $c) {
    $testUseMockAuth = $c->get('test.vars.testUseMockAuth');
    if ($testUseMockAuth) {
        $idSitesAdmin = $c->get('test.vars.idSitesAdminAccess');
        $idSitesView = $c->get('test.vars.idSitesViewAccess');
        $access = new FakeAccess();
        if (!empty($idSitesView)) {
            FakeAccess::$superUser = false;
            FakeAccess::$idSitesView = $idSitesView;
            FakeAccess::$idSitesAdmin = !empty($idSitesAdmin) ? $idSitesAdmin : array();
            FakeAccess::$identity = 'viewUserLogin';
        } elseif (!empty($idSitesAdmin)) {
            FakeAccess::$superUser = false;
            FakeAccess::$idSitesAdmin = $idSitesAdmin;
            FakeAccess::$identity = 'adminUserLogin';
        } else {
            FakeAccess::$superUser = true;
            FakeAccess::$superUserLogin = '******';
        }
        return $access;
    } else {
        return $previous;
    }
}), 'observers.global' => DI\add(array(array('AssetManager.getStylesheetFiles', function (&$stylesheets) {
 protected function setUser()
 {
     FakeAccess::clearAccess();
     FakeAccess::$idSitesView = array(1);
 }