/** * @dataProvider decideIsGrantingProvider */ public function testDecideIsGranting($triggeredMask, $user, $object, $expectedResult) { $this->buildTestTree(); if ($object instanceof TestEntity && $object->getOwner() !== null) { $owner = $object->getOwner(); if (is_a($owner, $this->metadataProvider->getOrganizationClass())) { $this->metadataProvider->setMetadata(get_class($object), new OwnershipMetadata('ORGANIZATION', 'owner', 'owner_id')); } elseif (is_a($owner, $this->metadataProvider->getBusinessUnitClass())) { $this->metadataProvider->setMetadata(get_class($object), new OwnershipMetadata('BUSINESS_UNIT', 'owner', 'owner_id')); } elseif (is_a($owner, $this->metadataProvider->getUserClass())) { $this->metadataProvider->setMetadata(get_class($object), new OwnershipMetadata('USER', 'owner', 'owner_id')); } } $token = $this->getMock('Symfony\\Component\\Security\\Core\\Authentication\\Token\\TokenInterface'); $token->expects($this->any())->method('getUser')->will($this->returnValue($user)); $this->assertEquals($expectedResult, $this->extension->decideIsGranting($triggeredMask, $object, $token)); }
/** * @dataProvider decideIsGrantingProvider */ public function testDecideIsGranting($triggeredMask, $user, $organization, $object, $expectedResult) { $this->buildTestTree(); if ($object instanceof TestEntity && $object->getOwner() !== null) { $owner = $object->getOwner(); if (is_a($owner, $this->metadataProvider->getOrganizationClass())) { $this->metadataProvider->setMetadata(get_class($object), new OwnershipMetadata('ORGANIZATION', 'owner', 'owner_id', 'organization')); } elseif (is_a($owner, $this->metadataProvider->getBusinessUnitClass())) { $this->metadataProvider->setMetadata(get_class($object), new OwnershipMetadata('BUSINESS_UNIT', 'owner', 'owner_id', 'organization')); } elseif (is_a($owner, $this->metadataProvider->getUserClass())) { $this->metadataProvider->setMetadata(get_class($object), new OwnershipMetadata('USER', 'owner', 'owner_id', 'organization')); } } $token = $this->getMockBuilder('Oro\\Bundle\\SecurityBundle\\Authentication\\Token\\UsernamePasswordOrganizationToken')->disableOriginalConstructor()->getMock(); $token->expects($this->any())->method('getOrganizationContext')->will($this->returnValue($organization)); $token->expects($this->any())->method('getUser')->will($this->returnValue($user)); $this->assertEquals($expectedResult, $this->extension->decideIsGranting($triggeredMask, $object, $token)); }