li3_access\tests\cases\extensions\adapter\security\access\AuthRbacTest::testClosures PHP Метод

testClosures() публичный Метод

public testClosures ( )
    public function testClosures()
    {
        $request = new Request(array('params' => array('controller' => 'test_controllers', 'action' => 'test_action')));
        $user = $request->data = array('username' => 'test');
        $authSuccess = array('checkSession' => false, 'success' => true);
        $request->params['match'] = true;
        $request->params['allow'] = true;
        $result = Access::check('test_closures', $user, $request, $authSuccess);
        $this->assertIdentical(array(), $result);
        $request->params['match'] = true;
        $request->params['allow'] = false;
        $expected = array('message' => 'Test allow options set.', 'redirect' => '/');
        $result = Access::check('test_closures', $user, $request, $authSuccess);
        $this->assertIdentical($expected, $result);
        $request->params = array('controller' => 'TestControllers', 'action' => 'bad_action');
        $request->params['match'] = true;
        $request->params['allow'] = true;
        $result = Access::check('test_closures', $user, $request, $authSuccess);
        $expected = array('message' => 'You are not permitted to access this area.', 'redirect' => '/');
        $this->assertIdentical($expected, $result);
        $request->params['allow'] = true;
        $result = Access::check('test_allow_closure', $user, $request, $authSuccess);
        $expected = array();
        $this->assertIdentical($expected, $result);
        $request->params['allow'] = false;
        $result = Access::check('test_allow_closure', $user, $request, $authSuccess);
        $expected = array('message' => 'Test allow options set.', 'redirect' => '/');
        $this->assertIdentical($expected, $result);
        $request->params['allow'] = true;
        $request->params['allow_match'] = true;
        $result = Access::check('test_allow_closure_match', $user, $request, $authSuccess);
        $expected = array();
        $this->assertIdentical($expected, $result);
        $request->params['allow'] = false;
        $request->params['allow_match'] = true;
        $result = Access::check('test_allow_closure_match', $user, $request, $authSuccess);
        $expected = array('message' => 'Test allow options set 2.', 'redirect' => '/');
        $this->assertIdentical($expected, $result);
        $request->params['allow'] = true;
        $request->params['allow_match'] = false;
        $result = Access::check('test_allow_closure_match', $user, $request, $authSuccess);
        $expected = array('message' => 'You are not permitted to access this area.', 'redirect' => '/');
        $this->assertIdentical($expected, $result);
    }