Amp\ArtaxTest\ClientHttpBinIntegrationTest::testMultipartBodyRequest PHP Method

testMultipartBodyRequest() public method

    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']);
    }