Annotation of embedaddon/lighttpd/tests/core-404-handler.t, revision 1.1
1.1 ! misho 1: #!/usr/bin/env perl
! 2: #
! 3: # combinations we have to test:
! 4: # plain 404 case
! 5: # 404-handler -> static file (verify content)
! 6: # 404-handler -> fastcgi
! 7: # returning 200
! 8: # returning 302 + Location
! 9: # returning 404
! 10: # returning no status -> 200
! 11: #
! 12: BEGIN {
! 13: # add current source dir to the include-path
! 14: # we need this for make distcheck
! 15: (my $srcdir = $0) =~ s,/[^/]+$,/,;
! 16: unshift @INC, $srcdir;
! 17: }
! 18:
! 19: use strict;
! 20: use IO::Socket;
! 21: use Test::More tests => 8;
! 22: use LightyTest;
! 23:
! 24: my $tf = LightyTest->new();
! 25: my $t;
! 26: $tf->{CONFIGFILE} = '404-handler.conf';
! 27:
! 28: ok($tf->start_proc == 0, "Starting lighttpd") or die();
! 29:
! 30: $t->{REQUEST} = ( <<EOF
! 31: GET /static/notfound HTTP/1.0
! 32: EOF
! 33: );
! 34: $t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200, 'HTTP-Content' => "static not found\n" } ];
! 35: ok($tf->handle_http($t) == 0, '404 handler => static');
! 36:
! 37: #
! 38: #
! 39: #
! 40: $t->{REQUEST} = ( <<EOF
! 41: GET /dynamic/200/notfound HTTP/1.0
! 42: EOF
! 43: );
! 44: $t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200, 'HTTP-Content' => "found here\n" } ];
! 45: ok($tf->handle_http($t) == 0, '404 handler => dynamic(200)');
! 46:
! 47: $t->{REQUEST} = ( <<EOF
! 48: GET /dynamic/302/notfound HTTP/1.0
! 49: EOF
! 50: );
! 51: $t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 302, 'Location' => "http://www.example.org/" } ];
! 52: ok($tf->handle_http($t) == 0, '404 handler => dynamic(302)');
! 53:
! 54: $t->{REQUEST} = ( <<EOF
! 55: GET /dynamic/404/notfound HTTP/1.0
! 56: EOF
! 57: );
! 58: $t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 404, 'HTTP-Content' => "Not found here\n" } ];
! 59: ok($tf->handle_http($t) == 0, '404 handler => dynamic(404)');
! 60:
! 61: $t->{REQUEST} = ( <<EOF
! 62: GET /dynamic/nostatus/notfound HTTP/1.0
! 63: EOF
! 64: );
! 65: $t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200, 'HTTP-Content' => "found here\n" } ];
! 66: ok($tf->handle_http($t) == 0, '404 handler => dynamic(nostatus)');
! 67:
! 68: $t->{REQUEST} = ( <<EOF
! 69: GET /send404.pl HTTP/1.0
! 70: EOF
! 71: );
! 72: $t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 404, 'HTTP-Content' => "send404\n" } ];
! 73: ok($tf->handle_http($t) == 0, '404 generated by CGI should stay 404');
! 74:
! 75: ok($tf->stop_proc == 0, "Stopping lighttpd");
! 76:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>