Modern-OpenAPI-Generator
view release on metacpan or search on metacpan
lib/Modern/OpenAPI/Generator/CodeGen/Server.pm view on Meta::CPAN
return <<"SCRIPT";
#!/usr/bin/env perl
use v5.26;
use strict;
use warnings;
use FindBin qw(\$Bin);
use File::Spec;
BEGIN {
\$ENV{MOJO_HOME} ||= File::Spec->catdir( \$Bin, '..' );
unshift \@INC, File::Spec->catdir( \$Bin, '..', 'lib' );
if ( grep { \$_ eq '--local-test' } \@ARGV ) {
\$ENV{OAPI_SWAGGER_LOCAL_ORIGIN} = 1;
\@ARGV = grep { \$_ ne '--local-test' } \@ARGV;
}
}
use ${base}::Server;
${base}::Server->new->start(\@ARGV);
SCRIPT
}
1;
__END__
t/04-local-test.t view on Meta::CPAN
signatures => [],
local_test => 1,
)->run;
my $stub = File::Spec->catfile( $td, 'lib', 'Gen', 'Local', 'API', 'StubData.pm' );
ok( -e $stub, 'StubData generated' );
my $ctl = File::Spec->catfile( $td, 'lib', 'Gen', 'Local', 'API', 'Server', 'Controller.pm' );
ok( -e $ctl, 'controller exists' );
my $txt = do { local ( @ARGV, $/ ) = ($ctl); <> };
like( $txt, qr/StubData->for_operation/, 'local-test uses StubData + models' );
like( $txt, qr/openapi->valid_input/, 'controller validates incoming request' );
unlike( $txt, qr/Not implemented/, 'local-test controller skips 501 stub message' );
like( $txt, qr/render\(\s*status\s*=>\s*\$st/, 'controller passes status from StubData' );
done_testing;
( run in 1.855 second using v1.01-cache-2.11-cpan-98e64b0badf )