Log message for revision 66621: Reverting refactoring of ZopeTestCase.utils.makerequest, and the related addition of an environ argument to Testing.makerequest. This was not a bugfix, thus inappropriate for the stable branch. Apologies.
Changed: U Zope/branches/2.9/lib/python/Testing/ZopeTestCase/utils.py U Zope/branches/2.9/lib/python/Testing/makerequest.py U Zope/branches/2.9/lib/python/Testing/tests/test_makerequest.py -=- Modified: Zope/branches/2.9/lib/python/Testing/ZopeTestCase/utils.py =================================================================== --- Zope/branches/2.9/lib/python/Testing/ZopeTestCase/utils.py 2006-04-06 21:23:23 UTC (rev 66620) +++ Zope/branches/2.9/lib/python/Testing/ZopeTestCase/utils.py 2006-04-06 21:30:58 UTC (rev 66621) @@ -127,14 +127,26 @@ def makerequest(app, stdout=sys.stdout): '''Wraps the app into a fresh REQUEST.''' - from Testing.makerequest import makerequest as _makerequest + from ZPublisher.BaseRequest import RequestContainer + from ZPublisher.Request import Request + from ZPublisher.Response import Response + response = Response(stdout=stdout) environ = {} environ['SERVER_NAME'] = _Z2HOST or 'nohost' environ['SERVER_PORT'] = '%d' % (_Z2PORT or 80) environ['REQUEST_METHOD'] = 'GET' - app = _makerequest(app, stdout=stdout, environ=environ) - return app + request = Request(sys.stdin, environ, response) + request._steps = ['noobject'] # Fake a published object + request['ACTUAL_URL'] = request.get('URL') # Zope 2.7.4 + # set Zope3-style default skin so that the request is usable for + # Zope3-style view look-ups + from zope.app.publication.browser import setDefaultSkin + setDefaultSkin(request) + + return app.__of__(RequestContainer(REQUEST=request)) + + def appcall(function, *args, **kw): '''Calls a function passing 'app' as first argument.''' from base import app, close Modified: Zope/branches/2.9/lib/python/Testing/makerequest.py =================================================================== --- Zope/branches/2.9/lib/python/Testing/makerequest.py 2006-04-06 21:23:23 UTC (rev 66620) +++ Zope/branches/2.9/lib/python/Testing/makerequest.py 2006-04-06 21:30:58 UTC (rev 66621) @@ -38,13 +38,12 @@ from ZPublisher.HTTPResponse import HTTPResponse from ZPublisher.BaseRequest import RequestContainer -def makerequest(app, stdout=stdout, environ=None): +def makerequest(app, stdout=stdout): resp = HTTPResponse(stdout=stdout) - if environ is None: - environ = os.environ - environ.setdefault('SERVER_NAME', 'foo') - environ.setdefault('SERVER_PORT', '80') - environ.setdefault('REQUEST_METHOD', 'GET') + environ = os.environ + environ['SERVER_NAME'] = 'foo' + environ['SERVER_PORT'] = '80' + environ['REQUEST_METHOD'] = 'GET' req = HTTPRequest(stdin, environ, resp) req._steps = ['noobject'] # Fake a published object. req['ACTUAL_URL'] = req.get('URL') # Zope 2.7.4 Modified: Zope/branches/2.9/lib/python/Testing/tests/test_makerequest.py =================================================================== --- Zope/branches/2.9/lib/python/Testing/tests/test_makerequest.py 2006-04-06 21:23:23 UTC (rev 66620) +++ Zope/branches/2.9/lib/python/Testing/tests/test_makerequest.py 2006-04-06 21:30:58 UTC (rev 66621) @@ -50,11 +50,6 @@ self.failUnless(written.startswith('Status: 200 OK\n')) self.failUnless(written.endswith('\naaa')) - def test_environ(self): - # You can pass an environ argument to use in the request. - environ = {'foofoo': 'barbar'} - item = makerequest(SimpleItem(), environ=environ) - self.assertEqual(item.REQUEST.environ['foofoo'], 'barbar') def test_suite(): suite = unittest.TestSuite() _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins