summaryrefslogtreecommitdiffstats
path: root/Acl/Tests/Dbal
diff options
context:
space:
mode:
authorFabien Potencier <fabien.potencier@gmail.com>2013-11-23 22:17:02 +0100
committerFabien Potencier <fabien.potencier@gmail.com>2013-11-23 22:17:02 +0100
commitc9228af9c932a15ab46b74be5bbd756bc69fda59 (patch)
treebfd321499abe4f99d4a7c268701da0221f20e4a8 /Acl/Tests/Dbal
parent6dad5f88cf869ae3d444b9ddfe5bcaa197da2ee7 (diff)
parent79b21cbc2358461695473de6a5b4e6a92ae18674 (diff)
downloadsymfony-security-c9228af9c932a15ab46b74be5bbd756bc69fda59.zip
symfony-security-c9228af9c932a15ab46b74be5bbd756bc69fda59.tar.gz
symfony-security-c9228af9c932a15ab46b74be5bbd756bc69fda59.tar.bz2
Merge branch '2.3'
* 2.3: (24 commits) Add german translation for several validators (Greater/Equal/Less) No Entity Manager defined exception fixed CS [Acl] Fix for issue #9433 [Validator] fix docblock typos [DependencyInjection] removed the unused Reference and Parameter classes use statements from the compiled container class Removed useless check if self::$trustProxies is set Fix mistake in translation's service definition. if handler_id is identical to null fix CS fix Fixed ModelChoiceList tests in Propel1 bridge. [AclProvider] Fix incorrect behaviour when partial results returned from cache Check if the pipe array is empty before calling stream_select() [Intl] fixed datetime test as described in #9455 bumped Symfony version to 2.3.8 updated VERSION for 2.3.7 updated CHANGELOG for 2.3.7 re-factor Propel1 ModelChoiceList [Form] Added method Form::getClickedButton() to remove memory leak in FormValidator [Locale] fixed the failing test described in #9455 ... Conflicts: src/Symfony/Bridge/Propel1/Form/ChoiceList/ModelChoiceList.php src/Symfony/Bridge/Propel1/Tests/Fixtures/ItemQuery.php src/Symfony/Bridge/Propel1/Tests/Form/ChoiceList/ModelChoiceListTest.php src/Symfony/Bridge/Propel1/Tests/Propel1TestCase.php src/Symfony/Component/Form/Tests/CompoundFormTest.php src/Symfony/Component/HttpKernel/Kernel.php src/Symfony/Component/Process/Process.php
Diffstat (limited to 'Acl/Tests/Dbal')
-rw-r--r--Acl/Tests/Dbal/MutableAclProviderTest.php48
1 files changed, 48 insertions, 0 deletions
diff --git a/Acl/Tests/Dbal/MutableAclProviderTest.php b/Acl/Tests/Dbal/MutableAclProviderTest.php
index 2e08c84..440f69c 100644
--- a/Acl/Tests/Dbal/MutableAclProviderTest.php
+++ b/Acl/Tests/Dbal/MutableAclProviderTest.php
@@ -359,6 +359,54 @@ class MutableAclProviderTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($newParentParentAcl->getId(), $reloadedAcl->getParentAcl()->getParentAcl()->getId());
}
+ public function testUpdateAclInsertingMultipleObjectFieldAcesThrowsDBConstraintViolations()
+ {
+ $provider = $this->getProvider();
+ $oid = new ObjectIdentity(1, 'Foo');
+ $sid1 = new UserSecurityIdentity('johannes', 'FooClass');
+ $sid2 = new UserSecurityIdentity('guilro', 'FooClass');
+ $sid3 = new UserSecurityIdentity('bmaz', 'FooClass');
+ $fieldName = 'fieldName';
+
+ $acl = $provider->createAcl($oid);
+ $acl->insertObjectFieldAce($fieldName, $sid1, 4);
+ $provider->updateAcl($acl);
+
+ $acl = $provider->findAcl($oid);
+ $acl->insertObjectFieldAce($fieldName, $sid2, 4);
+ $provider->updateAcl($acl);
+
+ $acl = $provider->findAcl($oid);
+ $acl->insertObjectFieldAce($fieldName, $sid3, 4);
+ $provider->updateAcl($acl);
+ }
+
+ public function testUpdateAclDeletingObjectFieldAcesThrowsDBConstraintViolations()
+ {
+ $provider = $this->getProvider();
+ $oid = new ObjectIdentity(1, 'Foo');
+ $sid1 = new UserSecurityIdentity('johannes', 'FooClass');
+ $sid2 = new UserSecurityIdentity('guilro', 'FooClass');
+ $sid3 = new UserSecurityIdentity('bmaz', 'FooClass');
+ $fieldName = 'fieldName';
+
+ $acl = $provider->createAcl($oid);
+ $acl->insertObjectFieldAce($fieldName, $sid1, 4);
+ $provider->updateAcl($acl);
+
+ $acl = $provider->findAcl($oid);
+ $acl->insertObjectFieldAce($fieldName, $sid2, 4);
+ $provider->updateAcl($acl);
+
+ $index = 0;
+ $acl->deleteObjectFieldAce($index, $fieldName);
+ $provider->updateAcl($acl);
+
+ $acl = $provider->findAcl($oid);
+ $acl->insertObjectFieldAce($fieldName, $sid3, 4);
+ $provider->updateAcl($acl);
+ }
+
/**
* Data must have the following format:
* array(