NAME
Test::RestAPI - Real mock of REST API
SYNOPSIS
my $api = Test::RestAPI->new(
endpoints => [
Test::RestAPI::Endpoint->new(
path => '/a',
method => 'any',
)
],
);
$api->start();
HTTP::Tiny->new->get($api->uri.'/test');
DESCRIPTION
In many (test) case you need mock some REST API. One way is mock your REST-API class abstraction or HTTP client. This module provides other way - start generated Mojolicious server and provides pseudo-real your defined API.
METHODS
new(%attribute)
%attribute
endpoints
ArrayRef of instances Test::RestAPI::Endpoint
default is / (root) 200 OK - hello:
Test::RestAPI::Endpoint->new(
path => '/',
method => 'any',
render => {text => 'Hello'},
);
mojo_app_generator
This attribute is used for generating mojo application.
default is Test::RestAPI::MojoGenerator
start
Start REST API (Mojolicious) application on some random unused port and wait to initialize.
For start new process is used fork-exec
on non-windows machines and Win32::Process for windows machines.
For generating Mojolicious application is used Test::RestAPI::MojoGenerator in mojo_app_generator
attribute - is possible set own generator.
count_of_requests($path)
return count of request to $path
endpoint
list_of_requests_body($path)
return list (ArrayRef) of requests body to $path
endpoint
LICENSE
Copyright (C) Avast Software.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Jan Seidl <seidl@avast.com>