Apache2-API
view release on metacpan or search on metacpan
use vars qw( $DEBUG $VERSION $hostport $host $port $mp_host $proto $ua @ua_args );
use constant HAS_APACHE_TEST => $ENV{HAS_APACHE_TEST};
use constant HAS_SSL => $ENV{HAS_SSL};
if( HAS_APACHE_TEST )
{
use_ok( 'Apache2::API' ) || BAIL_OUT( "Unable to load Apache2::API" );
use_ok( 'Apache2::Const', qw( -compile :common :http ) ) || BAIL_OUT( "Unable to load Apache2::Const" );
require_ok( 'Apache::Test' ) || BAIL_OUT( "Unable to load Apache::Test" );
use_ok( 'Apache::TestUtil' ) || BAIL_OUT( "Unable to load Apache::TestUtil" );
use_ok( 'Apache::TestRequest' ) || BAIL_OUT( "Unable to load Apache::TestRequest" );
use_ok( 'HTTP::Request' ) || BAIL_OUT( "Unable to load HTTP::Request" );
use_ok( 'JSON' ) || BAIL_OUT( "Unable to load JSON" );
plan no_plan;
}
else
{
plan skip_all => 'Not running under modperl';
}
use Module::Generic::File qw( file );
# 2021-11-1T167:12:10+0900
use Test::Time time => 1635754330;
{
&simple_test({ target => 'response', name => $test, code => Apache2::Const::HTTP_OK });
}
};
sub make_request
{
my( $type, $path, $opts ) = @_;
my $http_meth = uc( $opts->{http_method} // 'GET' );
my $req = HTTP::Request->new( $http_meth => "${proto}://${hostport}/tests/${type}/${path}",
( exists( $opts->{headers} ) ? $opts->{headers} : () ),
( ( exists( $opts->{body} ) && length( $opts->{body} // '' ) ) ? $opts->{body} : () ),
);
if( $opts->{query} )
{
my $u = URI->new( $req->uri );
$u->query( $opts->{query} );
$req->uri( $u );
}
t/lib/Test/Apache2/API.pm view on Meta::CPAN
<Directory "@documentroot@">
SetHandler modperl
PerlResponseHandler Test::Apache2::API
AcceptPathInfo On
</Directory>
In the test unit:
use Apache::Test;
use Apache::TestRequest;
use HTTP::Request;
my $hostport = Apache::TestRequest::hostport( $config ) || '';
my( $host, $port ) = split( ':', ( $hostport ) );
my $mp_host = 'www.example.org';
Apache::TestRequest::user_agent(reset => 1, keep_alive => 1 );
my $ua = Apache::TestRequest->new;
# To get the fingerprint for the certificate in ./t/server.crt, do:
# echo "sha1\$$(openssl x509 -noout -in ./t/server.crt -fingerprint -sha1|perl -pE 's/^.*Fingerprint=|(\w{2})(?:\:?|$)/$1/g')"
$ua->ssl_opts(
# SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
# SSL_verify_mode => 0x00
# verify_hostname => 0,
SSL_fingerprint => 'sha1$DEE8650E44870896E821AAE4A5A24382174D100E',
# SSL_version => 'SSLv3',
# SSL_verfifycn_name => 'localhost',
);
my $req = HTTP::Request->new( 'GET' => "${proto}://${hostport}/tests/api/some_method" );
my $resp = $ua->request( $req );
is( $resp->code, Apache2::Const::HTTP_OK, 'some test name' );
=head1 VERSION
v0.1.0
=head1 DESCRIPTION
This is a package for testing the L<Apache2::API> module under Apache2/modperl2
t/lib/Test/Apache2/API/Request.pm view on Meta::CPAN
# To get the fingerprint for the certificate in ./t/server.crt, do:
# echo "sha1\$$(openssl x509 -noout -in ./t/server.crt -fingerprint -sha1|perl -pE 's/^.*Fingerprint=|(\w{2})(?:\:?|$)/$1/g')"
$ua->ssl_opts(
# SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
# SSL_verify_mode => 0x00
# verify_hostname => 0,
SSL_fingerprint => 'sha1$DEE8650E44870896E821AAE4A5A24382174D100E',
# SSL_version => 'SSLv3',
# SSL_verfifycn_name => 'localhost',
);
my $req = HTTP::Request->new( 'GET' => "${proto}://${hostport}/tests/request/some_method" );
my $resp = $ua->request( $req );
is( $resp->code, Apache2::Const::HTTP_OK, 'some test name' );
=head1 VERSION
v0.1.0
=head1 DESCRIPTION
This is a package for testing the L<Apache2::API> module under Apache2/modperl2 and inherits from C<Test::Apache::Common>
t/lib/Test/Apache2/API/Response.pm view on Meta::CPAN
# To get the fingerprint for the certificate in ./t/server.crt, do:
# echo "sha1\$$(openssl x509 -noout -in ./t/server.crt -fingerprint -sha1|perl -pE 's/^.*Fingerprint=|(\w{2})(?:\:?|$)/$1/g')"
$ua->ssl_opts(
# SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
# SSL_verify_mode => 0x00
# verify_hostname => 0,
SSL_fingerprint => 'sha1$DEE8650E44870896E821AAE4A5A24382174D100E',
# SSL_version => 'SSLv3',
# SSL_verfifycn_name => 'localhost',
);
my $req = HTTP::Request->new( 'GET' => "${proto}://${hostport}/tests/response/some_method" );
my $resp = $ua->request( $req );
is( $resp->code, Apache2::Const::HTTP_OK, 'some test name' );
=head1 VERSION
v0.1.0
=head1 DESCRIPTION
This is a package for testing the L<Apache2::API> module under Apache2/modperl2 and inherits from C<Test::Apache::Common>
( run in 0.316 second using v1.01-cache-2.11-cpan-de7293f3b23 )