EntryTest.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. namespace Symfony\Tests\Component\Security\Domain;
  3. use Symfony\Component\Security\Acl\Domain\Entry;
  4. class EntryTest extends \PHPUnit_Framework_TestCase
  5. {
  6. public function testConstructor()
  7. {
  8. $ace = $this->getAce($acl = $this->getAcl(), $sid = $this->getSid());
  9. $this->assertEquals(123, $ace->getId());
  10. $this->assertSame($acl, $ace->getAcl());
  11. $this->assertSame($sid, $ace->getSecurityIdentity());
  12. $this->assertEquals('foostrat', $ace->getStrategy());
  13. $this->assertEquals(123456, $ace->getMask());
  14. $this->assertTrue($ace->isGranting());
  15. $this->assertTrue($ace->isAuditSuccess());
  16. $this->assertFalse($ace->isAuditFailure());
  17. }
  18. public function testSetAuditSuccess()
  19. {
  20. $ace = $this->getAce();
  21. $this->assertTrue($ace->isAuditSuccess());
  22. $ace->setAuditSuccess(false);
  23. $this->assertFalse($ace->isAuditSuccess());
  24. $ace->setAuditsuccess(true);
  25. $this->assertTrue($ace->isAuditSuccess());
  26. }
  27. public function testSetAuditFailure()
  28. {
  29. $ace = $this->getAce();
  30. $this->assertFalse($ace->isAuditFailure());
  31. $ace->setAuditFailure(true);
  32. $this->assertTrue($ace->isAuditFailure());
  33. $ace->setAuditFailure(false);
  34. $this->assertFalse($ace->isAuditFailure());
  35. }
  36. public function testSetMask()
  37. {
  38. $ace = $this->getAce();
  39. $this->assertEquals(123456, $ace->getMask());
  40. $ace->setMask(4321);
  41. $this->assertEquals(4321, $ace->getMask());
  42. }
  43. public function testSetStrategy()
  44. {
  45. $ace = $this->getAce();
  46. $this->assertEquals('foostrat', $ace->getStrategy());
  47. $ace->setStrategy('foo');
  48. $this->assertEquals('foo', $ace->getStrategy());
  49. }
  50. public function testSerializeUnserialize()
  51. {
  52. $ace = $this->getAce();
  53. $serialized = serialize($ace);
  54. $uAce = unserialize($serialized);
  55. $this->assertNull($uAce->getAcl());
  56. $this->assertInstanceOf('Symfony\Component\Security\Acl\Model\SecurityIdentityInterface', $uAce->getSecurityIdentity());
  57. $this->assertEquals($ace->getId(), $uAce->getId());
  58. $this->assertEquals($ace->getMask(), $uAce->getMask());
  59. $this->assertEquals($ace->getStrategy(), $uAce->getStrategy());
  60. $this->assertEquals($ace->isGranting(), $uAce->isGranting());
  61. $this->assertEquals($ace->isAuditSuccess(), $uAce->isAuditSuccess());
  62. $this->assertEquals($ace->isAuditFailure(), $uAce->isAuditFailure());
  63. }
  64. protected function getAce($acl = null, $sid = null)
  65. {
  66. if (null === $acl) {
  67. $acl = $this->getAcl();
  68. }
  69. if (null === $sid) {
  70. $sid = $this->getSid();
  71. }
  72. return new Entry(
  73. 123,
  74. $acl,
  75. $sid,
  76. 'foostrat',
  77. 123456,
  78. true,
  79. false,
  80. true
  81. );
  82. }
  83. protected function getAcl()
  84. {
  85. return $this->getMock('Symfony\Component\Security\Acl\Model\AclInterface');
  86. }
  87. protected function getSid()
  88. {
  89. return $this->getMock('Symfony\Component\Security\Acl\Model\SecurityIdentityInterface');
  90. }
  91. }