-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathlive.t
64 lines (57 loc) · 1.43 KB
/
live.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
BEGIN {
if ( $ENV{NO_NETWORK_TESTING} ) {
print "1..0 # SKIP Live tests disabled due to NO_NETWORK_TESTING\n";
exit;
}
eval {
require IO::Socket::INET;
my $s = IO::Socket::INET->new(
PeerHost => "www.neverssl.com:80",
Timeout => 5,
);
die "Can't connect: $@" unless $s;
};
if ($@) {
print "1..0 # SKIP Can't connect to www.neverssl.com\n";
print $@;
exit;
}
}
use strict;
use warnings;
use Test::More;
plan tests => 6;
use Net::HTTP;
my $s = Net::HTTP->new(
Host => "www.neverssl.com",
KeepAlive => 1,
Timeout => 15,
PeerHTTPVersion => "1.1",
MaxLineLength => 512
) || die "$@";
for ( 1 .. 2 ) {
$s->write_request(
GET => "/",
'User-Agent' => 'Mozilla/5.0',
'Accept-Language' => 'no,en',
Accept => '*/*'
);
my ( $code, $mess, %h ) = $s->read_response_headers;
print "# ----------------------------\n";
print "# $code $mess\n";
for ( sort keys %h ) {
print "# $_: $h{$_}\n";
}
print "#\n";
my $buf;
while (1) {
my $tmp;
my $n = $s->read_entity_body( $tmp, 20 );
last unless $n;
$buf .= $tmp;
}
$buf =~ s/\r//g;
ok( $code == 302 || $code == 200, 'success' );
like( $h{'Content-Type'}, qr{text/html} );
like( $buf, qr{</html>}i );
}