my
$t
= Test::Mojo->new(make_app());
monkey_patch
'Myapp::Controller::Pet'
=>
one
=>
sub
{
my
$c
=
shift
->openapi->valid_input or
return
;
$c
->render(
openapi
=> {
username
=>
$c
->stash(
'username'
)});
};
$t
->get_ok(
'/api/jhthorsen@cpan.org'
)->status_is(200)->json_is(
'/username'
=>
'jhthorsen@cpan.org'
);
$t
->options_ok(
'/api/jhthorsen@cpan.org?method=get'
)->status_is(200)
->json_is(
'/parameters/0/x-mojo-placeholder'
=>
'#'
)->json_is(
'/parameters/0/in'
=>
'path'
)
->json_is(
'/parameters/0/name'
=>
'username'
)->json_is(
'/parameters/1/in'
=>
'query'
)
->json_is(
'/parameters/1/name'
=>
'fields'
)->json_hasnt(
'/x-all-parameters'
);
$t
->get_ok(
'/api.html'
)->status_is(200);
done_testing;
sub
make_app {
eval
<<"HERE";
package Myapp;
use Mojo::Base 'Mojolicious';
sub startup { }
1;
package Myapp::Controller::Pet;
use Mojo::Base 'Mojolicious::Controller';
1;
HERE
return
Myapp->new;
}