You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mod_python-commits@quetz.apache.org by nl...@apache.org on 2005/04/27 17:04:41 UTC
svn commit: r164988 - in /httpd/mod_python/trunk/test: htdocs/index.py
test.py
Author: nlehuen
Date: Wed Apr 27 08:04:40 2005
New Revision: 164988
URL: http://svn.apache.org/viewcvs?rev=164988&view=rev
Log:
Added two tests to check the publisher behaviour.
1) We are testing whether the publisher looks for index.py when receiving a directory/ request.
2) We are testing whether the publisher does fallback to the index.py module found in a directory when it receives a directory/function request instead of directory/index.py/function.
Added:
httpd/mod_python/trunk/test/htdocs/index.py (with props)
Modified:
httpd/mod_python/trunk/test/test.py
Added: httpd/mod_python/trunk/test/htdocs/index.py
URL: http://svn.apache.org/viewcvs/httpd/mod_python/trunk/test/htdocs/index.py?rev=164988&view=auto
==============================================================================
--- httpd/mod_python/trunk/test/htdocs/index.py (added)
+++ httpd/mod_python/trunk/test/htdocs/index.py Wed Apr 27 08:04:40 2005
@@ -0,0 +1,71 @@
+ # ====================================================================
+ # The Apache Software License, Version 1.1
+ #
+ # Copyright (c) 2000-2002 The Apache Software Foundation. All rights
+ # reserved.
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions
+ # are met:
+ #
+ # 1. Redistributions of source code must retain the above copyright
+ # notice, this list of conditions and the following disclaimer.
+ #
+ # 2. Redistributions in binary form must reproduce the above copyright
+ # notice, this list of conditions and the following disclaimer in
+ # the documentation and/or other materials provided with the
+ # distribution.
+ #
+ # 3. The end-user documentation included with the redistribution,
+ # if any, must include the following acknowledgment:
+ # "This product includes software developed by the
+ # Apache Software Foundation (http://www.apache.org/)."
+ # Alternately, this acknowledgment may appear in the software itself,
+ # if and wherever such third-party acknowledgments normally appear.
+ #
+ # 4. The names "Apache" and "Apache Software Foundation" must
+ # not be used to endorse or promote products derived from this
+ # software without prior written permission. For written
+ # permission, please contact apache@apache.org.
+ #
+ # 5. Products derived from this software may not be called "Apache",
+ # "mod_python", or "modpython", nor may these terms appear in their
+ # name, without prior written permission of the Apache Software
+ # Foundation.
+ #
+ # THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ # DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ # ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ # ====================================================================
+ #
+ # This software consists of voluntary contributions made by many
+ # individuals on behalf of the Apache Software Foundation. For more
+ # information on the Apache Software Foundation, please see
+ # <http://www.apache.org/>.
+ #
+ # $Id$
+ #
+
+# mod_python tests
+
+from mod_python import apache
+import unittest
+import re
+import time
+import os
+import cStringIO
+
+def index(req):
+ return "test 1 ok, interpreter=%s" % req.interpreter
+
+def foobar(req):
+ return "test 2 ok, interpreter=%s" % req.interpreter
Propchange: httpd/mod_python/trunk/test/htdocs/index.py
------------------------------------------------------------------------------
svn:keywords = Id
Modified: httpd/mod_python/trunk/test/test.py
URL: http://svn.apache.org/viewcvs/httpd/mod_python/trunk/test/test.py?rev=164988&r1=164987&r2=164988&view=diff
==============================================================================
--- httpd/mod_python/trunk/test/test.py (original)
+++ httpd/mod_python/trunk/test/test.py Wed Apr 27 08:04:40 2005
@@ -1149,8 +1149,12 @@
if (rsp != "test ok, interpreter=test_publisher"):
self.fail(`rsp`)
- rsp = self.vhost_get("test_publisher", path="/tests.py/test_dict_keys")
- if (rsp != '[1, 2, 3]'):
+ rsp = self.vhost_get("test_publisher", path="/")
+ if (rsp != "test 1 ok, interpreter=test_publisher"):
+ self.fail(`rsp`)
+
+ rsp = self.vhost_get("test_publisher", path="/foobar")
+ if (rsp != "test 2 ok, interpreter=test_publisher"):
self.fail(`rsp`)
def test_publisher_security_conf(self):
@@ -1211,6 +1215,10 @@
status, response = get_status("/tests.py/test_dict/keys")
if status != 403:
self.fail('Vulnerability : built-in type traversal (%i)\n%s' % (status, response))
+
+ status, response = get_status("/tests.py/test_dict_keys")
+ if status != 403:
+ self.fail('Vulnerability : built-in type publishing (%i)\n%s' % (status, response))
def test_publisher_old_style_instance_conf(self):
c = VirtualHost("*",