LWPx-ParanoidHandler
view release on metacpan or search on metacpan
t/10-simple.t view on Meta::CPAN
my $res = $ua->get("http://192.0.2.13/");
ok(! $res->is_success && $res->status_line =~ /blocked/);
$res = $ua->get("http://192.88.99.77/");
ok(! $res->is_success && $res->status_line =~ /blocked/, '192.88.99.77');
};
subtest 'hostnames doing CNAMEs (this one resolves to "brad.lj", which is verboten)' => sub {
my $ua = LWP::UserAgent->new();
$ua->env_proxy;
make_paranoid($ua, $dns);
my $res = $ua->get("http://bradlj-fortest.danga.com/");
ok(! $res->is_success);
like($res->status_line, qr/DNS lookup resulted in bad host/);
};
my $res;
my $ua = LWP::UserAgent->new();
$ua->env_proxy;
make_paranoid($ua, $dns);
subtest "can't do empty host name" => sub {
$res = $ua->get('');
print $res->status_line, "\n";
ok(! $res->is_success);
};
subtest "black-listed via blocked_hosts" => sub {
$res = $ua->get("http://brad.lj/");
ok(! $res->is_success);
};
subtest "can't do octal in IPs" => sub {
$res = $ua->get("http://012.1.2.1/");
ok(! $res->is_success);
};
subtest "can't do decimal/octal IPs" => sub {
$res = $ua->get("http://167838209/");
print $res->status_line, "\n";
ok(! $res->is_success);
};
subtest " checking that port isn't affected" => sub {
$res = $ua->get("http://brad.lj:80/");
print $res->status_line, "\n";
ok(! $res->is_success);
};
subtest "this domain is okay. bradfitz.com isn't blocked" => sub {
$res = $ua->get("http://bradfitz.com/");
print $res->status_line, "\n";
ok( $res->is_success);
};
# SSL should still work, assuming it would work before.
SKIP:
{
my $has_ssleay = eval { require Crypt::SSLeay; 1; };
my $has_iossl = eval { require IO::Socket::SSL; 1; };
skip "Crypt::SSLeay or IO::Socket::SSL not installed", 1 unless $has_ssleay || $has_iossl;
$res = $ua->get("https://pause.perl.org/pause/query");
ok( $res->is_success && $res->content =~ /Login|PAUSE|Edit/);
}
subtest 'internal. bad. blocked by default by module.' => sub {
$res = $ua->get("http://10.2.3.4/");
note $res->status_line;
ok(! $res->is_success);
};
subtest 'okay' => sub {
$res = $ua->get("http://danga.com/temp/");
note $res->status_line;
ok( $res->is_success);
};
subtest 'localhost is blocked, case insensitive' => sub {
$res = $ua->get("http://LOCALhost/temp/");
note $res->status_line;
ok(! $res->is_success);
};
exit;
sub new_ua {
my $ua = LWP::UserAgent->new(timeout => 5);
$ua->env_proxy;
my $dns = Net::DNS::Paranoid->new(@_);
make_paranoid($ua, $dns);
return $ua;
}
( run in 2.290 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )