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;
 }
 public function testLoadLibrary()
 {
     $this->assertIsA(ModularAuthUtility::loadLibrary('Component', 'Cookie'), 'CookieComponent');
     try {
         ModularAuthUtility::loadLibrary('Lib', 'ModularAuth.ModularAuthenticators');
         $this->fail('Unexpected objects Controller, Auth was found %s');
     } catch (Exception $e) {
         $this->assertIsA($e, 'ModularAuth_UnregisteredObjectException');
     }
     ModularAuthUtility::registerObject('Auth', $this->Auth);
     ModularAuthUtility::registerObject('Controller', $this->Controller);
     $Authenticators = ModularAuthUtility::loadLibrary('Lib', 'ModularAuth.ModularAuthenticators');
     $this->assertIsA($Authenticators, 'ModularAuthenticators');
     $this->assertIsA($Authenticators->Auth, 'AuthComponent');
     $this->assertIsA($Authenticators->Controller, 'Controller');
     $this->expectException('ModularAuth_ObjectNotFoundException');
     ModularAuthUtility::loadLibrary('Core', 'WrongFile');
 }
 function testInterrupt()
 {
     $this->Auth->Authenticators = ModularAuthUtility::loadLibrary('Lib', 'ModularAuthenticators');
     $this->assertIdentical($this->Authenticator->dispatchMethod('login', 'before', array(), 'boolean'), 'interrupted');
 }