<?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']);
|
|
}
|
|
}
|