[Zope-Checkins] CVS: Zope3/lib/python/Zope/Server/HTTP/tests - testHTTPServer.py:1.1.2.4 testPublisherServer.py:1.1.2.3
Shane Hathaway
shane@cvs.zope.org
Thu, 11 Apr 2002 12:29:15 -0400
Update of /cvs-repository/Zope3/lib/python/Zope/Server/HTTP/tests
In directory cvs.zope.org:/tmp/cvs-serv12014/tests
Modified Files:
Tag: Zope3-Server-Branch
testHTTPServer.py testPublisherServer.py
Log Message:
- HTTPTask now knows how to build a CGI environment.
- Moved execute() to the server rather than the task and renamed it
executeRequest(). This simplified PublisherHTTPServer and eliminated
the need for two classes.
- Reenabled verification of the status code in the tests, which uncovered
an important oversight in the publisher refactoring.
=== Zope3/lib/python/Zope/Server/HTTP/tests/testHTTPServer.py 1.1.2.3 => 1.1.2.4 ===
from Zope.Server.TaskThreads import ThreadedTaskDispatcher
from Zope.Server.HTTP.HTTPServer import HTTPServer
-from Zope.Server.HTTP.HTTPServerChannel import HTTPServerChannel
-from Zope.Server.HTTP.HTTPTask import HTTPTask
from Zope.Server.Adjustments import Adjustments
from Zope.Server.ITask import ITask
@@ -46,29 +44,19 @@
my_adj.inbuf_overflow = 10000
-class EchoHTTPTask(HTTPTask):
+class EchoHTTPServer(HTTPServer):
- def execute(self):
- headers = self.request_data.headers
+ def executeRequest(self, task):
+ headers = task.request_data.headers
if headers.has_key('CONTENT_LENGTH'):
cl = headers['CONTENT_LENGTH']
- self.response_headers['Content-Length'] = cl
- instream = self.request_data.getBodyStream()
+ task.response_headers['Content-Length'] = cl
+ instream = task.request_data.getBodyStream()
while 1:
data = instream.read(8192)
if not data:
break
- self.write(data)
-
-
-class EchoHTTPChannel(HTTPServerChannel):
-
- task_class = EchoHTTPTask
-
-
-class EchoHTTPServer(HTTPServer):
-
- channel_class = EchoHTTPChannel
+ task.write(data)
class SleepingTask:
=== Zope3/lib/python/Zope/Server/HTTP/tests/testPublisherServer.py 1.1.2.2 => 1.1.2.3 ===
else:
response_body = ''
- # XXX How to test this now that we don't set the response code?
- ##self.failUnlessEqual(int(response.status), status_expected)
+
+ # Please do not disable the status code check. It must work.
+ self.failUnlessEqual(int(response.status), status_expected)
+
self.failUnlessEqual(length, len(response_body))
if (status_expected == 200):