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

Martijn Pieters mj@zope.com
Wed, 28 Nov 2001 16:34:41 -0500


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

Modified Files:
      Tag: Zope-3x-branch
	testHTTP.py 
Log Message:
- Remove thread lock from cookie parse code; re is thread safe
- Add Cookie: header tests


=== Zope3/lib/python/Zope/Publisher/HTTP/tests/testHTTP.py 1.1.2.2 => 1.1.2.3 ===
         self.app.folder.item = Item()
 
-    def _createRequest(self, environ={}, body=""):
+    def _createRequest(self, extra_env={}, body=""):
         env = self._testEnv.copy()
-        env.update(environ)
+        env.update(extra_env)
         if len(body):
             env['CONTENT_LENGTH'] = str(len(body))
 
@@ -65,8 +65,8 @@
         request = HTTPRequest(req_payload, response, instream, env)
         return request
 
-    def _publisherResults(self, environ={}, body=""):
-        request = self._createRequest(environ, body)
+    def _publisherResults(self, extra_env={}, body=""):
+        request = self._createRequest(extra_env, body)
         publish(request)
         return request.response.body
 
@@ -76,7 +76,7 @@
 
     def testRequestEnvironment(self):
         req = self._createRequest()
-        publish(req)
+        publish(req) # Force expansion of URL variables
 
         self.assertEquals(req['URL0'], 'http://foobar.com/folder/item')
         self.assertEquals(req['URL1'], 'http://foobar.com/folder')
@@ -112,6 +112,20 @@
 
         self.assertEquals(req['HTTP_WE_DID_NOT_PROVIDE_THIS'], '')
 
+    def testCookies(self):
+        cookies = {
+            'HTTP_COOKIE': 'foo=bar; spam="eggs", this="Should be accepted"'
+        }
+        req = self._createRequest(extra_env=cookies)
+
+        self.assertEquals(req.cookies['foo'], 'bar')
+        self.assertEquals(req['foo'], 'bar')
+
+        self.assertEquals(req.cookies['spam'], 'eggs')
+        self.assertEquals(req['spam'], 'eggs')
+
+        self.assertEquals(req.cookies['this'], 'Should be accepted')
+        self.assertEquals(req['this'], 'Should be accepted')
 
 def test_suite():
     loader = unittest.TestLoader()