43 lines
1.1 KiB
Perl
43 lines
1.1 KiB
Perl
use strict;
|
|
use warnings FATAL => 'all';
|
|
|
|
use Apache::Test;
|
|
use Apache::TestRequest;
|
|
use Apache::TestUtil;
|
|
use MIME::Base64;
|
|
use Data::Dumper;
|
|
use HTTP::Response;
|
|
use Socket;
|
|
|
|
use LWP::UserAgent ();
|
|
|
|
|
|
my @testcases = (
|
|
['/apache/ratelimit/' => '200', "ratelimited small file"],
|
|
['/apache/ratelimit/autoindex/' => '200', "ratelimited small autoindex output"],
|
|
['/apache/ratelimit/chunk?0,8192' => '200', "ratelimited chunked response"],
|
|
);
|
|
|
|
plan tests => scalar @testcases, need need_lwp,
|
|
need_module('mod_ratelimit'),
|
|
need_module('mod_autoindex'),
|
|
need_min_apache_version('2.4.35');
|
|
|
|
my $ua = LWP::UserAgent->new;
|
|
$ua->timeout(4);
|
|
|
|
foreach my $t (@testcases) {
|
|
my $r;
|
|
|
|
# trap a die() in WLP when the the status line is invalid to avoid
|
|
# 'dubious test...' instead of just a failure.
|
|
eval { $r = GET($t->[0]) ;
|
|
chomp $r;
|
|
t_debug "Status Line: '" . $r->status_line . "'";
|
|
ok t_cmp($r->code, $t->[1], $t->[2]);
|
|
};
|
|
# Check if the eval() die'ed
|
|
ok t_cmp($@, undef, $t->[2]) if $@
|
|
|
|
}
|
|
|