App-SpamcupNG
view release on metacpan or search on metacpan
t/user-agent.t view on Meta::CPAN
use warnings;
use strict;
use Test::More;
use Test::Exception;
use HTTP::Request;
use App::SpamcupNG::UserAgent;
my $instance
= new_ok( 'App::SpamcupNG::UserAgent' => ['0.1.0'], 'new instance' );
my @expected_attribs = (
'name', 'version', 'members_url', 'code_login_url',
'report_url', 'current_base_url', 'domain', 'password_field',
'domain', 'form_login_url'
);
foreach my $expected (@expected_attribs) {
ok(
exists( $instance->{$expected} ),
"the instance has an attribute $expected"
);
}
is( $instance->base(), undef, 'base URL is undefined' );
isa_ok( $instance->{user_agent}, 'LWP::UserAgent', 'user_agent attribute' );
my @expected_methods = (
'login', 'spam_report',
'base', 'complete_report',
'user_agent', '_request_line',
'_redact_auth_req', '_dump_cookies',
'_is_authenticated'
);
can_ok( $instance, @expected_methods );
is(
$instance->user_agent,
'SpamcupNG user agent/0.1.0',
'user_agent returns the proper string'
);
dies_ok { App::SpamcupNG::UserAgent->new } 'dies with missing parameter';
like( $@, qr/version\sis\srequired/, 'got the expected error message' );
my $req = HTTP::Request->new( GET => 'http://members.spamcop.net/' );
$req->authorization_basic( 'foobar', '12345678910' );
my $expected = 'GET http://members.spamcop.net/' . "\n"
. 'Authorization: Basic ************************';
is( $instance->_redact_auth_req($req), $expected, '_redact_auth_req works' );
done_testing;
# vim: filetype=perl
( run in 0.610 second using v1.01-cache-2.11-cpan-98e64b0badf )