[Zope-Checkins] CVS: Zope3/lib/python/Zope/Publisher/HTTP/tests - TestRequest.py:1.1.2.1

Jim Fulton jim@zope.com
Tue, 9 Apr 2002 11:59:49 -0400


Update of /cvs-repository/Zope3/lib/python/Zope/Publisher/HTTP/tests
In directory cvs.zope.org:/tmp/cvs-serv2177

Added Files:
      Tag: Zope-3x-branch
	TestRequest.py 
Log Message:
Added test HTTP request to test AbsoluteURL.


=== Added File Zope3/lib/python/Zope/Publisher/HTTP/tests/TestRequest.py ===
##############################################################################
#
# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
# All Rights Reserved.
# 
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
# 
##############################################################################
"""
Test request for writing tests that need HTTP requests.

Note that this is used by tests in other packages.

$Id: TestRequest.py,v 1.1.2.1 2002/04/09 15:59:49 jim Exp $
"""

from StringIO import StringIO

from Zope.Publisher.HTTP.HTTPRequest import HTTPRequest

_testEnv =  {
    'SERVER_URL':         'http://foobar.com',
    'HTTP_HOST':          'foobar.com',
    'CONTENT_LENGTH':     '0',
    'GATEWAY_INTERFACE':  'Test/1.0',
}

class TestRequest(HTTPRequest):

    def __init__(self, body_instream=None, outstream=None, environ=None, **kw):
        if body_instream is None:
            body_instream = StringIO('')
        if outstream is None:
            outstream = StringIO()


        env = {}
        env.update(_testEnv)
        if environ: env.update(environ)
        env.update(kw)

        super(TestRequest, self).__init__(body_instream, outstream, env)