[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):