Guzzle URLs mock handler
This package for easy mocking URLs (fixed and regexps-based) using Guzzle 6/Guzzle 7.
Require this package with composer using the following command:
$ composer require avto-dev/guzzle-url-mock "^1.5"Installed
composeris required (how to install composer).
You need to fix the major version of package.
Create Guzzle client instance with passing handler instance, setup it, and make request:
<?php use GuzzleHttp\Client; use GuzzleHttp\HandlerStack; use GuzzleHttp\Psr7\Response; use AvtoDev\GuzzleUrlMock\UrlsMockHandler; $handler = new UrlsMockHandler; $client = new Client([ 'handler' => HandlerStack::create($handler), ]); $handler->onUriRequested('https://goo.gl', 'get', new Response( 200, ['foo' => ['bar']], '<h1>All looks fine!</h1>' )); $handler->onUriRegexpRequested('~https:\/\/goo\.gl\/.*~', 'post', new Response( 404, [], 'Nothing found' )); $client->request('get', 'https://goo.gl')->getBody()->getContents(); // '<h1>All looks fine!</h1>' $client->request('post', 'https://goo.gl/foo', ['http_errors' => false])->getBody()->getContents(); // 'Nothing found'Also you can use next handler methods:
| Method name | Description |
|---|---|
getRequestsUriHistory() | Get all requests URIs history |
getLastRequestedUri() | Get last requested URI |
getLastRequest() | Get last request instance |
getLastOptions() | Get last request options |
For package testing we use phpunit framework and docker-ce + docker-compose as develop environment. So, just write into your terminal after repository cloning:
$ make build $ make latest # or 'make lowest' $ make testChanges log can be found here.
If you will find any package errors, please, make an issue in current repository.
This is open-sourced software licensed under the MIT License.
