Download the PHP package coduo/tutu without Composer
On this page you can find all versions of the php package coduo/tutu. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package tutu
Short Description TuTu - simple HTTP server mocking tool in PHP.
License MIT
Informations about the package tutu
TuTu
Flexible HTTP server mocking tool in PHP. TuTu can work with build in php server so everything that you need to use it is php. It can be used to simulate any kind of web application behavior. We are going to use TuTu during api clients tests.
How to use it
Install with composer
TuTu is still under development that's why you need to set stability to dev
Create responses for specific requests
TuTu can create any response for specific request but you need to teach him how to do it.
In order to do that you need to prepare simple responses.yml
yaml file.
Lets assume that we would like to create some kind of "Hello world" response
Run TuTu
You can use php build in webserver to run TuTu
Test TuTu
How when you send a GET request on "http://localhost:8000/hello/world?name=Norbert" TuTu should give you response with following content
Responses configuration
As you can see there are few was to customize TuTu responses.
request.path
- required option, it represents route. You can use placeholders to create route, for example/hello/{name}
request.methods
- optional. When empty any method is allowed. Must be a valid arrayrequest.request
- optional. When not empty it will match only request that contain body ($_POST) parameters.request.query
- optional. When not empty it will match only request that contain query ($_GET) parameters.request.headers
- optional. When not empty it will match only request that contain specified headers.request.body
- optional. When not empty it will match only request that contain specified body.response.content
- optional. Content is nothing more that twig template rendered before passed to response.response.status
- optional. Response coderesponse.headers
- optional. Headers added to response Must be a valid array
In content template you have access to all twig features. You can also use request
variable to access request data.
Request query, headers, request and body configuration may contain coduo/php-matcher patterns.
Load response content from file
In order to keep your config files as small as possible you can move response content into separated file.
Above configuration is going to load content from hello_world.twig.html file present in @resources
namespace.
Configuration
TuTu have also configuration file where you can set up few things.
Extensions
Because there is no such thing as perfect tool TuTu allows you to create extensions.
To enable extension you just need to prepare config.yml
file.
Above example show how to load Faker extension (available in this repository). You can also pass arguments to extension during initialization.
In above example extension Coduo\TuTu\Extension\Faker
is going to be created with one argument with value "pl_PL".
Keep in mind that Faker extension is available in TuTu by default. You don't need to enable it manually.
Few Examples
All versions of tutu with dependencies
symfony/http-kernel Version ~2.3
symfony/options-resolver Version ~2.3
symfony/event-dispatcher Version ~2.3
symfony/class-loader Version ~2.3
symfony/yaml Version ~2.3
twig/twig Version 1.*
coduo/php-matcher Version 2.1.*
coduo/tutu-faker-extension Version 1.0.*
coduo/tutu-twig-extension Version 1.0.*