From b7b9dad9e33b14e2364f6f69edc9bce5bdbd0cb2 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Tue, 3 Jun 2008 07:27:54 +0000 Subject: [PATCH] test 403 and 404 responses --- t/50-cgi.t | 52 ++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/t/50-cgi.t b/t/50-cgi.t index 0de6940..b3d5105 100644 --- a/t/50-cgi.t +++ b/t/50-cgi.t @@ -7,7 +7,7 @@ use Test::More; eval { require PerlIO::scalar }; plan skip_all => "PerlIO required (perl 5.8) to test PLP" if $@; -plan tests => 18; +plan tests => 20; require_ok('PLP::Backend::CGI') or BAIL_OUT(); @@ -25,12 +25,14 @@ sub plp_is { chomp $expect; local $Test::Builder::Level = $Test::Builder::Level + 1; - eval { - open my $testfh, '>', "$base/$testfile" or die $!; - print {$testfh} $plp or die $!; - close $testfh or die $!; - }; - not $@ or fail("write $testfile"), diag(" Error: $@"), return; + if (defined $plp) { + eval { + open my $testfh, '>', "$base/$testfile" or die $!; + print {$testfh} $plp or die $!; + close $testfh or die $!; + }; + not $@ or fail("write $testfile"), diag(" Error: $@"), return; + } close STDOUT; open STDOUT, '>', \my $output; # STDOUT buffered to scalar @@ -150,9 +152,6 @@ plp_is('$PLP::ERROR', qq{$HEAD\n Oh no: $INCWARN at $testfile line 1.\n\n} ); -#TODO: 404 -#TODO: 403 - plp_is('$PLP::DEBUG', '<: $PLP::DEBUG = 2; delete $header{x_plp_version} :>1<(missinginclude)>2', "Content-Type: text/plain\n\nContent-Type: text/html\n\n1" @@ -174,6 +173,39 @@ my @envtest = ( plp_is('%ENV (on apache)', @envtest); +SKIP: { +chmod 0244, $testfile or skip("changed permissions", 1); +plp_is('permission denied', undef, < + +403 Forbidden + +

Forbidden

+You don't have permission to access /$testfile/test/123 on this server.

+


+ +TEST +chmod 0644, $testfile; +} + +$ENV{PATH_TRANSLATED} = "$base/missinginclude/test/123"; +plp_is('not found', undef, < + +404 Not Found + +

Not Found

+The requested URL /$testfile/test/123 was not found on this server.

+


+ +TEST + %ENV = ( REQUEST_METHOD => 'GET', REQUEST_URI => "/$testfile/test/123", -- 2.30.0