Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions src/Curl/CurlOptions.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@

class CurlOptions
{
const DEFAULT_TIMEOUT = 5;
const DEFAULT_CONNECT_TIMEOUT = 3;

/** @var array<string> */
protected $headers = [];

/** @var int */
private $verifyHost = 0;

/** @var int */
private $timeout = 30;
private $timeout = self::DEFAULT_TIMEOUT;

/** @var int */
private $connectTimeout = 15;
private $connectTimeout = self::DEFAULT_CONNECT_TIMEOUT;

/** @var bool */
private $verifyPeer = false;
Expand Down
31 changes: 31 additions & 0 deletions tests/Curl/CurlOptionsTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?php

namespace Tpay\Tests\OpenApi\Curl;

use PHPUnit\Framework\TestCase;
use Tpay\OpenApi\Curl\CurlOptions;

/**
* @covers \Tpay\OpenApi\Curl\CurlOptions
*/
class CurlOptionsTest extends TestCase
{
public function testDefaultTimeoutsAreShort()
{
$options = (new CurlOptions())->getOptionsArray();

self::assertSame(CurlOptions::DEFAULT_CONNECT_TIMEOUT, $options[CURLOPT_CONNECTTIMEOUT]);
self::assertSame(CurlOptions::DEFAULT_TIMEOUT, $options[CURLOPT_TIMEOUT]);
}

public function testTimeoutsCanBeOverridden()
{
$options = (new CurlOptions())
->setConnectTimeout(15)
->setTimeout(30)
->getOptionsArray();

self::assertSame(15, $options[CURLOPT_CONNECTTIMEOUT]);
self::assertSame(30, $options[CURLOPT_TIMEOUT]);
}
}
Loading