<?php
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

class FetchTest extends PHPUnit_Framework_TestCase {

  private $http;

  public function setUp() {
    $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']);    
  }

}