Example #1
0
 /**
  * @depends testConstructorEmptyCollection
  */
 public function testConstructorWithAces()
 {
     $collection = new \PropelObjectCollection();
     $collection->setModel('Propel\\PropelBundle\\Model\\Acl\\Entry');
     $obj = $this->createModelObjectIdentity(1);
     // object based ACE
     $entry = $this->createEntry();
     $entry->setObjectIdentity($obj)->setSecurityIdentity(SecurityIdentity::fromAclIdentity($this->getRoleSecurityIdentity()))->setAclClass($this->getAclClass());
     $collection->append($entry);
     // object field based ACE
     $entry = $this->createEntry();
     $entry->setObjectIdentity($obj)->setFieldName('name')->setSecurityIdentity(SecurityIdentity::fromAclIdentity($this->getRoleSecurityIdentity()))->setAclClass($this->getAclClass());
     $collection->append($entry);
     // class based ACE
     $entry = $this->createEntry();
     $entry->setSecurityIdentity(SecurityIdentity::fromAclIdentity($this->getRoleSecurityIdentity()))->setAclClass($this->getAclClass());
     $collection->append($entry);
     // class field based ACE
     $entry = $this->createEntry();
     $entry->setFieldName('name')->setSecurityIdentity(SecurityIdentity::fromAclIdentity($this->getRoleSecurityIdentity()))->setAclClass($this->getAclClass());
     $collection->append($entry);
     $acl = new Acl($collection, $this->getAclObjectIdentity(), new PermissionGrantingStrategy());
     $this->assertNotEmpty($acl->getClassAces());
     $this->assertNotEmpty($acl->getObjectAces());
     $this->assertEquals(array('name'), $acl->getFields());
     $this->assertNotEmpty($acl->getClassFieldAces('name'));
     $this->assertNotEmpty($acl->getObjectFieldAces('name'));
     $classAces = $acl->getClassAces();
     $objectAces = $acl->getObjectAces();
     $classFieldAces = $acl->getClassFieldAces('name');
     $objectFieldAces = $acl->getObjectFieldAces('name');
     $this->assertInstanceOf('Propel\\PropelBundle\\Security\\Acl\\Domain\\Entry', $classAces[0]);
     $this->assertInstanceOf('Propel\\PropelBundle\\Security\\Acl\\Domain\\Entry', $objectAces[0]);
     $this->assertInstanceOf('Propel\\PropelBundle\\Security\\Acl\\Domain\\FieldEntry', $classFieldAces[0]);
     $this->assertInstanceOf('Propel\\PropelBundle\\Security\\Acl\\Domain\\FieldEntry', $objectFieldAces[0]);
     $this->assertSame($acl, $classAces[0]->getAcl());
     $this->assertSame($acl, $objectAces[0]->getAcl());
     $this->assertSame($acl, $classFieldAces[0]->getAcl());
     $this->assertSame($acl, $objectFieldAces[0]->getAcl());
     $this->assertEquals('name', $classFieldAces[0]->getField());
     $this->assertEquals('name', $objectFieldAces[0]->getField());
 }