client = $this->createClient(); $this->StubbedACL = $this->getMockBuilder('\ACL') ->disableOriginalConstructor() ->getMock(); } public function setAdmin($bool) { $stubAuthenticatedUser = $this->getMockBuilder('\User_Adapter') ->setMethods(array('is_admin', 'ACL')) ->disableOriginalConstructor() ->getMock(); $stubAuthenticatedUser->expects($this->any()) ->method('is_admin') ->will($this->returnValue($bool)); $this->StubbedACL->expects($this->any()) ->method('has_right_on_base') ->will($this->returnValue($bool)); $stubAuthenticatedUser->expects($this->any()) ->method('ACL') ->will($this->returnValue($this->StubbedACL)); $stubCore = $this->getMockBuilder('\Alchemy\Phrasea\Core') ->setMethods(array('getAuthenticatedUser')) ->getMock(); $stubCore->expects($this->any()) ->method('getAuthenticatedUser') ->will($this->returnValue($stubAuthenticatedUser)); $this->app['phraseanet.core'] = $stubCore; } public function testGetSlash() { $this->StubbedACL->expects($this->any()) ->method('get_granted_sbas') ->will($this->returnValue(array(self::$collection->get_sbas_id()))); $this->setAdmin(true); $this->client->request('GET', '/databases/'); $this->assertTrue($this->client->getResponse()->isOk()); } /** * @expectedException \Symfony\Component\HttpKernel\Exception\HttpException */ public function testGetSlashUnauthorizedException() { $this->setAdmin(false); $this->client->request('GET', '/databases/'); } }