Esempio n. 1
0
 public function testBasics() {
   OBM_Acl::initialize();
   $this->assertFalse(OBM_Acl::isAllowed(2, 'cv', 1, 'read'));
   $this->assertFalse(OBM_Acl::hasAllowedEntities(2, 'cv', 'read'));
   OBM_Acl::allow(2, 'cv', 1, 'read');
   $this->assertTrue(OBM_Acl::isAllowed(2, 'cv', 1, 'read'));
   $this->assertTrue(OBM_Acl::hasAllowedEntities(2, 'cv', 'read'));
   $this->assertFalse(OBM_Acl::isAllowed(2, 'cv', 1, 'write'));
   OBM_Acl::allow(2, 'cv', 1, 'write');
   $this->assertTrue(OBM_Acl::isAllowed(2, 'cv', 1, 'read'));
   $this->assertTrue(OBM_Acl::isAllowed(2, 'cv', 1, 'write'));
   $this->assertTrue(OBM_Acl::canRead(2, 'cv', 1));
   $this->assertTrue(OBM_Acl::canWrite(2, 'cv', 1));
   $this->assertFalse(OBM_Acl::canAdmin(2, 'cv', 1));
   OBM_Acl::deny(2, 'cv', 1, 'write');
   $this->assertTrue(OBM_Acl::canRead(2, 'cv', 1));
   $this->assertFalse(OBM_Acl::canWrite(2, 'cv', 1));
   
   OBM_Acl::allow(2, 'cv', 1, 'write');
   $this->assertTrue(OBM_Acl::areSomeAllowed(2, 'cv', array(1, 2), 'write'));
   $this->assertTrue(OBM_Acl::hasAllowedEntities(2, 'cv', 'write'));
   $this->assertFalse(OBM_Acl::areAllowed(2, 'cv', array(1, 2), 'write'));
   OBM_Acl::allow(2, 'cv', 2, 'write');
   $this->assertTrue(OBM_Acl::areSomeAllowed(2, 'cv', array(1, 2), 'write'));
   $this->assertTrue(OBM_Acl::areAllowed(2, 'cv', array(1, 2), 'write'));
   $this->assertTrue(OBM_Acl::hasAllowedEntities(2, 'cv', 'write'));
   
   OBM_Acl::denyAll('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));
   
   // special entities
   $this->addCalendar(2);
   $this->addCalendar(3);
   $this->assertTrue(OBM_Acl::isAllowed(2, 'calendar', 2, 'read'));
   $this->assertTrue(OBM_Acl::isAllowed(2, 'calendar', 2, 'write'));
   $this->assertTrue(OBM_Acl::canRead(2, 'calendar', 2));
   $this->assertTrue(OBM_Acl::canWrite(2, 'calendar', 2));
   $this->assertTrue(OBM_Acl::canAdmin(2, 'calendar', 2));
   
   $this->assertTrue(OBM_Acl::areSomeAllowed(2, 'calendar', array(2, 3), 'write'));
   $this->assertFalse(OBM_Acl::areAllowed(2, 'calendar', array(2, 3), 'write'));
   $this->assertFalse(OBM_Acl::hasAllowedEntities(2, 'calendar', 'write'));
   OBM_Acl::allow(2, 'calendar', 3, 'write');
   $this->assertTrue(OBM_Acl::areSomeAllowed(2, 'calendar', array(2, 3), 'write'));
   $this->assertTrue(OBM_Acl::areAllowed(2, 'calendar', array(2, 3), 'write'));
   $this->assertTrue(OBM_Acl::hasAllowedEntities(2, 'calendar', 'write'));
 }