protected function setUp() { $this->strategy = $this->getMockForAbstractClass('Symfony\\Component\\Security\\Acl\\Model\\PermissionGrantingStrategyInterface'); $this->baseProvider = $this->getMockBuilder('Oro\\Bundle\\SecurityBundle\\Acl\\Dbal\\MutableAclProvider')->disableOriginalConstructor()->getMock(); $this->provider = new RootBasedAclProvider(new ObjectIdentityFactory(TestHelper::get($this)->createAclExtensionSelector())); $this->provider->setBaseAclProvider($this->baseProvider); }
/** * @@dataProvider aclTestData */ public function testFindAclData($oids, $findAcl, $expect, $parameter) { list($oid, $rootOid, $underlyingOid) = $oids; $factory = $this->getMockBuilder('Oro\\Bundle\\SecurityBundle\\Acl\\Domain\\ObjectIdentityFactory')->disableOriginalConstructor()->getMock(); $sids = array($this->getMock('Symfony\\Component\\Security\\Acl\\Model\\SecurityIdentityInterface')); $this->baseProvider->expects($this->any())->method('cacheEmptyAcl'); $this->baseProvider->expects($this->any())->method('findAcl')->will($this->returnCallback(function ($oid, $sids) use($findAcl) { if (isset($findAcl[$this->getOidKey($oid)])) { return $findAcl[$this->getOidKey($oid)]; } throw new AclNotFoundException('Acl not found'); })); $factory->expects($this->any())->method('root')->with($this->equalTo($oid))->will($this->returnValue($rootOid)); $factory->expects($this->any())->method('underlying')->with($this->equalTo($oid))->will($this->returnValue($underlyingOid)); $provider = new RootBasedAclProvider($factory); $provider->setBaseAclProvider($this->baseProvider); if (empty($findAcl)) { $this->setExpectedException('Symfony\\Component\\Security\\Acl\\Exception\\AclNotFoundException'); } $resultAcl = $provider->findAcl($oid, $sids); $this->{$expect}($resultAcl, $parameter); }