예제 #1
0
파일: AclTest.php 프로젝트: Kervinou/OBM
 public function testPublicRights() {
   OBM_Acl::initialize();
   $this->assertFalse(OBM_Acl::canAccess(2, 'cv', 1));
   $this->assertFalse(OBM_Acl::canRead(2, 'cv', 1));
   $this->assertFalse(OBM_Acl::canWrite(2, 'cv', 1));
   $this->assertFalse(OBM_Acl::canAdmin(2, 'cv', 1));
   OBM_Acl::setPublicRights('cv', 1, array('access' => 1, 'read' => 1, 'write' => 0));
   $this->assertTrue(OBM_Acl::canAccess(2, 'cv', 1));
   $this->assertTrue(OBM_Acl::canRead(2, 'cv', 1));
   $this->assertFalse(OBM_Acl::canWrite(2, 'cv', 1));
   $this->assertFalse(OBM_Acl::canAdmin(2, 'cv', 1));
   OBM_Acl::allow(2, 'cv', 1, 'admin');
   $this->assertTrue(OBM_Acl::canAccess(2, 'cv', 1));
   $this->assertTrue(OBM_Acl::canRead(2, 'cv', 1));
   $this->assertFalse(OBM_Acl::canWrite(2, 'cv', 1));
   $this->assertTrue(OBM_Acl::canAdmin(2, 'cv', 1));
   $this->assertEquals(OBM_Acl::getAllowedEntities(2, 'cv', 'read', null, 'title'), array(1 => 'CV Admin'));
   OBM_Acl::setPublicRights('cv', 1, array('access' => 1, 'read' => 1, 'write' => 0, 'admin' => 1));
   $this->assertTrue(OBM_Acl::canAccess(3, 'cv', 1));
   $this->assertTrue(OBM_Acl::canRead(3, 'cv', 1));
   $this->assertFalse(OBM_Acl::canWrite(3, 'cv', 1));
   $this->assertFalse(OBM_Acl::canAdmin(3, 'cv', 1));
   $this->assertEquals(OBM_Acl::getPublicRights('cv', 1), array(
     'access' => 1, 'read' => 1, 'write' => 0, 'admin' => 0
   ));
 }