/**
  * setUp
  */
 public function setUp()
 {
     parent::setUp();
     $this->context = $this->getMock("ResolveAuth\\Authorization\\AuthorizationContext", null, [], '', false);
     $this->paths = ['Context' => 'ResolveAuth\\Authorization\\Resolvable\\ContextAuthorization', 'wrongType' => 'Cake\\Controller\\Controller'];
     ResolvableAuthorizationInstance::init($this->context, $this->paths);
 }
 public function setUp()
 {
     parent::setUp();
     $this->manager = $this->getMockForTrait("ResolveAuth\\Authorization\\AuthorizationManagerTrait");
     $context = $this->getMock("ResolveAuth\\Authorization\\AuthorizationContext", null, [], '', false);
     $paths = ['Context' => 'ResolveAuth\\Authorization\\Resolvable\\ContextAuthorization'];
     ResolvableAuthorizationInstance::init($context, $paths);
 }
 /**
  * SetUp function
  */
 public function setUp()
 {
     parent::setUp();
     $controller = new Controller(new Request());
     $this->manager = $this->getMockForTrait("ResolveAuth\\Authorization\\AuthorizationManagerTrait", ['resolve'], '', false);
     $this->context = new AuthorizationContext($controller, [], $this->manager);
     ResolvableAuthorizationInstance::init($this->context, []);
     $this->AuthorizationMock = new AuthorizationMock($this);
 }
 /**
  * setUp method
  *
  * @return void
  */
 public function setUp()
 {
     parent::setUp();
     $this->Posts = TableRegistry::get('Posts', ['className' => 'ResolveAuth\\Test\\app_class\\PostsTable']);
     $this->Posts->addBehavior('FieldAuthorization', ['className' => 'ResolveAuth\\Model\\Behavior\\FieldAuthorizationBehavior']);
     $this->Behavior = $this->Posts->behaviors()->get('FieldAuthorization');
     $context = $this->getMock("ResolveAuth\\Authorization\\AuthorizationContext", [], [], '', false);
     ResolvableAuthorizationInstance::init($context, ['Context' => 'ResolveAuth\\Authorization\\Resolvable\\ContextAuthorization']);
 }
 /**
  * Main authorization method.
  *
  * - Initializes ResolvableAuthorizationInstance
  * - Calls buildAuthorization method to add authorization rules
  * - Resolves unregistered ResolvableAuthorizationInterface,
  *   registered authorizations will be resolved later and manually
  * - Checks authorization rules
  *
  * @param Event $event
  * @return null
  */
 public function startup(Event $event)
 {
     $this->_controller = $this->_registry->getController();
     $this->_action = $this->_controller->request->params['action'];
     $this->_user = call_user_func([$this->_controller, $this->config('getUser')]);
     $context = new AuthorizationContext($this->_controller, $this->_user, $this);
     ResolvableAuthorizationInstance::init($context, $this->config('resolvableAuthorizations'));
     EventManager::instance()->on('AuthorizationInternalEvent.AuthorizationResolved', function () {
         $this->_checkAllRules();
     });
     $method = $this->config('buildAuthorization');
     if (method_exists($this->_controller, $method)) {
         $this->_controller->{$method}($this);
         $this->resolveUnregistered($this->_action);
     }
 }