insertObject() public method

public insertObject ( array $args = [] )
$args array
コード例 #1
0
 /**
  * @dataProvider insertObjectProvider
  */
 public function testInsertObject(array $options, $expectedUploaderType, $expectedContentType, array $expectedMetadata)
 {
     $actualRequest = null;
     $response = new Response(200, ['Location' => 'http://www.mordor.com'], $this->successBody);
     $this->requestWrapper->send(Argument::type('Psr\\Http\\Message\\RequestInterface'), Argument::type('array'))->will(function ($args) use(&$actualRequest, $response) {
         $request = $args[0];
         if ($request->getMethod() === 'POST') {
             $actualRequest = $request;
         }
         return $response;
     });
     $rest = new Rest();
     $rest->setRequestWrapper($this->requestWrapper->reveal());
     $uploader = $rest->insertObject($options);
     $uploader->upload();
     list($contentType, $metadata) = $this->getContentTypeAndMetadata($actualRequest);
     $this->assertInstanceOf($expectedUploaderType, $uploader);
     $this->assertEquals($expectedContentType, $contentType);
     foreach ($expectedMetadata as $key => $value) {
         $this->assertEquals($value, $metadata[$key]);
     }
 }