mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-09-13 13:57:10 +02:00
Expanded rights to also manage actions instead of just a cruds
This commit is contained in:
@@ -87,7 +87,7 @@ class LawPermissionCheckerTest extends TestCase
|
||||
{
|
||||
$this->clientRight = new Right();
|
||||
$this->clientRight->setLayer(LayerType::SOURCE);
|
||||
$this->clientRight->setCrud(CRUDType::READ);
|
||||
$this->clientRight->setActionType(CRUDType::READ);
|
||||
$this->clientRight->setReciever($this->clientSource);
|
||||
$this->clientRight->setSource($this->source);
|
||||
}
|
||||
@@ -107,7 +107,7 @@ class LawPermissionCheckerTest extends TestCase
|
||||
{
|
||||
$this->law->getRights()->add($this->getClonedClientRight());
|
||||
$this->assertTrue($this->checkClientPermission());
|
||||
$this->clientRight->setCrud(CRUDType::UPDATE);
|
||||
$this->clientRight->setActionType(CRUDType::UPDATE);
|
||||
$this->assertFalse($this->checkClientPermission());
|
||||
}
|
||||
|
||||
@@ -142,10 +142,10 @@ class LawPermissionCheckerTest extends TestCase
|
||||
public function testGetRightsByType(): void
|
||||
{
|
||||
$right = $this->getClonedClientRight();
|
||||
$right->setCrud(CRUDType::UPDATE);
|
||||
$right->setActionType(CRUDType::UPDATE);
|
||||
$this->law->getRights()->add($right);
|
||||
$this->assertFalse($this->checkClientPermission());
|
||||
$right->setCrud(CRUDType::READ);
|
||||
$right->setActionType(CRUDType::READ);
|
||||
$this->assertTrue($this->checkClientPermission());
|
||||
}
|
||||
|
||||
@@ -209,13 +209,13 @@ class LawPermissionCheckerTest extends TestCase
|
||||
$clientSource = new PureSource();
|
||||
$clientRight = new Right();
|
||||
$clientRight->setLayer(LayerType::SOURCE);
|
||||
$clientRight->setCrud(CRUDType::READ);
|
||||
$clientRight->setActionType(CRUDType::READ);
|
||||
$clientRight->setSource($this->source);
|
||||
$clientRight->setReciever($clientSource);
|
||||
$this->assertFalse($this->lawPermissionChecker->hasPermission($clientRight));
|
||||
$right = new Right();
|
||||
$right->setLayer(LayerType::SOURCE);
|
||||
$right->setCrud(CRUDType::READ);
|
||||
$right->setActionType(CRUDType::READ);
|
||||
$right->setSource($this->source);
|
||||
$this->law->getRights()->add($right);
|
||||
$this->assertTrue($this->lawPermissionChecker->hasPermission($clientRight));
|
||||
|
@@ -52,7 +52,7 @@ class RequestedActionTest extends TestCase
|
||||
$list = ActionType::EXECUTE;
|
||||
$this->action->setActionType($list);
|
||||
$this->assertEquals($list, $this->action->getActionType());
|
||||
$this->assertEquals(CRUDType::READ, $this->requestedRight->getCrud());
|
||||
$this->assertEquals(CRUDType::READ, $this->requestedRight->getActionType());
|
||||
}
|
||||
|
||||
public function testCrud(): void
|
||||
@@ -60,7 +60,7 @@ class RequestedActionTest extends TestCase
|
||||
foreach (CRUDType::getChoices() as $crud) {
|
||||
$this->action->setActionType($crud);
|
||||
$this->assertEquals($crud, $this->action->getActionType());
|
||||
$this->assertEquals($crud, $this->requestedRight->getCrud());
|
||||
$this->assertEquals($crud, $this->requestedRight->getActionType());
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -43,7 +43,7 @@ class AbstractRequestedRightFacadeTest extends TestCase
|
||||
$reciever = $this->createMock(AbstractSource::class);
|
||||
$requestedRight = $this->createMock(RequestedRightInterface::class);
|
||||
$requestedRight->method('getLayer')->willReturn($layer);
|
||||
$requestedRight->method('getCrud')->willReturn($type);
|
||||
$requestedRight->method('getActionType')->willReturn($type);
|
||||
$requestedRight->method('getSource')->willReturn($source);
|
||||
$requestedRight->method('getReciever')->willReturn($reciever);
|
||||
$requestedRight->method('getRequestedEntity')->willReturn($requestedEntity);
|
||||
@@ -51,7 +51,7 @@ class AbstractRequestedRightFacadeTest extends TestCase
|
||||
$requestedRight->method('hasReciever')->willReturn(true);
|
||||
$requestedRightFacade = $this->getRequestedRightFacade($requestedRight);
|
||||
$this->assertEquals($layer, $requestedRightFacade->getLayer());
|
||||
$this->assertEquals($type, $requestedRightFacade->getCrud());
|
||||
$this->assertEquals($type, $requestedRightFacade->getActionType());
|
||||
$this->assertEquals($source, $requestedRightFacade->getSource());
|
||||
$this->assertEquals($reciever, $requestedRightFacade->getReciever());
|
||||
$this->assertEquals($requestedEntity, $requestedRightFacade->getRequestedEntity());
|
||||
@@ -70,11 +70,11 @@ class AbstractRequestedRightFacadeTest extends TestCase
|
||||
$requestedRight = new RequestedRight();
|
||||
$requestedRightFacade = $this->getRequestedRightFacade($requestedRight);
|
||||
$this->assertNull($requestedRightFacade->setLayer($layer));
|
||||
$this->assertNull($requestedRightFacade->setCrud($type));
|
||||
$this->assertNull($requestedRightFacade->setActionType($type));
|
||||
$this->assertNull($requestedRightFacade->setRequestedEntity($requestedEntity));
|
||||
$this->assertNull($requestedRightFacade->setReciever($reciever));
|
||||
$this->assertEquals($layer, $requestedRight->getLayer());
|
||||
$this->assertEquals($type, $requestedRight->getCrud());
|
||||
$this->assertEquals($type, $requestedRight->getActionType());
|
||||
$this->assertEquals($requestedEntity, $requestedRight->getRequestedEntity());
|
||||
$this->assertEquals($reciever, $requestedRight->getReciever());
|
||||
$this->assertTrue($requestedRight->hasReciever());
|
||||
|
@@ -44,11 +44,11 @@ class RequestedUserTest extends TestCase
|
||||
$userSourceDirector->method('getUser')->willReturn($user);
|
||||
$requestedRight = $this->createMock(RequestedRightInterface::class);
|
||||
$requestedRight->method('getLayer')->willReturn($layer);
|
||||
$requestedRight->method('getCrud')->willReturn($type);
|
||||
$requestedRight->method('getActionType')->willReturn($type);
|
||||
$requestedRight->method('getSource')->willReturn($source);
|
||||
$requestedUserRightFacade = new RequestedUser($userSourceDirector, $requestedRight);
|
||||
$this->assertEquals($layer, $requestedUserRightFacade->getLayer());
|
||||
$this->assertEquals($type, $requestedUserRightFacade->getCrud());
|
||||
$this->assertEquals($type, $requestedUserRightFacade->getActionType());
|
||||
$this->assertEquals($source, $requestedUserRightFacade->getSource());
|
||||
$this->assertEquals($reciever, $requestedUserRightFacade->getReciever());
|
||||
}
|
||||
@@ -66,10 +66,10 @@ class RequestedUserTest extends TestCase
|
||||
$userSourceDirector = new UserSourceDirector($sourceRepository, $user);
|
||||
$requestedUserRightFacade = new RequestedUser($userSourceDirector, $requestedRight);
|
||||
$this->assertNull($requestedUserRightFacade->setLayer($layer));
|
||||
$this->assertNull($requestedUserRightFacade->setCrud($type));
|
||||
$this->assertNull($requestedUserRightFacade->setActionType($type));
|
||||
$this->assertNull($requestedUserRightFacade->setRequestedEntity($requestedSource));
|
||||
$this->assertEquals($layer, $requestedRight->getLayer());
|
||||
$this->assertEquals($type, $requestedRight->getCrud());
|
||||
$this->assertEquals($type, $requestedRight->getActionType());
|
||||
$this->expectException(NotCorrectInstanceException::class);
|
||||
$this->assertNotInstanceOf(RequestedEntityInterface::class, $requestedRight->getSource());
|
||||
}
|
||||
|
@@ -49,7 +49,7 @@ class RightCheckerTest extends TestCase
|
||||
$this->source = new PureSource();
|
||||
$this->right = new Right();
|
||||
$this->right->setReciever($this->source);
|
||||
$this->right->setCrud($this->type);
|
||||
$this->right->setActionType($this->type);
|
||||
$this->right->setLayer($this->layer);
|
||||
$this->rightManager = new RightChecker($this->right);
|
||||
}
|
||||
|
@@ -26,13 +26,13 @@ class RightTransformerServiceTest extends TestCase
|
||||
$requestedEntity->method('getEntity')->willReturn($source);
|
||||
$requestedEntity->method('hasRequestedRight')->willReturn(true);
|
||||
$requestedRight = new RequestedRight();
|
||||
$requestedRight->setCrud($crud);
|
||||
$requestedRight->setActionType($crud);
|
||||
$requestedRight->setLayer($layer);
|
||||
$requestedRight->setRequestedEntity($requestedEntity);
|
||||
$requestedRight->setReciever($reciever);
|
||||
$transformer = new RightTransformerService();
|
||||
$right = $transformer->transform($requestedRight);
|
||||
$this->assertEquals($crud, $right->getCrud());
|
||||
$this->assertEquals($crud, $right->getActionType());
|
||||
$this->assertEquals($layer, $right->getLayer());
|
||||
$this->assertEquals($reciever, $right->getReciever());
|
||||
$this->assertEquals($source, $right->getSource());
|
||||
|
@@ -29,11 +29,11 @@ class SecureRequestedRightCheckerServiceTest extends TestCase
|
||||
$right = new Right();
|
||||
$right->setSource($source);
|
||||
$right->setLayer($layer);
|
||||
$right->setCrud($crud);
|
||||
$right->setActionType($crud);
|
||||
$right->setReciever($reciever);
|
||||
$source->getLaw()->getRights()->add($right);
|
||||
$requestedRight = new RequestedRight();
|
||||
$requestedRight->setCrud($crud);
|
||||
$requestedRight->setActionType($crud);
|
||||
$requestedRight->setLayer($layer);
|
||||
$requestedRight->setReciever($reciever);
|
||||
$requestedEntity = $this->createMock(RequestedEntityInterface::class);
|
||||
@@ -57,11 +57,11 @@ class SecureRequestedRightCheckerServiceTest extends TestCase
|
||||
$right = new Right();
|
||||
$right->setSource($source);
|
||||
$right->setLayer($layer);
|
||||
$right->setCrud(CRUDType::CREATE);
|
||||
$right->setActionType(CRUDType::CREATE);
|
||||
$right->setReciever($reciever);
|
||||
$source->getLaw()->getRights()->add($right);
|
||||
$requestedRight = new RequestedRight();
|
||||
$requestedRight->setCrud($crud);
|
||||
$requestedRight->setActionType($crud);
|
||||
$requestedRight->setLayer($layer);
|
||||
$requestedRight->setReciever($reciever);
|
||||
$requestedEntity = $this->createMock(RequestedEntityInterface::class);
|
||||
@@ -83,7 +83,7 @@ class SecureRequestedRightCheckerServiceTest extends TestCase
|
||||
$source = new class() extends AbstractSource {
|
||||
};
|
||||
$requestedRight = $this->createMock(RequestedRightInterface::class);
|
||||
$requestedRight->method('getCrud')->willReturn($crud);
|
||||
$requestedRight->method('getActionType')->willReturn($crud);
|
||||
$requestedRight->method('getLayer')->willReturn($layer);
|
||||
$requestedRight->method('getReciever')->willReturn($reciever);
|
||||
$requestedRight->method('getSource')->willReturn($source);
|
||||
@@ -91,7 +91,7 @@ class SecureRequestedRightCheckerServiceTest extends TestCase
|
||||
$secureEntityChecker = new SecureRequestedRightCheckerService($rightTransformerService);
|
||||
$this->assertFalse($secureEntityChecker->check($requestedRight));
|
||||
$right = new Right();
|
||||
$right->setCrud($crud);
|
||||
$right->setActionType($crud);
|
||||
$right->setLayer($layer);
|
||||
$right->setSource($source);
|
||||
$source->getLaw()->getRights()->add($right);
|
||||
|
@@ -34,6 +34,9 @@ class SecureSourceCheckerTest extends TestCase
|
||||
*/
|
||||
private $securerSourceChecker;
|
||||
|
||||
/**
|
||||
* @return SourceInterface
|
||||
*/
|
||||
private function createSourceMock(): SourceInterface
|
||||
{
|
||||
return new class() extends AbstractSource implements SourceAttributInterface {
|
||||
@@ -52,13 +55,13 @@ class SecureSourceCheckerTest extends TestCase
|
||||
{
|
||||
$right = new Right();
|
||||
$right->setLayer(LayerType::SOURCE);
|
||||
$right->setCrud(CRUDType::UPDATE);
|
||||
$right->setActionType(CRUDType::UPDATE);
|
||||
$right->setReciever($this->recieverSource);
|
||||
$right->setSource($this->source);
|
||||
$this->source->getLaw()->getRights()->add($right);
|
||||
$requestedRight = clone $right;
|
||||
$this->assertTrue($this->securerSourceChecker->hasPermission($requestedRight));
|
||||
$requestedRight->setCrud(CRUDType::READ);
|
||||
$requestedRight->setActionType(CRUDType::READ);
|
||||
$this->assertFalse($this->securerSourceChecker->hasPermission($requestedRight));
|
||||
}
|
||||
|
||||
@@ -66,7 +69,7 @@ class SecureSourceCheckerTest extends TestCase
|
||||
{
|
||||
$right = new Right();
|
||||
$right->setLayer(LayerType::SOURCE);
|
||||
$right->setCrud(CRUDType::UPDATE);
|
||||
$right->setActionType(CRUDType::UPDATE);
|
||||
$right->setReciever($this->recieverSource);
|
||||
$right->setSource($this->source);
|
||||
$this->source->getLaw()->getRights()->add($right);
|
||||
@@ -76,7 +79,7 @@ class SecureSourceCheckerTest extends TestCase
|
||||
$this->source->setSource($attributSource);
|
||||
$requestedRight = clone $right;
|
||||
$this->assertTrue($this->securerSourceChecker->hasPermission($requestedRight));
|
||||
$childRight->setCrud(CRUDType::READ);
|
||||
$childRight->setActionType(CRUDType::READ);
|
||||
$this->expectException(SourceAccessDenied::class);
|
||||
$this->securerSourceChecker->hasPermission($requestedRight);
|
||||
}
|
||||
@@ -85,7 +88,7 @@ class SecureSourceCheckerTest extends TestCase
|
||||
{
|
||||
$right = new Right();
|
||||
$right->setLayer(LayerType::SOURCE);
|
||||
$right->setCrud(CRUDType::UPDATE);
|
||||
$right->setActionType(CRUDType::UPDATE);
|
||||
$right->setReciever($this->recieverSource);
|
||||
$right->setSource($this->source);
|
||||
$this->source->getLaw()->getRights()->add($right);
|
||||
@@ -98,7 +101,7 @@ class SecureSourceCheckerTest extends TestCase
|
||||
$attribut1Source->setSource($attribut2Source);
|
||||
$requestedRight = clone $right;
|
||||
$this->assertTrue($this->securerSourceChecker->hasPermission($requestedRight));
|
||||
$childRight->setCrud(CRUDType::READ);
|
||||
$childRight->setActionType(CRUDType::READ);
|
||||
$this->expectException(SourceAccessDenied::class);
|
||||
$this->securerSourceChecker->hasPermission($requestedRight);
|
||||
}
|
||||
@@ -107,13 +110,13 @@ class SecureSourceCheckerTest extends TestCase
|
||||
{
|
||||
$right = new Right();
|
||||
$right->setLayer(LayerType::SOURCE);
|
||||
$right->setCrud(CRUDType::READ);
|
||||
$right->setActionType(CRUDType::READ);
|
||||
$right->setReciever($this->recieverSource);
|
||||
$right->setSource($this->source);
|
||||
$this->assertFalse($this->securerSourceChecker->hasPermission($right));
|
||||
$requestedRight = new Right();
|
||||
$requestedRight->setLayer(LayerType::SOURCE);
|
||||
$requestedRight->setCrud(CRUDType::READ);
|
||||
$requestedRight->setActionType(CRUDType::READ);
|
||||
$requestedRight->setSource($this->source);
|
||||
$this->source->getLaw()->getRights()->add($requestedRight);
|
||||
$this->assertTrue($this->securerSourceChecker->hasPermission($right));
|
||||
|
Reference in New Issue
Block a user