Add two more regression tests to relayd, these cover "digest" and "file"
authorandre <andre@openbsd.org>
Mon, 5 May 2014 11:02:29 +0000 (11:02 +0000)
committerandre <andre@openbsd.org>
Mon, 5 May 2014 11:02:29 +0000 (11:02 +0000)
keywords.

ok reyk

usr.sbin/relayd/args-http-filter-url-digest.pl [new file with mode: 0644]
usr.sbin/relayd/args-http-filter-url-file.in [new file with mode: 0644]
usr.sbin/relayd/args-http-filter-url-file.pl [new file with mode: 0644]

diff --git a/usr.sbin/relayd/args-http-filter-url-digest.pl b/usr.sbin/relayd/args-http-filter-url-digest.pl
new file mode 100644 (file)
index 0000000..c3739a8
--- /dev/null
@@ -0,0 +1,31 @@
+use strict;
+use warnings;
+
+our %args = (
+    client => {
+       func => \&http_client,
+       path => "a/b/c/d/e/f/gindex.html",
+       loggrep => [
+           qr/403 Forbidden/,
+           qr/Server: OpenBSD relayd/,
+           qr/Connection: close/,
+       ],
+       httpnok => 1,
+    },
+    relayd => {
+       protocol => [ "http",
+           'return error',
+           'url filter digest 0ac8ccfc03317891ae2820de10ee2167d31ebd16 log',
+       ],
+       loggrep => {
+           qr/rejecting request \(403 Forbidden\)/ => 1,
+           qr/\[0ac8ccfc03317891ae2820de10ee2167d31ebd16:/ => 1,
+       },
+    },
+    server => {
+       noserver => 1,
+       nocheck => 1,
+    },
+);
+
+1;
diff --git a/usr.sbin/relayd/args-http-filter-url-file.in b/usr.sbin/relayd/args-http-filter-url-file.in
new file mode 100644 (file)
index 0000000..20fd826
--- /dev/null
@@ -0,0 +1,2 @@
+/3
+/0
diff --git a/usr.sbin/relayd/args-http-filter-url-file.pl b/usr.sbin/relayd/args-http-filter-url-file.pl
new file mode 100644 (file)
index 0000000..a048563
--- /dev/null
@@ -0,0 +1,29 @@
+use strict;
+use warnings;
+
+my @lengths = (1, 2, 4, 0, 3);
+our %args = (
+    client => {
+       func => sub { eval { http_client(@_) }; warn $@ },
+       lengths => \@lengths,
+       loggrep => qr/Forbidden/,
+    },
+    relayd => {
+       protocol => [ "http",
+           'return error',
+           'label test_reject_label',
+           'path filter file args-http-filter-url-file.in log',
+           'no label',
+       ],
+       loggrep => {
+               qr/rejecting request/ => 1,
+               qr/\[test_reject_label\, \/0\:/ => 1
+       },
+    },
+    server => {
+       func => \&http_server,
+       lengths => (1, 2, 4),
+    },
+);
+
+1;