summaryrefslogtreecommitdiffstats
path: root/debian/perl-framework/t/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'debian/perl-framework/t/protocol')
-rw-r--r--debian/perl-framework/t/protocol/echo.t40
-rw-r--r--debian/perl-framework/t/protocol/nntp-like.t47
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');
+ }
+}