|
Packit |
3f4df8 |
#!perl
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
use strict;
|
|
Packit |
3f4df8 |
use warnings;
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
use IO::Socket::INET;
|
|
Packit |
3f4df8 |
use Test::More 0.88;
|
|
Packit |
3f4df8 |
use HTTP::Tiny;
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
my $test_host = "google.com";
|
|
Packit |
3f4df8 |
my $test_url = "http://www.google.com/";
|
|
Packit |
3f4df8 |
my $test_re = qr/google/;
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
plan 'skip_all' => "Only run for \$ENV{AUTOMATED_TESTING}"
|
|
Packit |
3f4df8 |
unless $ENV{AUTOMATED_TESTING};
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
plan 'skip_all' => "Internet connection timed out"
|
|
Packit |
3f4df8 |
unless IO::Socket::INET->new(
|
|
Packit |
3f4df8 |
PeerHost => $test_host,
|
|
Packit |
3f4df8 |
PeerPort => 80,
|
|
Packit |
3f4df8 |
Proto => 'tcp',
|
|
Packit |
3f4df8 |
Timeout => 10,
|
|
Packit |
3f4df8 |
);
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
my $ua = HTTP::Tiny->new;
|
|
Packit |
3f4df8 |
my $response = $ua->get($test_url);
|
|
Packit |
3f4df8 |
if ( $ua->{handle} ) {
|
|
Packit |
3f4df8 |
my $socket_class = ref $ua->{handle}{fh};
|
|
Packit |
3f4df8 |
diag "HTTP::Tiny using $socket_class version " . $socket_class->VERSION;
|
|
Packit |
3f4df8 |
}
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
ok( $response->{status} ne '599', "Request to $test_url completed" )
|
|
Packit |
3f4df8 |
or dump_hash($response);
|
|
Packit |
3f4df8 |
ok( $response->{content}, "Got content" );
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
sub dump_hash {
|
|
Packit |
3f4df8 |
my $hash = shift;
|
|
Packit |
3f4df8 |
$hash->{content} = substr($hash->{content},0,160) . "...";
|
|
Packit |
3f4df8 |
require Data::Dumper;
|
|
Packit |
3f4df8 |
my $dumped = Data::Dumper::Dumper($hash);
|
|
Packit |
3f4df8 |
$dumped =~ s{^}{# };
|
|
Packit |
3f4df8 |
print $dumped;
|
|
Packit |
3f4df8 |
}
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
done_testing;
|