File: /home/cafsindia/lms_cafsinfotech_in/application/third_party/stripe/tests/CurlClientTest.php
<?php
namespace Stripe;
use Stripe\HttpClient\CurlClient;
class CurlClientTest extends TestCase
{
public function testTimeout()
{
$curl = new CurlClient();
$this->assertSame(CurlClient::DEFAULT_TIMEOUT, $curl->getTimeout());
$this->assertSame(CurlClient::DEFAULT_CONNECT_TIMEOUT, $curl->getConnectTimeout());
// implicitly tests whether we're returning the CurlClient instance
$curl = $curl->setConnectTimeout(1)->setTimeout(10);
$this->assertSame(1, $curl->getConnectTimeout());
$this->assertSame(10, $curl->getTimeout());
$curl->setTimeout(-1);
$curl->setConnectTimeout(-999);
$this->assertSame(0, $curl->getTimeout());
$this->assertSame(0, $curl->getConnectTimeout());
}
public function testUserAgentInfo()
{
$curl = new CurlClient();
$uaInfo = $curl->getUserAgentInfo();
$this->assertNotNull($uaInfo);
$this->assertNotNull($uaInfo['httplib']);
$this->assertNotNull($uaInfo['ssllib']);
}
public function testDefaultOptions()
{
// make sure options array loads/saves properly
$optionsArray = array(CURLOPT_PROXY => 'localhost:80');
$withOptionsArray = new CurlClient($optionsArray);
$this->assertSame($withOptionsArray->getDefaultOptions(), $optionsArray);
// make sure closure-based options work properly, including argument passing
$ref = null;
$withClosure = new CurlClient(function ($method, $absUrl, $headers, $params, $hasFile) use (&$ref) {
$ref = func_get_args();
return array();
});
$withClosure->request('get', 'https://httpbin.org/status/200', array(), array(), false);
$this->assertSame($ref, array('get', 'https://httpbin.org/status/200', array(), array(), false));
// this is the last test case that will run, since it'll throw an exception at the end
$withBadClosure = new CurlClient(function () {
return 'thisShouldNotWork';
});
$this->setExpectedException('Stripe\Error\Api', "Non-array value returned by defaultOptions CurlClient callback");
$withBadClosure->request('get', 'https://httpbin.org/status/200', array(), array(), false);
}
public function testSslOption()
{
// make sure options array loads/saves properly
$optionsArray = array(CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1);
$withOptionsArray = new CurlClient($optionsArray);
$this->assertSame($withOptionsArray->getDefaultOptions(), $optionsArray);
}
}