|
21 | 21 |
|
22 | 22 | namespace Google\Tests\Http; |
23 | 23 |
|
24 | | -use Google\Tests\BaseTest; |
| 24 | +use Google\Client; |
25 | 25 | use Google\Http\MediaFileUpload; |
26 | 26 | use Google\Service\Drive; |
| 27 | +use Google\Tests\BaseTest; |
27 | 28 | use GuzzleHttp\Psr7; |
28 | 29 | use GuzzleHttp\Psr7\Request; |
| 30 | +use GuzzleHttp\Psr7\Response; |
| 31 | +use Prophecy\Argument; |
29 | 32 |
|
30 | 33 | class MediaFileUploadTest extends BaseTest |
31 | 34 | { |
@@ -132,6 +135,23 @@ public function testGetResumeUri() |
132 | 135 | $this->assertEquals('resumable', $query['uploadType']); |
133 | 136 | } |
134 | 137 |
|
| 138 | + public function testGetResumeUriUsesStringHeaderValues() |
| 139 | + { |
| 140 | + $client = $this->prophesize(Client::class); |
| 141 | + $client->execute(Argument::that(function ($request) { |
| 142 | + $this->assertSame(['2'], $request->getHeader('content-length')); |
| 143 | + $this->assertSame(['5'], $request->getHeader('x-upload-content-length')); |
| 144 | + |
| 145 | + return true; |
| 146 | + }), false)->willReturn(new Response(200, ['location' => 'https://upload.example.com'])); |
| 147 | + |
| 148 | + $request = new Request('POST', 'http://www.example.com', [], '{}'); |
| 149 | + $media = new MediaFileUpload($client->reveal(), $request, 'text/plain', null, true); |
| 150 | + $media->setFileSize(5); |
| 151 | + |
| 152 | + $this->assertSame('https://upload.example.com', $media->getResumeUri()); |
| 153 | + } |
| 154 | + |
135 | 155 | public function testNextChunk() |
136 | 156 | { |
137 | 157 | $this->checkToken(); |
|
0 commit comments