Added grant to all function to RightChecker and LawPermissionChecker

This commit is contained in:
Kevin Frantz
2019-02-16 16:16:48 +01:00
parent 6f6b720470
commit 256e37ccd5
12 changed files with 130 additions and 11 deletions

View File

@@ -23,6 +23,7 @@ class RecieverAttributTest extends TestCase
public function testConstructor(): void
{
$this->assertFalse($this->reciever->hasReciever());
$this->expectException(\TypeError::class);
$this->reciever->getReciever();
}
@@ -30,7 +31,9 @@ class RecieverAttributTest extends TestCase
public function testAccessors(): void
{
$reciever = $this->createMock(AbstractSource::class);
$this->assertFalse($this->reciever->hasReciever());
$this->assertNull($this->reciever->setReciever($reciever));
$this->assertEquals($reciever, $this->reciever->getReciever());
$this->assertTrue($this->reciever->hasReciever());
}
}

View File

@@ -203,4 +203,24 @@ class LawPermissionCheckerTest extends TestCase
$this->law->setGrant(true);
$this->assertTrue($this->checkClientPermission());
}
public function testAppliesToAll(): void
{
$clientSource = new PureSource();
$clientRight = new Right();
$clientRight->setLayer(LayerType::SOURCE);
$clientRight->setCrud(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->setSource($this->source);
$this->law->getRights()->add($right);
$this->assertTrue($this->lawPermissionChecker->hasPermission($clientRight));
$otherReciever = new PureSource();
$right->setReciever($otherReciever);
$this->assertFalse($this->lawPermissionChecker->hasPermission($clientRight));
}
}

View File

@@ -12,6 +12,9 @@ use App\Domain\RightManagement\RightChecker;
use App\DBAL\Types\Meta\Right\CRUDType;
use App\Entity\Source\PureSource;
/**
* @author kevinfrantz
*/
class RightCheckerTest extends TestCase
{
/**
@@ -97,4 +100,16 @@ class RightCheckerTest extends TestCase
$notGranted3 = $this->rightManager->isGranted($this->layer, $this->type, $thirdSource);
$this->assertFalse($notGranted3);
}
public function testAppliesToAll(): void
{
$this->assertNull($this->right->setReciever(null));
$this->assertTrue($this->rightManager->isGranted($this->layer, $this->type, $this->source));
$source2 = new PureSource();
$this->assertTrue($this->rightManager->isGranted($this->layer, $this->type, $source2));
$source3 = new PureSource();
$this->assertNull($this->right->setReciever($source3));
$this->assertTrue($this->rightManager->isGranted($this->layer, $this->type, $source3));
$this->assertFalse($this->rightManager->isGranted($this->layer, $this->type, $source2));
}
}