Net-Async-Webservice-Common
view release on metacpan or search on metacpan
t/tests/Net/Async/Webservice/Common/WithRequestWrapper.t view on Meta::CPAN
content => 'some content',
),
),
fail_on_error => 1,
},
'request ok')
or diag p $ua->last_call;
ok(scalar($f->failure),'failure');
cmp_deeply([$f->failure],
[all(
isa('Net::Async::Webservice::Common::Exception::HTTPError'),
methods(
request => $ua->last_call->{request},
response => all(
isa('HTTP::Response'),
methods(
code => 404,
message => 'bad',
),
),
more_info => '',
),
),'webservice'],
'correct exception')
or diag p $f->failure;
};
subtest 'raw request, other fail' => sub {
$ua->next_result([
'fail',
'random failure',
]);
my $f = $t->request(HTTP::Request->new(HEAD=>'/baz'));
cmp_deeply($ua->last_call,
{
request => all(
isa('HTTP::Request'),
methods(
uri => str('/baz'),
method => 'HEAD',
),
),
fail_on_error => 1,
},
'request ok')
or diag p $ua->last_call;
ok(scalar($f->failure),'failure');
cmp_deeply([$f->failure],
[all(
isa('Net::Async::Webservice::Common::Exception::HTTPError'),
methods(
request => $ua->last_call->{request},
response => undef,
more_info => 'random failure',
),
),'webservice'],
'correct exception')
or diag p $f->failure;
};
my $has_ssl = eval "require IO::Socket::SSL";
subtest 'SSL' => sub {
$ua->next_result([
'done',
HTTP::Response->new(200,'ok',[],'some content'),
]);
my $f = $t->get('https://foo/');
cmp_deeply($ua->last_call,
{
request => all(
isa('HTTP::Request'),
methods(
uri => str('https://foo/'),
method => 'GET',
),
),
( $has_ssl ? ( SSL_verify_mode => ignore() ) : () ),
fail_on_error => 1,
},
'request ok')
or diag p $ua->last_call;
};
subtest 'SSL, custom options' => sub {
my $t2 = TestPkg->new({user_agent=>$ua,ssl_options=>{SSL_something=>12}});
$ua->next_result([
'done',
HTTP::Response->new(200,'ok',[],'some content'),
]);
my $f = $t2->get('https://foo/');
cmp_deeply($ua->last_call,
{
request => all(
isa('HTTP::Request'),
methods(
uri => str('https://foo/'),
method => 'GET',
),
),
SSL_something => 12,
fail_on_error => 1,
},
'request ok')
or diag p $ua->last_call;
};
done_testing;
( run in 0.767 second using v1.01-cache-2.11-cpan-39bf76dae61 )