root/cherokee/trunk/qa/112-NiceError-CGI.py

Revision 2476, 1.8 kB (checked in by alo, 1 year ago)

--

Line 
1 from base import *
2
3 ERROR     = 403
4 ERROR_MSG = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5
6 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
7 <head>
8  <title>Permission Denied - Cherokee Web Server</title>
9 </head>
10
11  <body>
12
13  <!-- Poem by Thomas Thurman <thomas@thurman.org.uk> -->
14
15  <h1>403 Access Denied</h1>
16
17 <p>So many years have passed since first you sought
18 the lands beyond the edges of the sky,
19 so many moons reflected in your eye,
20 (familiar newness, fear of leaving port),
21 since first you sought, and failed, and learned to fall,
22 (first hope, then cynicism, silent dread,
23 the countless stars, still counting overhead
24 the seconds to your final voyage of all...)
25    and last, in glory gold and red around
26    your greatest search, your final quest to know!
27    yet... ashes drift, the embers cease to glow,
28    and darkened life in frozen death is drowned;
29 and ashes on the swell are seen no more.
30 The silence surges.
31
32 <p><b>Error 403</b>.
33  </body>
34 </html>"""
35
36 CONF = """
37 vserver!1!rule!1120!match = directory
38 vserver!1!rule!1120!match!directory = /cgi_error_403_1
39 vserver!1!rule!1120!handler = cgi
40 vserver!1!rule!1120!handler!error_handler = 1
41 """
42
43 CGI_BASE = """#!/bin/sh
44 echo "Content-type: text/html"
45 echo "Status: %s"
46 echo ""
47 cat << EOF
48 %s
49 EOF
50 """
51
52 class Test (TestBase):
53     def __init__ (self):
54         TestBase.__init__ (self, __file__)
55         self.name = "CGI error message"
56
57         self.request           = "GET /cgi_error_403_1/exec.cgi HTTP/1.0\r\n"
58         self.expected_error    = ERROR
59         self.expected_content  = ERROR_MSG
60         self.conf              = CONF
61
62     def Prepare (self, www):
63         d = self.Mkdir (www, "cgi_error_403_1")
64         f = self.WriteFile (d, "exec.cgi", 0555, CGI_BASE % (ERROR, ERROR_MSG))
Note: See TracBrowser for help on using the browser.