silverslice/http-tester

Lightweight http testing tool

dev-master 2023-03-16 00:41 UTC

This package is auto-updated.

Last update: 2024-04-16 03:15:25 UTC


README

HttpTester is a thin wrapper around curl to test http requests. If your need more complex tool, please use Goutte or one of its components.

Installation

php composer.phar require silverslice/http-tester:dev-master

Example of usage

require __DIR__ . '/../vendor/autoload.php';

use Silverslice\HttpTester\Request;

class EasyTest extends \PHPUnit_Framework_TestCase
{
    public function testSimple()
    {
        $request = new Request();

        $response = $request
            ->get('https://getcomposer.org/')
            ->setReferrer('http://php.net/')
            ->setUserAgent('Curl agent')
            ->setCookie('hello', 'world')
            ->send();

        // the response has status code "200"
        $this->assertTrue($response->isSuccess());

        // the response body has title "Composer"
        $this->assertTrue($response->hasTitle('Composer'));

        // the response body has this part
        $this->assertTrue($response->hasHtml('<a href="http://packagist.org/">Browse Packages</a>'));

        // the response hasn't this cookie
        $this->assertFalse($response->hasCookie('laravel_session'));
    }
    
    public function testSendJson()
    {
        $request = new Request();

        $response = $request
            ->post('http://localhost:8000/json', ['name' => 'John'])
            ->asJson()
            ->send();

        $json = $response->getBodyJson();
        $this->assertEquals('John', $json['name']);
    }
}