Open Journal Systems  3.3.0
RequestFactoryTest.php
1 <?php
2 
4 
16 
22 {
23  public function testCachesSingletonInstance()
24  {
25  $factory = RequestFactory::getInstance();
26  $this->assertSame($factory, RequestFactory::getInstance());
27  }
28 
29  public function testCreatesNewGetRequests()
30  {
31  $request = RequestFactory::getInstance()->create('GET', 'http://www.google.com/');
32  $this->assertInstanceOf('Guzzle\\Http\\Message\\MessageInterface', $request);
33  $this->assertInstanceOf('Guzzle\\Http\\Message\\RequestInterface', $request);
34  $this->assertInstanceOf('Guzzle\\Http\\Message\\Request', $request);
35  $this->assertEquals('GET', $request->getMethod());
36  $this->assertEquals('http', $request->getScheme());
37  $this->assertEquals('http://www.google.com/', $request->getUrl());
38  $this->assertEquals('www.google.com', $request->getHost());
39  $this->assertEquals('/', $request->getPath());
40  $this->assertEquals('/', $request->getResource());
41 
42  // Create a GET request with a custom receiving body
43  $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
44  $b = EntityBody::factory();
45  $request = RequestFactory::getInstance()->create('GET', $this->getServer()->getUrl(), null, $b);
46  $request->setClient(new Client());
47  $response = $request->send();
48  $this->assertSame($b, $response->getBody());
49  }
50 
51  public function testCreatesPutRequests()
52  {
53  // Test using a string
54  $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/path?q=1&v=2', null, 'Data');
55  $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request);
56  $this->assertEquals('PUT', $request->getMethod());
57  $this->assertEquals('http', $request->getScheme());
58  $this->assertEquals('http://www.google.com/path?q=1&v=2', $request->getUrl());
59  $this->assertEquals('www.google.com', $request->getHost());
60  $this->assertEquals('/path', $request->getPath());
61  $this->assertEquals('/path?q=1&v=2', $request->getResource());
62  $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $request->getBody());
63  $this->assertEquals('Data', (string) $request->getBody());
64  unset($request);
65 
66  // Test using an EntityBody
67  $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/path?q=1&v=2', null, EntityBody::factory('Data'));
68  $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request);
69  $this->assertEquals('Data', (string) $request->getBody());
70 
71  // Test using a resource
72  $resource = fopen('php://temp', 'w+');
73  fwrite($resource, 'Data');
74  $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/path?q=1&v=2', null, $resource);
75  $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request);
76  $this->assertEquals('Data', (string) $request->getBody());
77 
78  // Test using an object that can be cast as a string
79  $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/path?q=1&v=2', null, Url::factory('http://www.example.com/'));
80  $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request);
81  $this->assertEquals('http://www.example.com/', (string) $request->getBody());
82  }
83 
85  {
86  $request = RequestFactory::getInstance()->create('DELETE', 'http://www.test.com/');
87  $this->assertEquals('DELETE', $request->getMethod());
88  $request = RequestFactory::getInstance()->create('HEAD', 'http://www.test.com/');
89  $this->assertEquals('HEAD', $request->getMethod());
90  }
91 
92  public function testCreatesOptionsRequests()
93  {
94  $request = RequestFactory::getInstance()->create('OPTIONS', 'http://www.example.com/');
95  $this->assertEquals('OPTIONS', $request->getMethod());
96  $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request);
97  }
98 
100  {
101  $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/path?q=1&v=2', null, 'Data');
102  $this->assertEquals('Data', (string) $request->getBody());
103  }
104 
106  {
107  // Use an array
108  $request = RequestFactory::getInstance()->create('POST', 'http://www.google.com/path?q=1&v=2', null, array(
109  'a' => 'b'
110  ));
111  $this->assertEquals(array('a' => 'b'), $request->getPostFields()->getAll());
112  unset($request);
113 
114  // Use a collection
115  $request = RequestFactory::getInstance()->create('POST', 'http://www.google.com/path?q=1&v=2', null, new Collection(array(
116  'a' => 'b'
117  )));
118  $this->assertEquals(array('a' => 'b'), $request->getPostFields()->getAll());
119 
120  // Use a QueryString
121  $request = RequestFactory::getInstance()->create('POST', 'http://www.google.com/path?q=1&v=2', null, new QueryString(array(
122  'a' => 'b'
123  )));
124  $this->assertEquals(array('a' => 'b'), $request->getPostFields()->getAll());
125 
126  $request = RequestFactory::getInstance()->create('POST', 'http://www.test.com/', null, array(
127  'a' => 'b',
128  'file' => '@' . __FILE__
129  ));
130 
131  $this->assertEquals(array(
132  'a' => 'b'
133  ), $request->getPostFields()->getAll());
134 
135  $files = $request->getPostFiles();
136  $this->assertInstanceOf('Guzzle\Http\Message\PostFile', $files['file'][0]);
137  }
138 
139  public function testCreatesFromParts()
140  {
141  $parts = parse_url('http://michael:123@www.google.com:8080/path?q=1&v=2');
142 
143  $request = RequestFactory::getInstance()->fromParts('PUT', $parts, null, 'Data');
144  $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request);
145  $this->assertEquals('PUT', $request->getMethod());
146  $this->assertEquals('http', $request->getScheme());
147  $this->assertEquals('http://www.google.com:8080/path?q=1&v=2', $request->getUrl());
148  $this->assertEquals('www.google.com', $request->getHost());
149  $this->assertEquals('www.google.com:8080', $request->getHeader('Host'));
150  $this->assertEquals('/path', $request->getPath());
151  $this->assertEquals('/path?q=1&v=2', $request->getResource());
152  $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $request->getBody());
153  $this->assertEquals('Data', (string) $request->getBody());
154  $this->assertEquals('michael', $request->getUsername());
155  $this->assertEquals('123', $request->getPassword());
156  $this->assertEquals('8080', $request->getPort());
157  $this->assertEquals(array(
158  'scheme' => 'http',
159  'host' => 'www.google.com',
160  'port' => 8080,
161  'path' => '/path',
162  'query' => 'q=1&v=2',
163  ), parse_url($request->getUrl()));
164  }
165 
166  public function testCreatesFromMessage()
167  {
168  $auth = base64_encode('michael:123');
169  $message = "PUT /path?q=1&v=2 HTTP/1.1\r\nHost: www.google.com:8080\r\nContent-Length: 4\r\nAuthorization: Basic {$auth}\r\n\r\nData";
170  $request = RequestFactory::getInstance()->fromMessage($message);
171  $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request);
172  $this->assertEquals('PUT', $request->getMethod());
173  $this->assertEquals('http', $request->getScheme());
174  $this->assertEquals('http://www.google.com:8080/path?q=1&v=2', $request->getUrl());
175  $this->assertEquals('www.google.com', $request->getHost());
176  $this->assertEquals('www.google.com:8080', $request->getHeader('Host'));
177  $this->assertEquals('/path', $request->getPath());
178  $this->assertEquals('/path?q=1&v=2', $request->getResource());
179  $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $request->getBody());
180  $this->assertEquals('Data', (string) $request->getBody());
181  $this->assertEquals("Basic {$auth}", (string) $request->getHeader('Authorization'));
182  $this->assertEquals('8080', $request->getPort());
183 
184  // Test passing a blank message returns false
185  $this->assertFalse($request = RequestFactory::getInstance()->fromMessage(''));
186 
187  // Test passing a url with no port
188  $message = "PUT /path?q=1&v=2 HTTP/1.1\r\nHost: www.google.com\r\nContent-Length: 4\r\nAuthorization: Basic {$auth}\r\n\r\nData";
189  $request = RequestFactory::getInstance()->fromMessage($message);
190  $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request);
191  $this->assertEquals('PUT', $request->getMethod());
192  $this->assertEquals('http', $request->getScheme());
193  $this->assertEquals('http://www.google.com/path?q=1&v=2', $request->getUrl());
194  $this->assertEquals('www.google.com', $request->getHost());
195  $this->assertEquals('/path', $request->getPath());
196  $this->assertEquals('/path?q=1&v=2', $request->getResource());
197  $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $request->getBody());
198  $this->assertEquals('Data', (string) $request->getBody());
199  $this->assertEquals("Basic {$auth}", (string) $request->getHeader('Authorization'));
200  $this->assertEquals(80, $request->getPort());
201  }
202 
203  public function testCreatesNewTraceRequest()
204  {
205  $request = RequestFactory::getInstance()->create('TRACE', 'http://www.google.com/');
206  $this->assertFalse($request instanceof \Guzzle\Http\Message\EntityEnclosingRequest);
207  $this->assertEquals('TRACE', $request->getMethod());
208  }
209 
211  {
212  $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/', array(
213  'Transfer-Encoding' => 'chunked'
214  ), 'hello');
215  $this->assertEquals('chunked', $request->getHeader('Transfer-Encoding'));
216  $this->assertFalse($request->hasHeader('Content-Length'));
217  }
218 
220  {
221  $parser = new MessageParser();
222 
223  $message = "POST / http/1.1\r\n"
224  . "DATE:Mon, 09 Sep 2011 23:36:00 GMT\r\n"
225  . "host:host.foo.com\r\n"
226  . "ZOO:abc\r\n"
227  . "ZOO:123\r\n"
228  . "ZOO:HI\r\n"
229  . "zoo:456\r\n\r\n";
230 
231  $parts = $parser->parseRequest($message);
232  $this->assertEquals(array (
233  'DATE' => 'Mon, 09 Sep 2011 23:36:00 GMT',
234  'host' => 'host.foo.com',
235  'ZOO' => array('abc', '123', 'HI'),
236  'zoo' => '456',
237  ), $parts['headers']);
238 
239  $request = RequestFactory::getInstance()->fromMessage($message);
240 
241  $this->assertEquals(array(
242  'abc', '123', 'HI', '456'
243  ), $request->getHeader('zoo')->toArray());
244  }
245 
247  {
248  $message = "POST / http/1.1\r\n"
249  . "Content-Type:application/x-www-form-urlencoded; charset=utf8\r\n"
250  . "Date:Mon, 09 Sep 2011 23:36:00 GMT\r\n"
251  . "Host:host.foo.com\r\n\r\n"
252  . "foo=bar";
253 
254  $request = RequestFactory::getInstance()->fromMessage($message);
255  $this->assertEquals('application/x-www-form-urlencoded; charset=utf8', (string) $request->getHeader('Content-Type'));
256  $this->assertEquals('foo=bar', (string) $request->getBody());
257 
258  $message = "POST / http/1.1\n"
259  . "Content-Type:application/x-www-form-urlencoded; charset=utf8\n"
260  . "Date:Mon, 09 Sep 2011 23:36:00 GMT\n"
261  . "Host:host.foo.com\n\n"
262  . "foo=bar";
263  $request = RequestFactory::getInstance()->fromMessage($message);
264  $this->assertEquals('foo=bar', (string) $request->getBody());
265 
266  $message = "PUT / HTTP/1.1\r\nContent-Length: 0\r\n\r\n";
267  $request = RequestFactory::getInstance()->fromMessage($message);
268  $this->assertTrue($request->hasHeader('Content-Length'));
269  $this->assertEquals(0, (string) $request->getHeader('Content-Length'));
270  }
271 
273  {
274  $message = "POST /foo\r\n\r\nBODY";
275  $request = RequestFactory::getInstance()->fromMessage($message);
276  $this->assertSame('POST', $request->getMethod());
277  $this->assertSame('/foo', $request->getPath());
278  $this->assertSame('BODY', (string) $request->getBody());
279  }
280 
282  {
283  $request = RequestFactory::getInstance()->create('PUT', 'http://www.foo.com/', array(
284  'Transfer-Encoding' => 'chunked'
285  ), 'Test');
286  $this->assertFalse($request->hasHeader('Content-Length'));
287  $this->assertEquals('chunked', $request->getHeader('Transfer-Encoding'));
288 
289  $request = RequestFactory::getInstance()->create('POST', 'http://www.foo.com/', array(
290  'transfer-encoding' => 'chunked'
291  ), array(
292  'foo' => 'bar'
293  ));
294 
295  $this->assertFalse($request->hasHeader('Content-Length'));
296  $this->assertEquals('chunked', $request->getHeader('Transfer-Encoding'));
297  }
298 
300  {
302  $request = $f->create('GET', 'http://www.test.com', array('X-Foo' => 'Bar'));
303  $request->getParams()->replace(array('test' => '123'));
304  $request->getCurlOptions()->set('foo', 'bar');
305  $cloned = $f->cloneRequestWithMethod($request, 'PUT');
306  $this->assertEquals('PUT', $cloned->getMethod());
307  $this->assertEquals('Bar', (string) $cloned->getHeader('X-Foo'));
308  $this->assertEquals('http://www.test.com', $cloned->getUrl());
309  // Ensure params are cloned and cleaned up
310  $this->assertEquals(1, count($cloned->getParams()->getAll()));
311  $this->assertEquals('123', $cloned->getParams()->get('test'));
312  // Ensure curl options are cloned
313  $this->assertEquals('bar', $cloned->getCurlOptions()->get('foo'));
314  // Ensure event dispatcher is cloned
315  $this->assertNotSame($request->getEventDispatcher(), $cloned->getEventDispatcher());
316  }
317 
319  {
321  $client = new Client();
322  $request = $client->put('http://www.test.com', array('Content-Length' => 4), 'test');
323  $cloned = $f->cloneRequestWithMethod($request, 'GET');
324  $this->assertEquals('GET', $cloned->getMethod());
325  $this->assertNull($cloned->getHeader('Content-Length'));
326  $this->assertEquals('http://www.test.com', $cloned->getUrl());
327  $this->assertSame($request->getClient(), $cloned->getClient());
328  }
329 
331  {
333  $client = new Client();
334  $request = $client->put('http://www.test.com', array('Content-Length' => 4), 'test');
335  $cloned = $f->cloneRequestWithMethod($request, 'POST');
336  $this->assertEquals('POST', $cloned->getMethod());
337  $this->assertEquals('test', (string) $cloned->getBody());
338  }
339 
340  public function testCanDisableRedirects()
341  {
342  $this->getServer()->enqueue(array(
343  "HTTP/1.1 307\r\nLocation: " . $this->getServer()->getUrl() . "\r\nContent-Length: 0\r\n\r\n"
344  ));
345  $client = new Client($this->getServer()->getUrl());
346  $response = $client->get('/', array(), array('allow_redirects' => false))->send();
347  $this->assertEquals(307, $response->getStatusCode());
348  }
349 
350  public function testCanAddCookies()
351  {
352  $client = new Client($this->getServer()->getUrl());
353  $request = $client->get('/', array(), array('cookies' => array('Foo' => 'Bar')));
354  $this->assertEquals('Bar', $request->getCookie('Foo'));
355  }
356 
357  public function testCanAddQueryString()
358  {
359  $request = RequestFactory::getInstance()->create('GET', 'http://foo.com', array(), null, array(
360  'query' => array('Foo' => 'Bar')
361  ));
362  $this->assertEquals('Bar', $request->getQuery()->get('Foo'));
363  }
364 
366  {
367  $request = new Request('GET', 'http://www.foo.com?test=abc');
368  RequestFactory::getInstance()->applyOptions($request, array(
369  'query' => array('test' => '123', 'other' => 't123')
371  $this->assertEquals('abc', $request->getQuery()->get('test'));
372  $this->assertEquals('t123', $request->getQuery()->get('other'));
373  }
374 
375  public function testCanAddBasicAuth()
376  {
377  $request = RequestFactory::getInstance()->create('GET', 'http://foo.com', array(), null, array(
378  'auth' => array('michael', 'test')
379  ));
380  $this->assertEquals('michael', $request->getUsername());
381  $this->assertEquals('test', $request->getPassword());
382  }
383 
384  public function testCanAddDigestAuth()
385  {
386  $request = RequestFactory::getInstance()->create('GET', 'http://foo.com', array(), null, array(
387  'auth' => array('michael', 'test', 'digest')
388  ));
389  $this->assertEquals(CURLAUTH_DIGEST, $request->getCurlOptions()->get(CURLOPT_HTTPAUTH));
390  $this->assertEquals('michael', $request->getUsername());
391  $this->assertEquals('test', $request->getPassword());
392  }
393 
394  public function testCanAddEvents()
395  {
396  $foo = null;
397  $client = new Client();
398  $client->addSubscriber(new MockPlugin(array(new Response(200))));
399  $request = $client->get($this->getServer()->getUrl(), array(), array(
400  'events' => array(
401  'request.before_send' => function () use (&$foo) { $foo = true; }
402  )
403  ));
404  $request->send();
405  $this->assertTrue($foo);
406  }
407 
409  {
410  $foo = null;
411  $client = new Client();
412  $client->addSubscriber(new MockPlugin(array(new Response(200))));
413  $request = $client->get($this->getServer()->getUrl(), array(), array(
414  'events' => array(
415  'request.before_send' => array(function () use (&$foo) { $foo = true; }, 100)
416  )
417  ));
418  $request->send();
419  $this->assertTrue($foo);
420  }
421 
422  public function testCanAddPlugins()
423  {
424  $mock = new MockPlugin(array(
425  new Response(200),
426  new Response(200)
427  ));
428  $client = new Client();
429  $client->addSubscriber($mock);
430  $request = $client->get('/', array(), array(
431  'plugins' => array($mock)
432  ));
433  $request->send();
434  }
435 
436  public function testCanDisableExceptions()
437  {
438  $client = new Client();
439  $request = $client->get('/', array(), array(
440  'plugins' => array(new MockPlugin(array(new Response(500)))),
441  'exceptions' => false
442  ));
443  $this->assertEquals(500, $request->send()->getStatusCode());
444  }
445 
447  {
448  $client = new Client();
449  $client->getEventDispatcher()->addListener('request.error', function () {});
450  $request = $client->get('/', array(), array(
451  'plugins' => array(new MockPlugin(array(new Response(500)))),
452  'exceptions' => false
453  ));
454  $this->assertEquals(500, $request->send()->getStatusCode());
455  }
456 
457  public function testCanChangeSaveToLocation()
458  {
459  $r = EntityBody::factory();
460  $client = new Client();
461  $request = $client->get('/', array(), array(
462  'plugins' => array(new MockPlugin(array(new Response(200, array(), 'testing')))),
463  'save_to' => $r
464  ));
465  $request->send();
466  $this->assertEquals('testing', (string) $r);
467  }
468 
469  public function testCanSetProxy()
470  {
471  $client = new Client();
472  $request = $client->get('/', array(), array('proxy' => '192.168.16.121'));
473  $this->assertEquals('192.168.16.121', $request->getCurlOptions()->get(CURLOPT_PROXY));
474  }
475 
476  public function testCanSetHeadersOption()
477  {
478  $client = new Client();
479  $request = $client->get('/', array(), array('headers' => array('Foo' => 'Bar')));
480  $this->assertEquals('Bar', (string) $request->getHeader('Foo'));
481  }
482 
484  {
485  $request = new Request('GET', 'http://www.foo.com', array('Foo' => 'Bar'));
486  RequestFactory::getInstance()->applyOptions($request, array(
487  'headers' => array('Foo' => 'Baz', 'Bam' => 't123')
489  $this->assertEquals('Bar', (string) $request->getHeader('Foo'));
490  $this->assertEquals('t123', (string) $request->getHeader('Bam'));
491  }
492 
493  public function testCanSetBodyOption()
494  {
495  $client = new Client();
496  $request = $client->put('/', array(), null, array('body' => 'test'));
497  $this->assertEquals('test', (string) $request->getBody());
498  }
499 
503  public function testValidatesBodyOption()
504  {
505  $client = new Client();
506  $client->get('/', array(), array('body' => 'test'));
507  }
508 
509  public function testCanSetTimeoutOption()
510  {
511  $client = new Client();
512  $request = $client->get('/', array(), array('timeout' => 1.5));
513  $this->assertEquals(1500, $request->getCurlOptions()->get(CURLOPT_TIMEOUT_MS));
514  }
515 
517  {
518  $client = new Client();
519  $request = $client->get('/', array(), array('connect_timeout' => 1.5));
520  $this->assertEquals(1500, $request->getCurlOptions()->get(CURLOPT_CONNECTTIMEOUT_MS));
521  }
522 
523  public function testCanSetDebug()
524  {
525  $client = new Client();
526  $request = $client->get('/', array(), array('debug' => true));
527  $this->assertTrue($request->getCurlOptions()->get(CURLOPT_VERBOSE));
528  }
529 
530  public function testCanSetVerifyToOff()
531  {
532  $client = new Client();
533  $request = $client->get('/', array(), array('verify' => false));
534  $this->assertNull($request->getCurlOptions()->get(CURLOPT_CAINFO));
535  $this->assertSame(0, $request->getCurlOptions()->get(CURLOPT_SSL_VERIFYHOST));
536  $this->assertFalse($request->getCurlOptions()->get(CURLOPT_SSL_VERIFYPEER));
537  }
538 
539  public function testCanSetVerifyToOn()
540  {
541  $client = new Client();
542  $request = $client->get('/', array(), array('verify' => true));
543  $this->assertNotNull($request->getCurlOptions()->get(CURLOPT_CAINFO));
544  $this->assertSame(2, $request->getCurlOptions()->get(CURLOPT_SSL_VERIFYHOST));
545  $this->assertTrue($request->getCurlOptions()->get(CURLOPT_SSL_VERIFYPEER));
546  }
547 
548  public function testCanSetVerifyToPath()
549  {
550  $client = new Client();
551  $request = $client->get('/', array(), array('verify' => '/foo.pem'));
552  $this->assertEquals('/foo.pem', $request->getCurlOptions()->get(CURLOPT_CAINFO));
553  $this->assertSame(2, $request->getCurlOptions()->get(CURLOPT_SSL_VERIFYHOST));
554  $this->assertTrue($request->getCurlOptions()->get(CURLOPT_SSL_VERIFYPEER));
555  }
556 
557  public function inputValidation()
558  {
559  return array_map(function ($option) { return array($option); }, array(
560  'headers', 'query', 'cookies', 'auth', 'events', 'plugins', 'params'
561  ));
562  }
563 
568  public function testValidatesInput($option)
569  {
570  $client = new Client();
571  $client->get('/', array(), array($option => 'foo'));
572  }
573 
574  public function testCanAddRequestParams()
575  {
576  $client = new Client();
577  $request = $client->put('/', array(), null, array('params' => array('foo' => 'test')));
578  $this->assertEquals('test', $request->getParams()->get('foo'));
579  }
580 
581  public function testCanAddSslKey()
582  {
583  $client = new Client();
584  $request = $client->get('/', array(), array('ssl_key' => '/foo.pem'));
585  $this->assertEquals('/foo.pem', $request->getCurlOptions()->get(CURLOPT_SSLKEY));
586  }
587 
588  public function testCanAddSslKeyPassword()
589  {
590  $client = new Client();
591  $request = $client->get('/', array(), array('ssl_key' => array('/foo.pem', 'bar')));
592  $this->assertEquals('/foo.pem', $request->getCurlOptions()->get(CURLOPT_SSLKEY));
593  $this->assertEquals('bar', $request->getCurlOptions()->get(CURLOPT_SSLKEYPASSWD));
594  }
595 
596  public function testCanAddSslCert()
597  {
598  $client = new Client();
599  $request = $client->get('/', array(), array('cert' => '/foo.pem'));
600  $this->assertEquals('/foo.pem', $request->getCurlOptions()->get(CURLOPT_SSLCERT));
601  }
602 
603  public function testCanAddSslCertPassword()
604  {
605  $client = new Client();
606  $request = $client->get('/', array(), array('cert' => array('/foo.pem', 'bar')));
607  $this->assertEquals('/foo.pem', $request->getCurlOptions()->get(CURLOPT_SSLCERT));
608  $this->assertEquals('bar', $request->getCurlOptions()->get(CURLOPT_SSLCERTPASSWD));
609  }
610 
612  {
613  $request = RequestFactory::getInstance()->create('PUT', 'http://test.com', array(), '0');
614  $this->assertSame('0', (string) $request->getBody());
615  }
616 }
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testProperlyDealsWithDuplicateHeaders
testProperlyDealsWithDuplicateHeaders()
Definition: RequestFactoryTest.php:219
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddSslKey
testCanAddSslKey()
Definition: RequestFactoryTest.php:581
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanSetConnectTimeoutOption
testCanSetConnectTimeoutOption()
Definition: RequestFactoryTest.php:516
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesFromMessage
testCreatesFromMessage()
Definition: RequestFactoryTest.php:166
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddSslCertPassword
testCanAddSslCertPassword()
Definition: RequestFactoryTest.php:603
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddBasicAuth
testCanAddBasicAuth()
Definition: RequestFactoryTest.php:375
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testClonesRequestsWithMethodWithClientWithEntityEnclosingChange
testClonesRequestsWithMethodWithClientWithEntityEnclosingChange()
Definition: RequestFactoryTest.php:330
Guzzle\Tests\Http\Message\HttpRequestFactoryTest
Definition: RequestFactoryTest.php:21
Guzzle\Plugin\Log\LogPlugin
Definition: LogPlugin.php:20
Guzzle\Tests\GuzzleTestCase
Definition: GuzzleTestCase.php:22
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesNewGetRequests
testCreatesNewGetRequests()
Definition: RequestFactoryTest.php:29
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testClonesRequestsWithMethodWithoutClient
testClonesRequestsWithMethodWithoutClient()
Definition: RequestFactoryTest.php:299
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesPutRequests
testCreatesPutRequests()
Definition: RequestFactoryTest.php:51
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddPlugins
testCanAddPlugins()
Definition: RequestFactoryTest.php:422
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testValidatesInput
testValidatesInput($option)
Definition: RequestFactoryTest.php:568
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\inputValidation
inputValidation()
Definition: RequestFactoryTest.php:557
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddRequestParams
testCanAddRequestParams()
Definition: RequestFactoryTest.php:574
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanSetHeadersOption
testCanSetHeadersOption()
Definition: RequestFactoryTest.php:476
Guzzle\Http\QueryString
Definition: QueryString.php:14
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanSetTimeoutOption
testCanSetTimeoutOption()
Definition: RequestFactoryTest.php:509
Guzzle\Http\EntityBody\factory
static factory($resource='', $size=null)
Definition: EntityBody.php:36
Guzzle\Http\Message\Response
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Response.php:17
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddQueryString
testCanAddQueryString()
Definition: RequestFactoryTest.php:357
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanDisableExceptionsWithErrorListener
testCanDisableExceptionsWithErrorListener()
Definition: RequestFactoryTest.php:446
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testClonesRequestsWithMethodWithClient
testClonesRequestsWithMethodWithClient()
Definition: RequestFactoryTest.php:318
Guzzle\Http\EntityBody
Definition: EntityBody.php:13
Guzzle\Http\Url
Definition: Url.php:10
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddSslKeyPassword
testCanAddSslKeyPassword()
Definition: RequestFactoryTest.php:588
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testHandlesChunkedTransferEncoding
testHandlesChunkedTransferEncoding()
Definition: RequestFactoryTest.php:281
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanSetBodyOption
testCanSetBodyOption()
Definition: RequestFactoryTest.php:493
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesHeadAndDeleteRequests
testCreatesHeadAndDeleteRequests()
Definition: RequestFactoryTest.php:84
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesNewPostRequestWithFields
testCreatesNewPostRequestWithFields()
Definition: RequestFactoryTest.php:105
Guzzle\Http\Message\RequestFactoryInterface\OPTIONS_AS_DEFAULTS
const OPTIONS_AS_DEFAULTS
Definition: RequestFactoryInterface.php:15
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanSetDefaultQueryString
testCanSetDefaultQueryString()
Definition: RequestFactoryTest.php:365
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesNewPutRequestWithBody
testCreatesNewPutRequestWithBody()
Definition: RequestFactoryTest.php:99
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddEvents
testCanAddEvents()
Definition: RequestFactoryTest.php:394
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesBodyWithoutZeroString
testCreatesBodyWithoutZeroString()
Definition: RequestFactoryTest.php:611
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCachesSingletonInstance
testCachesSingletonInstance()
Definition: RequestFactoryTest.php:23
Guzzle\Http\Message\Request
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Request.php:25
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesOptionsRequests
testCreatesOptionsRequests()
Definition: RequestFactoryTest.php:92
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesNewTraceRequest
testCreatesNewTraceRequest()
Definition: RequestFactoryTest.php:203
Guzzle\Http\Message\EntityEnclosingRequest
Definition: EntityEnclosingRequest.php:14
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanSetDefaultHeadersOptions
testCanSetDefaultHeadersOptions()
Definition: RequestFactoryTest.php:483
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesHttpMessagesWithBodiesAndNormalizesLineEndings
testCreatesHttpMessagesWithBodiesAndNormalizesLineEndings()
Definition: RequestFactoryTest.php:246
Guzzle\Http\Message\RequestFactory
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php:14
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testValidatesBodyOption
testValidatesBodyOption()
Definition: RequestFactoryTest.php:503
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanDisableRedirects
testCanDisableRedirects()
Definition: RequestFactoryTest.php:340
Http
Guzzle\Parser\Message\MessageParser
Definition: MessageParser.php:8
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesFromParts
testCreatesFromParts()
Definition: RequestFactoryTest.php:139
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanSetVerifyToPath
testCanSetVerifyToPath()
Definition: RequestFactoryTest.php:548
Guzzle\Http\Client
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Client.php:24
Guzzle\Plugin\Mock\MockPlugin
Definition: MockPlugin.php:17
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddEventsWithPriority
testCanAddEventsWithPriority()
Definition: RequestFactoryTest.php:408
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddDigestAuth
testCanAddDigestAuth()
Definition: RequestFactoryTest.php:384
Guzzle\Http\Message\RequestFactory\getInstance
static getInstance()
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php:42
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanSetVerifyToOn
testCanSetVerifyToOn()
Definition: RequestFactoryTest.php:539
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddCookies
testCanAddCookies()
Definition: RequestFactoryTest.php:350
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanChangeSaveToLocation
testCanChangeSaveToLocation()
Definition: RequestFactoryTest.php:457
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanSetProxy
testCanSetProxy()
Definition: RequestFactoryTest.php:469
Guzzle
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanSetVerifyToOff
testCanSetVerifyToOff()
Definition: RequestFactoryTest.php:530
Guzzle\Tests\GuzzleTestCase\getServer
static getServer()
Definition: GuzzleTestCase.php:36
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanAddSslCert
testCanAddSslCert()
Definition: RequestFactoryTest.php:596
Guzzle\Tests\Http\Message
Definition: AbstractMessageTest.php:3
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testBugPathIncorrectlyHandled
testBugPathIncorrectlyHandled()
Definition: RequestFactoryTest.php:272
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanDisableExceptions
testCanDisableExceptions()
Definition: RequestFactoryTest.php:436
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCreatesProperTransferEncodingRequests
testCreatesProperTransferEncodingRequests()
Definition: RequestFactoryTest.php:210
Guzzle\Common\Collection
Definition: paymethod/paypal/lib/vendor/guzzle/guzzle/src/Guzzle/Common/Collection.php:11
Guzzle\Tests\Http\Message\HttpRequestFactoryTest\testCanSetDebug
testCanSetDebug()
Definition: RequestFactoryTest.php:523
Guzzle\Http\Url\factory
static factory($url)
Definition: Url.php:34