diff options
Diffstat (limited to 'debian/perl-framework/t/protocol/nntp-like.t')
-rw-r--r-- | debian/perl-framework/t/protocol/nntp-like.t | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/debian/perl-framework/t/protocol/nntp-like.t b/debian/perl-framework/t/protocol/nntp-like.t new file mode 100644 index 0000000..9e5bb1f --- /dev/null +++ b/debian/perl-framework/t/protocol/nntp-like.t @@ -0,0 +1,47 @@ +#testing that the server can respond right after client connects, +#before client sends any request data + +use strict; +use warnings FATAL => 'all'; + +use Apache::Test; +use Apache::TestUtil; +use Apache::TestRequest; + +my $tests = 5; +my $vars = Apache::Test::vars(); +my @modules = qw(mod_nntp_like); + +if (have_ssl && ! have_module('http2')) { + $tests *= 2; + unshift @modules, 'mod_nntp_like_ssl'; + Apache::TestRequest::set_ca_cert(); +} + +plan tests => $tests, need('mod_nntp_like', + { "deferred accept() prohibits testing with >=2.1.0 and OS $^O" => + sub { !have_min_apache_version('2.1.0') + || ($^O ne "linux" && $^O ne "darwin")} } ); + +for my $module (@modules) { + print "testing $module\n"; + + my $sock = Apache::TestRequest::vhost_socket($module); + ok $sock; + + Apache::TestRequest::socket_trace($sock); + + my $response = Apache::TestRequest::getline($sock); + + $response =~ s/[\r\n]+$//; + ok t_cmp($response, '200 localhost - ready', + 'welcome response'); + + for my $data ('LIST', 'GROUP dev.httpd.apache.org', 'ARTICLE 401') { + $sock->print("$data\n"); + + $response = Apache::TestRequest::getline($sock); + chomp($response) if (defined($response)); + ok t_cmp($response, $data, 'echo'); + } +} |