mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-01-07 13:31:34 +01:00
In between commit refactoring and implementing tests
This commit is contained in:
parent
89396dfef3
commit
de51649d63
@ -1,24 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Entity\Attribut;
|
||||
|
||||
/**
|
||||
* @author kevinfrantz
|
||||
*/
|
||||
trait BlacklistAttribut
|
||||
{
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $blacklist;
|
||||
|
||||
public function setBlacklist(?bool $value): void
|
||||
{
|
||||
$this->blacklist = $value;
|
||||
}
|
||||
|
||||
public function getBlacklist(): ?bool
|
||||
{
|
||||
return $this->blacklist;
|
||||
}
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Entity\Attribut;
|
||||
|
||||
/**
|
||||
* @author kevinfrantz
|
||||
*/
|
||||
interface BlacklistAttributInterface
|
||||
{
|
||||
public function setBlacklist(?bool $value): void;
|
||||
|
||||
public function getBlacklist(): ?bool;
|
||||
}
|
@ -2,7 +2,6 @@
|
||||
|
||||
namespace App\Entity\Attribut;
|
||||
|
||||
use App\Entity\NodeInterface;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
|
||||
/**
|
||||
@ -11,7 +10,7 @@ use Doctrine\Common\Collections\Collection;
|
||||
trait ChildsAttribut
|
||||
{
|
||||
/**
|
||||
* @var Collection|NodeInterface[]
|
||||
* @var Collection|ChildsAttributeInterface[]
|
||||
*/
|
||||
protected $childs;
|
||||
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
namespace App\Entity\Attribut;
|
||||
|
||||
use App\Entity\NodeInterface;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
|
||||
/**
|
||||
@ -11,7 +10,7 @@ use Doctrine\Common\Collections\Collection;
|
||||
trait ParentsAttribut
|
||||
{
|
||||
/**
|
||||
* @var Collection|NodeInterface[]
|
||||
* @var Collection|ParentsAttributInterface[]
|
||||
*/
|
||||
protected $parents;
|
||||
|
||||
|
@ -1,29 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Entity\Attribut;
|
||||
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
|
||||
/**
|
||||
* @author kevinfrantz
|
||||
*/
|
||||
trait PlainPasswordAttribute
|
||||
{
|
||||
/**
|
||||
* @Assert\NotBlank()
|
||||
* @Assert\Length(max=4096)
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $plainPassword;
|
||||
|
||||
public function getPlainPassword(): ?string
|
||||
{
|
||||
return $this->plainPassword;
|
||||
}
|
||||
|
||||
public function setPlainPassword(string $password): void
|
||||
{
|
||||
$this->plainPassword = $password;
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Entity\Attribut;
|
||||
|
||||
/**
|
||||
* @author kevinfrantz
|
||||
*/
|
||||
trait WhitelistAttribut
|
||||
{
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $whitelist;
|
||||
|
||||
public function setWhitelist(?bool $value): void
|
||||
{
|
||||
$this->whitelist = $value;
|
||||
}
|
||||
|
||||
public function getWhitelist(): ?bool
|
||||
{
|
||||
return $this->whitelist;
|
||||
}
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Entity\Attribut;
|
||||
|
||||
/**
|
||||
* @author kevinfrantz
|
||||
*/
|
||||
interface WhitelistAttributInterface
|
||||
{
|
||||
public function setWhitelist(?bool $value): void;
|
||||
|
||||
public function getWhitelist(): ?bool;
|
||||
}
|
@ -12,7 +12,7 @@ use App\Entity\Attribut\RelationAttribut;
|
||||
* @ORM\Table(name="meta_law")
|
||||
* @ORM\Entity(repositoryClass="App\Repository\LawRepository")
|
||||
*/
|
||||
class Law extends AbstractMeta implements LawInterface
|
||||
final class Law extends AbstractMeta implements LawInterface
|
||||
{
|
||||
use RightsAttribute, RelationAttribut;
|
||||
|
||||
@ -24,15 +24,6 @@ class Law extends AbstractMeta implements LawInterface
|
||||
*/
|
||||
protected $rights;
|
||||
|
||||
/**
|
||||
*
|
||||
* @ORM\OneToOne(targetEntity="Relation",cascade={"persist", "remove"})
|
||||
* @ORM\JoinColumn(name="relation_id", referencedColumnName="id")
|
||||
*
|
||||
* @var RelationInterface
|
||||
*/
|
||||
protected $relation;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->initAllRights();
|
||||
|
@ -9,6 +9,6 @@ use App\Entity\Method\RelationGrantedInterface;
|
||||
/**
|
||||
* @author kevinfrantz
|
||||
*/
|
||||
interface LawInterface extends RightsAttributInterface, RelationGrantedInterface, RelationAttributInterface,MetaInterface
|
||||
interface LawInterface extends RightsAttributInterface, RelationGrantedInterface, MetaInterface
|
||||
{
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ use App\Entity\Attribut\RelationAttributInterface;
|
||||
* @ORM\Table(name="meta_reciever_group")
|
||||
* @ORM\Entity()
|
||||
*/
|
||||
class RecieverGroup extends AbstractMeta implements RecieverGroupInterface
|
||||
final class RecieverGroup extends AbstractMeta implements RecieverGroupInterface
|
||||
{
|
||||
use RelationAttribut,RecieverAttribut;
|
||||
|
||||
|
@ -21,7 +21,7 @@ use Doctrine\Common\Collections\Collection;
|
||||
* @ORM\Table(name="meta_relation")
|
||||
* @ORM\Entity()
|
||||
*/
|
||||
class Relation extends AbstractMeta implements RelationInterface
|
||||
final class Relation extends AbstractMeta implements RelationInterface
|
||||
{
|
||||
use IdAttribut,
|
||||
SourceAttribut,
|
||||
@ -76,6 +76,6 @@ class Relation extends AbstractMeta implements RelationInterface
|
||||
$this->law = new Law();
|
||||
$this->parents = new ArrayCollection();
|
||||
$this->childs = new ArrayCollection();
|
||||
$this->law->setNode($this);
|
||||
//$this->law->setNode($this);
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ use App\Entity\Attribut\RelationAttribut;
|
||||
* @ORM\Table(name="meta_right")
|
||||
* @ORM\Entity(repositoryClass="App\Repository\RightRepository")
|
||||
*/
|
||||
class Right extends AbstractMeta implements RightInterface
|
||||
final class Right extends AbstractMeta implements RightInterface
|
||||
{
|
||||
use TypeAttribut,LawAttribut, RelationAttribut, GrantAttribut,ConditionAttribut,RecieverGroupAttribut,LayerAttribut;
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
namespace App\Entity\Source;
|
||||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
@ -10,10 +9,15 @@ use App\Entity\Source\Attribut\GroupSourcesAttribut;
|
||||
use App\Entity\Meta\RelationInterface;
|
||||
use App\Entity\Attribut\RelationAttribut;
|
||||
use App\Entity\Meta\Relation;
|
||||
use App\Entity\Attribut\LawAttribut;
|
||||
use App\Entity\Meta\LawInterface;
|
||||
use App\Entity\Meta\Law;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
|
||||
/**
|
||||
* @author kevinfrantz
|
||||
*
|
||||
* @author kevinfrantz
|
||||
*
|
||||
* @see https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/inheritance-mapping.html
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="source")
|
||||
@ -23,9 +27,10 @@ use App\Entity\Meta\Relation;
|
||||
*/
|
||||
abstract class AbstractSource extends AbstractEntity implements SourceInterface
|
||||
{
|
||||
use RelationAttribut,GroupSourcesAttribut;
|
||||
use RelationAttribut,GroupSourcesAttribut, LawAttribut;
|
||||
|
||||
/**
|
||||
*
|
||||
* @var RelationInterface
|
||||
* @ORM\OneToOne(targetEntity="App\Entity\Meta\Relation",cascade={"persist", "remove"})
|
||||
* @ORM\JoinColumn(name="relation_id", referencedColumnName="id")
|
||||
@ -34,17 +39,29 @@ abstract class AbstractSource extends AbstractEntity implements SourceInterface
|
||||
protected $relation;
|
||||
|
||||
/**
|
||||
*
|
||||
* @todo Implement that just one table on database level is needed!
|
||||
* @todo Rename table to use the right schema
|
||||
* @var Collection|GroupSource[]
|
||||
* @ORM\ManyToMany(targetEntity="GroupSource")
|
||||
*/
|
||||
protected $groups;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @ORM\OneToOne(targetEntity="Law",cascade={"persist", "remove"})
|
||||
* @ORM\JoinColumn(name="law_id", referencedColumnName="id")
|
||||
*
|
||||
* @var LawInterface
|
||||
*/
|
||||
protected $law;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->relation = new Relation();
|
||||
$this->relation->setSource($this);
|
||||
$this->law = new Law();
|
||||
$this->groups = new ArrayCollection();
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ use App\Entity\Source\Attribut\MembersAttribut;
|
||||
* @ORM\Table(name="source_group")
|
||||
* @ORM\Entity
|
||||
*/
|
||||
class GroupSource extends AbstractSource implements MembersAttributInterface
|
||||
final class GroupSource extends AbstractSource implements MembersAttributInterface
|
||||
{
|
||||
use MembersAttribut;
|
||||
|
||||
|
@ -12,7 +12,7 @@ use App\Entity\Source\NameSourceInterface;
|
||||
* @ORM\Table(name="source_name")
|
||||
* @ORM\Entity(repositoryClass="App\Repository\NameSourceRepository")
|
||||
*/
|
||||
class NameSource extends AbstractSource implements NameSourceInterface
|
||||
final class NameSource extends AbstractSource implements NameSourceInterface
|
||||
{
|
||||
use NameAttribut;
|
||||
|
||||
|
@ -4,11 +4,12 @@ namespace App\Entity\Source;
|
||||
use App\Entity\Attribut\IdAttributInterface;
|
||||
use App\Entity\EntityInterface;
|
||||
use App\Entity\Source\Attribut\GroupSourcesAttributInterface;
|
||||
use App\Entity\Attribut\LawAttributInterface;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author kevinfrantz
|
||||
*/
|
||||
interface SourceInterface extends IdAttributInterface, EntityInterface, GroupSourcesAttributInterface
|
||||
interface SourceInterface extends IdAttributInterface, EntityInterface, GroupSourcesAttributInterface, LawAttributInterface
|
||||
{
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ use App\Entity\UserInterface;
|
||||
* @ORM\Table(name="source_user")
|
||||
* @ORM\Entity(repositoryClass="App\Repository\UserSourceRepository")
|
||||
*/
|
||||
class UserSource extends AbstractSource implements UserSourceInterface
|
||||
final class UserSource extends AbstractSource implements UserSourceInterface
|
||||
{
|
||||
use UserAttribut,NameSourceAttribut;
|
||||
|
||||
|
@ -46,12 +46,14 @@ class User extends BaseUser implements UserInterface
|
||||
*/
|
||||
protected $version;
|
||||
|
||||
/**
|
||||
* @todo Initialize all needed attributs
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->isActive = true;
|
||||
$this->source = new UserSource();
|
||||
LawModificator::grantAllRights($this->source->getNode()->getLaw(), $this->source->getNode());
|
||||
//var_dump($this->source->getNode()->getLaw()->getRights()->get(0));
|
||||
//LawModificator::grantAllRights($this->source->getNode()->getLaw(), $this->source->getNode());
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
namespace App\Structur\Facade\Security\Source;
|
||||
|
||||
use App\Entity\Meta\LawInterface;
|
||||
use App\Entity\Source\NameSourceInterface;
|
||||
use App\Entity\Source\SourceInterface;
|
||||
use App\Entity\UserInterface;
|
||||
@ -10,7 +11,7 @@ use App\DBAL\Types\LayerType;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
|
||||
/**
|
||||
*
|
||||
* @todo check if this layer makes sense
|
||||
* @author kevinfrantz
|
||||
*/
|
||||
class UserSourceFacade extends AbstractSourceFacade implements UserSourceInterface
|
||||
@ -96,4 +97,20 @@ class UserSourceFacade extends AbstractSourceFacade implements UserSourceInterfa
|
||||
* @todo Implement
|
||||
*/
|
||||
}
|
||||
public function setLaw(LawInterface $law): void
|
||||
{
|
||||
/**
|
||||
*
|
||||
* @todo Implement
|
||||
*/
|
||||
}
|
||||
|
||||
public function getLaw(): LawInterface
|
||||
{
|
||||
/**
|
||||
*
|
||||
* @todo Implement
|
||||
*/
|
||||
}
|
||||
|
||||
}
|
||||
|
44
application/tests/unit/Entity/Source/AbstractSourceTest.php
Normal file
44
application/tests/unit/Entity/Source/AbstractSourceTest.php
Normal file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
namespace tests\unit\Entity\Source;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use App\Entity\Source\SourceInterface;
|
||||
use App\Entity\Meta\LawInterface;
|
||||
use App\Entity\Meta\RelationInterface;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author kevinfrantz
|
||||
*
|
||||
*/
|
||||
class AbstractSourceTest extends TestCase
|
||||
{
|
||||
const ID = 123;
|
||||
/**
|
||||
* @var SourceInterface
|
||||
*/
|
||||
protected $source;
|
||||
|
||||
public function setUp(){
|
||||
$this->source = new class extends \App\Entity\Source\AbstractSource{};
|
||||
$this->source->setId(self::ID);
|
||||
}
|
||||
|
||||
public function testId(){
|
||||
$this->assertEquals($this->source->getId(),self::ID);
|
||||
}
|
||||
|
||||
public function testLaw(){
|
||||
$this->assertInstanceOf(LawInterface::class,$this->source->getLaw());
|
||||
}
|
||||
|
||||
public function testRelation(){
|
||||
$this->assertInstanceOf(RelationInterface::class,$this->source->getRelation());
|
||||
}
|
||||
|
||||
public function testGroups(){
|
||||
$this->assertInstanceOf(Collection::class,$this->source->getGroupSources());
|
||||
}
|
||||
}
|
||||
|
@ -4,9 +4,8 @@ namespace tests\unit\Entity;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use App\Entity\User;
|
||||
use App\Entity\Meta\Law;
|
||||
use App\Entity\Meta\Relation;
|
||||
use App\Entity\Source\UserSource;
|
||||
use App\Entity\UserInterface;
|
||||
|
||||
/**
|
||||
* @author kevinfrantz
|
||||
@ -19,24 +18,25 @@ class UserTest extends TestCase
|
||||
const USERNAME = 'tester';
|
||||
|
||||
/**
|
||||
* @var User
|
||||
* @var UserInterface
|
||||
*/
|
||||
protected $user;
|
||||
|
||||
public function setUp(): void
|
||||
{
|
||||
$this->user = new User();
|
||||
$this->user->setUsername(self::USERNAME);
|
||||
$this->user->setPassword(self::PASSWORD);
|
||||
|
||||
}
|
||||
|
||||
public function testUsername(): void
|
||||
{
|
||||
$this->user->setUsername(self::USERNAME);
|
||||
$this->assertEquals(self::USERNAME, $this->user->getUsername());
|
||||
}
|
||||
|
||||
public function testPassword(): void
|
||||
{
|
||||
$this->user->setPassword(self::PASSWORD);
|
||||
$this->assertEquals(self::PASSWORD, $this->user->getPassword());
|
||||
}
|
||||
|
||||
@ -44,14 +44,4 @@ class UserTest extends TestCase
|
||||
{
|
||||
$this->assertInstanceOf(UserSource::class, $this->user->getSource());
|
||||
}
|
||||
|
||||
public function testNode(): void
|
||||
{
|
||||
$this->assertInstanceOf(Relation::class, $this->user->getSource()->getNode());
|
||||
}
|
||||
|
||||
public function testLaw(): void
|
||||
{
|
||||
$this->assertInstanceOf(Law::class, $this->user->getSource()->getNode()->getLaw());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user