diff options
Diffstat (limited to 'debian/perl-framework/t/protocol')
-rw-r--r-- | debian/perl-framework/t/protocol/echo.t | 40 | ||||
-rw-r--r-- | debian/perl-framework/t/protocol/nntp-like.t | 47 |
2 files changed, 87 insertions, 0 deletions
diff --git a/debian/perl-framework/t/protocol/echo.t b/debian/perl-framework/t/protocol/echo.t new file mode 100644 index 0000000..b225866 --- /dev/null +++ b/debian/perl-framework/t/protocol/echo.t @@ -0,0 +1,40 @@ +use strict; +use warnings FATAL => 'all'; + +use Apache::Test; +use Apache::TestUtil; +use Apache::TestRequest (); + +my @test_strings = ( + $0, + $^X, + $$ x 5, +); + +my $tests = 1 + @test_strings; +my $vars = Apache::Test::vars(); +my @modules = qw(mod_echo); + +if (have_ssl) { + $tests *= 2; + unshift @modules, 'mod_echo_ssl'; + Apache::TestRequest::set_ca_cert(); +} + +plan tests => $tests, ['mod_echo']; + +for my $module (@modules) { + print "testing $module\n"; + + my $sock = Apache::TestRequest::vhost_socket($module); + ok $sock; + + Apache::TestRequest::socket_trace($sock); + + for my $data (@test_strings) { + $sock->print("$data\n"); + + chomp(my $response = Apache::TestRequest::getline($sock)); + ok t_cmp($response, $data, 'echo'); + } +} 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'); + } +} |