2012-06-07 21 views
5

Estoy probando una API RESTful y necesito probar que la aplicación analiza correctamente los datos entrantes. El tipo de datos entrantes puede estar en formato XML o JSON. La aplicación mira el valor del tipo de contenido en el encabezado para determinar cómo se tratarán los datos.No se puede establecer Content-Type con Symfony2 Functional Tests

La aplicación funciona bien, pero no puedo escribir una prueba funcional adecuada para ella en Symfony2 ya que parece que no puedo establecer el tipo de contenido al llamar a la URL.

que estoy haciendo algo como esto:

$crawler = $client->request('PUT','/api/record/, array("data" => $xmlData), array(), array("Content-Type" => "text/xml")); 

Si bien no es tirar cualquier error, mi solicitud no es capaz de recogerlo. Probé mi script con éxito con el complemento "Poster" de Firefox y también con cUrl.

Cualquier ayuda/idea sería muy apreciada.

Respuesta

5

Por lo que puedo ver en la Symfony2 testing section (que utiliza Crawler y Client para interactuar con la aplicación), que se supone que tienen como 'CONTENT_TYPE' => 'application/xml'. Lo que debe tratar el siguiente:

$crawler = $client->request('PUT','/api/record/', array("data" => $xmlData), array(), array('CONTENT_TYPE' => 'application/xml')); 

Tenga en cuenta que he cambiado desde text/xml a application/xml, pero ambos deben trabajar.

Cuestiones relacionadas