Тестирование Multipart PUT phpUnit и Symfony2 - PullRequest
1 голос
/ 15 марта 2012

Я пытаюсь написать модульный тест для составного PUT с использованием Symfony2 и phpUnit. Я не совсем уверен, лучший способ справиться с этим, и я не могу найти какую-либо документацию по этой теме.

Вот что я должен начать, но я не уверен, как сделать следующий шаг в составной части.

$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 В конечном итоге я бы хотел, чтобы мой пут выглядел так

    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--

Спасибо, CG

1 Ответ

0 голосов
/ 15 марта 2012

По умолчанию createClient() возвращает Symfony\Component\HttpKernel\Client.Насколько я знаю, он не поддерживает самостоятельное создание составного сообщения, но вы можете добавить заголовок самостоятельно и создать тело запроса самостоятельно.

Как вы уже указали в своем вопросе, выВы знаете, какой дополнительный заголовок необходим и как должно формироваться тело запроса.

...