/var/www/vhosts/ihelp.ro/httpdocs/vendor/cakedc/auth/tests/TestCase/Policy
NameSizeModeActions
CollectionPolicyTest.php27500644editdlrm
RbacPolicyTest.php62940644editdlrm
SuperuserPolicyTest.php22870644editdlrm
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/cakedc/auth/tests/TestCase/Policy/RbacPolicyTest.php (6294B)
'00000000-0000-0000-0000-000000000001', 'password' => '12345', ]); $service = $this->createMock(AuthorizationServiceInterface::class); $identity = new IdentityDecorator($service, $user); $request = ServerRequestFactory::fromGlobals(); $request = $request->withAttribute('identity', $identity); $rbac = $this->getMockBuilder(Rbac::class)->setMethods(['checkPermissions'])->getMock(); $request = $request->withAttribute('rbac', $rbac); $rbac->expects($this->once()) ->method('checkPermissions') ->with( $this->equalTo($identity->getOriginalData()), $this->equalTo($request) ) ->will($this->returnValue(true)); $policy = new RbacPolicy(); $this->assertTrue($policy->canAccess($identity, $request)); } /** * Test before method, with rbac returning false */ public function testBeforeRbacReturnedFalse() { $user = new Entity([ 'id' => '00000000-0000-0000-0000-000000000001', 'password' => '12345', ]); $service = $this->createMock(AuthorizationServiceInterface::class); $identity = new IdentityDecorator($service, $user); $request = ServerRequestFactory::fromGlobals(); $request = $request->withAttribute('identity', $identity); $rbac = $this->getMockBuilder(Rbac::class)->setMethods(['checkPermissions'])->getMock(); $request = $request->withAttribute('rbac', $rbac); $rbac->expects($this->once()) ->method('checkPermissions') ->with( $this->equalTo($identity->getOriginalData()), $this->equalTo($request) ) ->will($this->returnValue(false)); $request = $request->withAttribute('rbac', $rbac); $policy = new RbacPolicy(); $this->assertFalse($policy->canAccess($request->getAttribute('identity'), $request)); } /** * Test getRbac method */ public function testGetRbac() { $request = ServerRequestFactory::fromGlobals(); $rbac = $this->getMockBuilder(Rbac::class)->setMethods(['checkPermissions'])->getMock(); $request = $request->withAttribute('rbac', $rbac); $policy = new RbacPolicy(); $actual = $policy->getRbac($request); $this->assertSame($rbac, $actual); } /** * Test getRbac method */ public function testGetRbacIgnoreConfigObject() { $request = ServerRequestFactory::fromGlobals(); $rbac = $this->getMockBuilder(Rbac::class)->setMethods(['checkPermissions'])->getMock(); $request = $request->withAttribute('rbac', $rbac); $policy = new RbacPolicy([ 'adapter' => new Rbac(['role' => 'my_role']), ]); $actual = $policy->getRbac($request); $this->assertSame($rbac, $actual); } /** * Test getRbac method */ public function testGetRbacUseObject() { $request = ServerRequestFactory::fromGlobals(); $rbac = $this->getMockBuilder(Rbac::class)->setMethods(['checkPermissions'])->getMock(); $policy = new RbacPolicy([ 'adapter' => $rbac, ]); $actual = $policy->getRbac($request); $this->assertSame($rbac, $actual); } /** * Test getRbac method */ public function testGetRbacCreateNew() { $request = ServerRequestFactory::fromGlobals(); $policy = new RbacPolicy([ 'adapter' => [ 'autoload_config' => 'my_permissions', 'role_field' => 'group', ], ]); $rbaResult = $policy->getRbac($request); $this->assertInstanceOf(Rbac::class, $rbaResult); $expected = [ 'autoload_config' => 'my_permissions', 'role_field' => 'group', 'default_role' => 'user', 'permissions_provider_class' => \CakeDC\Auth\Rbac\Permissions\ConfigProvider::class, 'permissions' => null, 'log' => true, ]; $actual = $rbaResult->getConfig(); $this->assertEquals($expected, $actual); } /** * Test getRbac method */ public function testGetRbacCreateSingleton() { $request = ServerRequestFactory::fromGlobals(); $policy = $this->getMockBuilder(RbacPolicy::class) ->setConstructorArgs([[ 'adapter' => [ 'autoload_config' => 'my_permissions', 'role_field' => 'group', ], ]]) ->onlyMethods(['createRbac']) ->getMock(); $policy->expects($this->once()) ->method('createRbac'); $rbac1 = $policy->getRbac($request); $rbac2 = $policy->getRbac($request); $this->assertSame($rbac1, $rbac2); } /** * Test getRbac method */ public function testGetRbacConfigArrayWithoutClassName() { $request = ServerRequestFactory::fromGlobals(); $policy = new RbacPolicy([]); $policy->setConfig('adapter', [], false); $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Config "adapter" should be an object or an array with key className'); $policy->getRbac($request); } }