2012-06-07 12 views
5

Sto testando un'API RESTful e ho bisogno di verificare che l'applicazione analizzi correttamente i dati in entrata. Il tipo di dati in entrata può essere in formato XML o JSON. L'applicazione esamina il valore Content-Type nell'intestazione per determinare come verranno trattati i dati.Impossibile impostare Content-Type con i test funzionali Symfony2

L'applicazione funziona bene ma non sono in grado di scrivere un test funzionale corretto in Symfony2 poiché non riesco a impostare il tipo di contenuto quando si chiama l'URL.

sto facendo qualcosa di simile:

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

Anche se non è gettare eventuali errori, la mia domanda è in grado di raccoglierla. Ho testato con successo il mio script con il plugin "Poster" di Firefox e con cUrl.

Qualsiasi aiuto/idea sarebbe molto apprezzato.

risposta

5

Da quello che posso vedere sul Symfony2 testing section (che utilizza Crawler e Client di interagire con l'applicazione), si supponga di avere come 'CONTENT_TYPE' => 'application/xml'. Così si dovrebbe provare la seguente:

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

Nota che ho cambiato da text/xml a application/xml, ma entrambi dovrebbero funzionare.

Problemi correlati