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 )