Skip to content

Commit 6809d5f

Browse files
committed
Implemented: Adds a more functional test for Guzzle posts.
1 parent ee98694 commit 6809d5f

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

tests/VCR/LibraryHooks/CurlHookTest.php

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,65 @@ function ($request) use ($testClass, &$callCount) {
262262
$this->assertFalse($afterLastInfo, 'Multi info called the last time should return false.');
263263
}
264264

265+
public function testShouldSetGuzzleCurlOptionsPost()
266+
{
267+
$url = 'http://example.com';
268+
$body = json_encode(array('key' => 'value'));
269+
$headers = array(
270+
'content-type' => 'application/json',
271+
'host' => 'example.com',
272+
'user-agent' => 'Guzzle/3.8.1 curl/7.30.0 PHP/5.4.16',
273+
'content-length' => strlen($body),
274+
);
275+
276+
$testClass = $this;
277+
$this->curlHook->enable(
278+
function ($request) use ($testClass, $url, $body, $headers) {
279+
$this->assertEquals('POST', $request->getMethod());
280+
$this->assertEquals($url, $request->getUrl());
281+
$this->assertEquals($body, $request->getBody());
282+
$this->assertEquals($headers, $request->getHeaders());
283+
284+
return new Response(200);
285+
}
286+
);
287+
288+
$client = new \Guzzle\Http\Client();
289+
$client->post($url, $headers, $body)->send();
290+
291+
$this->curlHook->disable();
292+
}
293+
294+
295+
public function testShouldSetGuzzleCurlOptionsPut()
296+
{
297+
$url = 'http://example.com';
298+
$body = json_encode(array('key' => 'value'));
299+
$headers = array(
300+
'content-type' => 'application/json',
301+
'host' => 'example.com',
302+
'user-agent' => 'Guzzle/3.8.1 curl/7.30.0 PHP/5.4.16',
303+
'content-length' => strlen($body),
304+
);
305+
306+
$testClass = $this;
307+
$this->curlHook->enable(
308+
function ($request) use ($testClass, $url, $body, $headers) {
309+
$this->assertEquals("PUT", $request->getMethod());
310+
$this->assertEquals($url, $request->getUrl());
311+
$this->assertEquals($body, $request->getBody());
312+
$this->assertEquals($headers, $request->getHeaders());
313+
314+
return new Response(200);
315+
}
316+
);
317+
318+
$client = new \Guzzle\Http\Client();
319+
$client->put($url, $headers, $body)->send();
320+
321+
$this->curlHook->disable();
322+
}
323+
265324
public function testShouldNotInterceptMultiCallWhenDisabled()
266325
{
267326
$testClass = $this;

0 commit comments

Comments
 (0)