コード例 #1
0
 function startTest($method)
 {
     ModularAuthUtility::registerObject('Auth', $this->Auth);
     ModularAuthUtility::registerObject('Controller', $this->Controller);
     $this->Authenticators = new ModularAuthenticators();
     $this->Auth->Authenticators = $this->Authenticators;
     parent::startTest($method);
 }
コード例 #2
0
 protected function _setup($Controller, $settings)
 {
     ModularAuthUtility::registerObject(compact('Controller') + array('Auth' => $this));
     if (isset($settings['collector'])) {
         $this->collector = $settings['collector'];
         unset($settings['collector']);
     }
     $Authenticators = ModularAuthUtility::loadLibrary('Lib', $this->collector);
     ModularAuthUtility::registerObject(compact('Authenticators'));
     $Authenticators->configure($settings);
     if (isset($settings['authenticators'])) {
         $Authenticators->append($settings['authenticators']);
         unset($settings['authenticators']);
     }
     ModularAuthUtility::bindObject($this, 'Controller', 'Authenticators');
     return $settings;
 }
コード例 #3
0
 public function __set($name, $value)
 {
     try {
         if (empty($name)) {
             throw new ModularAuth_IllegalAuthenticatorNameException(var_export($name, true));
         } elseif (is_object($value)) {
             if (!$value instanceof ModularAuthenticator) {
                 throw new ModularAuth_IllegalAuthenticatorObjectException(get_class($value));
             }
             ModularAuthUtility::registerObject($name, $value);
             return $this->__get($name);
         } elseif (!$this->__isset($name)) {
             $Authenticator = ModularAuthUtility::loadAuthenticator($name);
         } else {
             $Authenticator = $this->__get($name);
         }
         $Authenticator->configure($value);
         return $Authenticator;
     } catch (ModularAuth_ObjectNotFoundException $e) {
         throw new ModularAuth_AuthenticatorNotFoundException($e->getMessage());
     }
 }
コード例 #4
0
 public function testObjectMethods()
 {
     $destination = new Object();
     $registered = new Object();
     ModularAuthUtility::registerObject('registered', $registered);
     ModularAuthUtility::bindObject($destination, 'registered');
     $this->assertTrue($destination->Registered === $registered);
     $this->assertTrue(ModularAuthUtility::isRegistered($registered));
     $Registered = new Object();
     $Registered->testVar = 1;
     ModularAuthUtility::registerObject(compact('Registered'));
     $this->assertFalse(isset($destination->Registered->testVar));
     ModularAuthUtility::bindObject($destination, 'Registered');
     $this->assertIdentical($destination->Registered->testVar, 1);
     ModularAuthUtility::unbindObject($destination, 'Registered');
     $this->assertFalse(isset($destination->Registered));
     ModularAuthUtility::registerObject('one', new Object());
     ModularAuthUtility::registerObject('two', new Object());
     ModularAuthUtility::registerObject('three', new Object());
     $this->assertTrue(ModularAuthUtility::isRegistered('One', 'Two', 'Three'));
     $this->assertIsA(ModularAuthUtility::getObject('one'), 'Object');
     ModularAuthUtility::bindObject($destination, array('one', array('two')), array(array(array('three'))));
     $this->assertTrue(isset($destination->One));
     $this->assertTrue(isset($destination->Two));
     $this->assertTrue(isset($destination->Three));
     ModularAuthUtility::bindObject('One', 'Two');
     $this->assertTrue(isset($destination->One->Two));
     ModularAuthUtility::unbindObject($destination, 'one', 'two', array(array('three', 'two', 'one')));
     $this->assertFalse(isset($destination->One));
     $this->assertFalse(isset($destination->Two));
     $this->assertFalse(isset($destination->Three));
     $this->assertTrue(ModularAuthUtility::isRegistered('Registered', 'One', 'Two', 'Three'));
     ModularAuthUtility::deleteObject('One');
     $this->assertFalse(ModularAuthUtility::isRegistered('Registered', 'One', 'Two', 'Three'));
     $this->assertTrue(ModularAuthUtility::flushObjects());
     $this->assertFalse(ModularAuthUtility::flushObjects());
     $this->assertFalse(ModularAuthUtility::isRegistered($Registered));
     $this->assertNull(ModularAuthUtility::isRegistered($fp = fopen(__FILE__, 'r')));
     fclose($fp);
     ModularAuthUtility::registerObject('Auth', $this->Auth);
     ModularAuthUtility::registerObject('Controller', $this->Controller);
     ModularAuthUtility::loadAuthenticator('MockModularAuthenticator');
     $this->assertTrue(ModularAuthUtility::flushObjects());
     try {
         ModularAuthUtility::bindObject($destination, 'UnredisteredObject');
         $this->fail('ModularAuthUtility::bindObject(UnredisteredObject) %s');
     } catch (Exception $e) {
         $this->assertIsA($e, 'ModularAuth_UnregisteredObjectException');
     }
     try {
         ModularAuthUtility::unbindObject($destination, 'UnredisteredObject');
         $this->fail('ModularAuthUtility::unbindObject(UnredisteredObject) %s');
     } catch (Exception $e) {
         $this->assertIsA($e, 'ModularAuth_UnregisteredObjectException');
     }
     try {
         ModularAuthUtility::getObject('UnredisteredObject');
         $this->fail('ModularAuthUtility::getObject(UnredisteredObject) %s');
     } catch (Exception $e) {
         $this->assertIsA($e, 'ModularAuth_UnregisteredObjectException');
     }
     try {
         ModularAuthUtility::deleteObject('UnredisteredObject');
         $this->fail('ModularAuthUtility::deleteObject(UnredisteredObject) %s');
     } catch (Exception $e) {
         $this->assertIsA($e, 'ModularAuth_UnregisteredObjectException');
     }
 }
コード例 #5
0
 public function startTest()
 {
     ModularAuthUtility::registerObject('Controller', $this->Controller);
     ModularAuthUtility::registerObject('Auth', $this->Auth);
     $this->Authenticator = ModularAuthUtility::loadAuthenticator('MockModularAuthenticator');
 }