2012-03-15 2 views
1

J'essaye d'écrire un test unitaire pour un PUT en plusieurs parties en utilisant Symfony2 et phpUnit. Je ne suis pas sûr de la meilleure façon de gérer cela, et je ne suis pas en mesure de trouver de la documentation sur le sujet.Test de Multipart PUT phpUnit et Symfony2

Voici ce que je dois commencer, mais je ne suis pas sûr de savoir comment passer à l'étape suivante.

$client = static::createClient(); 
//test put method for new file 
    $xml = new UploadedFile(
     dirname (__FILE__).'/testfile.xml', 
     'testfile.xml', 
     'application/xml' 
    ); 
$crawler = $client->request('PUT', '/file.xml',array(), 
    array('xml'=>$xml), 
    array(
     'CONTENT_TYPE' => 'application/xml' 
)); 

EDIT En fin de compte, je voudrais que mon mettre à ressembler à ce

PUT /v1/files HTTP/1.1 

host: files.bimfs.com 

date: 2009-07-07T12:49:08-06:00 

Content-MD5: 5a1d2ffa5b1fd1d11d694428a6f4b808 

Authorization: f9ea57af8da1b02ff8fa6e99736ed3c6cbb95c1b:YTc4NDcyZjI1ZTFjN2E3MzAxODIwZGNlZGNlMTczODQyYjIwODVhMzI4ZDhjZTY4MmY4NmYyZGJjZTUyZjBiNg== 

Content-Type: multipart/formdata; boundary=c7ecb1abb999a3de5ab26c49b5ac7f87 

--c7ecb1abb999a3de5ab26c49b5ac7f87 

Content-Type: application/xml 

<?xml version="1.0" encoding="UTF-8"?> 

<file> 

    <name>foo.gif</name> 

    <dead_date></dead_date> 

</file> 

--c7ecb1abb999a3de5ab26c49b5ac7f87 

Content-Disposition: file; filename=blank.gif 

Content-Type: image/gif 

Content-Transfer-Encoding: binary 

{file binary} 

--c7ecb1abb999a3de5ab26c49b5ac7f87-- 

Merci, CG

Répondre

0

Par défaut createClient() renvoie une Symfony\Component\HttpKernel\Client. Autant que je sache, il ne supporte pas la construction d'un message en plusieurs parties, mais vous pouvez ajouter l'en-tête vous-même et créer le corps de la requête vous-même.

Comme vous l'avez déjà souligné dans votre question, vous savez quel en-tête supplémentaire est nécessaire et comment le corps de la requête doit être construit.

+1

Un conseil sur la meilleure façon de gérer cela? J'aimerais pouvoir utiliser le robot de réponse. –

+0

C'est indépendant de la réponse. – hakre

Questions connexes