]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/cgi.t
cgi: relax path restriction for top-level
[public-inbox.git] / t / cgi.t
diff --git a/t/cgi.t b/t/cgi.t
index 93a48d0079e431d0c1e8ff2b0cf09901f962ec78..39242bce12ea95d110c6cfcdb8132462e0603b19 100644 (file)
--- a/t/cgi.t
+++ b/t/cgi.t
@@ -8,7 +8,7 @@ use File::Temp qw/tempdir/;
 use Cwd;
 use IPC::Run qw/run/;
 
-use constant CGI => "blib/script/public-inbox-cgi";
+use constant CGI => "blib/script/public-inbox.cgi";
 my $mda = "blib/script/public-inbox-mda";
 my $tmpdir = tempdir(CLEANUP => 1);
 my $home = "$tmpdir/pi-home";
@@ -106,7 +106,7 @@ EOF
        like($res->{body}, qr/<title>test for public-inbox/,
                "set title in XML feed");
        like($res->{body},
-               qr!http://test\.example\.com/test/mid/blah%40example\.com!,
+               qr!http://test\.example\.com/test/m/blah%40example\.com!,
                "link id set");
        like($res->{body}, qr/what\?/, "reply included");
 
@@ -131,8 +131,24 @@ EOF
        my $res = cgi_run("/test/m/blahblah\@example.com.txt");
        like($res->{body}, qr/Message-Id: <blahblah\@example\.com>/,
                "mid.txt hit");
+
+       my $pfx = cgi_run("/prefixed/test/m/blahblah\@example.com.txt");
+       is_deeply($pfx, $res, "we do not have to be a top-level URL");
+
        $res = cgi_run("/test/m/blahblah\@example.con.txt");
        like($res->{head}, qr/Status: 404 Not Found/, "mid.txt miss");
+
+       $res = cgi_run("/test/m/blahblah\@example.com.html");
+       like($res->{body}, qr/\A<html>/, "mid.html hit");
+       like($res->{head}, qr/Status: 200 OK/, "200 response");
+       $res = cgi_run("/test/m/blahblah\@example.con.html");
+       like($res->{head}, qr/Status: 404 Not Found/, "mid.html miss");
+
+       $res = cgi_run("/test/f/blahblah\@example.com.html");
+       like($res->{body}, qr/\A<html>/, "mid.html hit");
+       like($res->{head}, qr/Status: 200 OK/, "200 response");
+       $res = cgi_run("/test/f/blahblah\@example.con.html");
+       like($res->{head}, qr/Status: 404 Not Found/, "mid.html miss");
 }
 
 done_testing();