| <?php | |
| use Symfony\Component\HttpFoundation\Request; | |
| use Symfony\Component\HttpFoundation\Response; | |
| 
 | |
| class FetchTest extends PHPUnit\Framework\TestCase | |
| { | |
| 
 | |
|     private $http; | |
| 
 | |
|     public function setUp(): void | |
|     { | |
|         $this->http = new p3k\HTTP(); | |
|     } | |
| 
 | |
|     public function testTimeout() | |
|     { | |
|         $url = 'https://nghttp2.org/httpbin/delay/2'; | |
|         $this->http->timeout = 1; | |
|         $response = $this->http->get($url); | |
|         $this->assertEquals('timeout', $response['error']); | |
|     } | |
| 
 | |
|     public function testRedirectLimit() | |
|     { | |
|         $url = 'https://nghttp2.org/httpbin/redirect/3'; | |
|         $this->http->max_redirects = 1; | |
|         $response = $this->http->get($url); | |
|         $this->assertEquals('too_many_redirects', $response['error']); | |
|     } | |
| 
 | |
|     public function testNoError() | |
|     { | |
|         $url = 'https://nghttp2.org/httpbin/ip'; | |
|         $response = $this->http->get($url); | |
|         $this->assertEquals('', $response['error']);     | |
|     } | |
| 
 | |
| }
 |