symfonytestslistener - symfony test security
Prueba funcional de Symfony: encabezados personalizados que no pasan por (1)
Por alguna razón, cuando envié una nueva solicitud $ client->, los encabezados que especifico se pierden:
public function testGetClientsAction()
{
$client = static::createClient();
$cookie = new Cookie(''locale2'', ''en'', time() + 3600 * 24 * 7, ''/'', null, false, false);
$client->getCookieJar()->set($cookie);
// Visit user login page and login
$crawler = $client->request(''GET'', ''/login'');
$form = $crawler->selectButton(''login'')->form();
$crawler = $client->submit($form, array(''_username'' => ''greg'', ''_password'' => ''greg''));
$client->request(
''GET'',
''/clients'',
array(),
array(),
array(''X-Requested-With'' => ''XMLHttpRequest'', ''accept'' => ''application/json'')
);
print_r($client->getResponse());
die();
}
En el método que está siendo probado, tengo esto en la primera línea:
print_r($request->headers->all());
La respuesta es la siguiente:
Array
(
[host] => Array
(
[0] => localhost
)
[user-agent] => Array
(
[0] => Symfony2 BrowserKit
)
[accept] => Array
(
[0] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
)
[accept-language] => Array
(
[0] => en-us,en;q=0.5
)
[accept-charset] => Array
(
[0] => ISO-8859-1,utf-8;q=0.7,*;q=0.7
)
[referer] => Array
(
[0] => http://localhost/login_check
)
[x-php-ob-level] => Array
(
[0] => 1
)
)
Tengo el mismo problema y después de excavar un poco, creo que es una característica que BrowserKit no admite actualmente.
He registrado un problema: https://github.com/symfony/symfony/issues/5074
Actualización: esto no es un problema - vea los comentarios a continuación
Código de muestra
Solicitud de muestra:
$client->request(
''GET'',
$url,
array(),
array(),
array(
''HTTP_X_CUSTOM_VAR'' => $var
)
);
Obteniendo los datos:
$request->headers->get(''x-custom-var'');