public function testMultipartBodyRequest()
{
$uri = 'http://httpbin.org/post';
$client = new Client();
$field1 = 'test val';
$file1 = __DIR__ . '/fixture/lorem.txt';
$file2 = __DIR__ . '/fixture/answer.txt';
$boundary = 'AaB03x';
$body = new FormBody($boundary);
$body->addField('field1', $field1);
$body->addFile('file1', $file1);
$body->addFile('file2', $file2);
$request = (new Request())->setBody($body)->setUri('http://httpbin.org/post')->setMethod('POST');
$promise = $client->request($request);
$response = \Amp\wait($promise);
$this->assertEquals(200, $response->getStatus());
$result = json_decode($response->getBody(), true);
$this->assertEquals($field1, $result['form']['field1']);
$this->assertEquals(file_get_contents($file1), $result['files']['file1']);
$this->assertEquals(file_get_contents($file2), $result['files']['file2']);
$this->assertEquals('multipart/form-data; boundary=' . $boundary, $result['headers']['Content-Type']);
}