Я пытаюсь проверить свой контроллер, и по какой-то причине единственный полученный код состояния - UNAUTHORIZED
.Я не уверен, в чем проблема, поэтому я надеюсь, что кто-то может помочь мне.Я использую SYmfony 3.4, и это мой код:
loginFormAuth:
protected function login(array $roles = ['ROLE_USER'])
{
$session = $this->client->getContainer()->get('session');
$firewallContext = 'api';
$token = new UsernamePasswordToken('test', null, $firewallContext, $roles);
$session->set('_security_' . $firewallContext, serialize($token));
$session->save();
$cookie = new Cookie($session->getName(), $session->getId());
$this->client->getCookieJar()->set($cookie);
}
protected function requestUrl($url)
{
return $this->client->request('GET', $url);
}
public function testGetProductsAsAdmin()
{
$this->logIn(array('ROLE_ADMIN');
$url = 'api/products';
$this->getUrl($url);
$this->assertSame(Response::HTTP_OK, $this->client->getResponse()->getStatusCode());
}
public function getProductAction(Request $request, ListProductService $service)
{
$this->checkAccess($this->getUser()); // so here only the admin has permission
$result = $service->execute();
return new Response($this->serializer->serialize($result));
}
security.yml
access_control:
- { path: ^/api/products, roles: ROLE_ADMIN }
Есть предложения?