[Repoze-checkins] r1132 - in repoze.accelerator/trunk/repoze/accelerator: . tests

Chris McDonough chrism at agendaless.com
Wed Jun 25 00:06:07 EDT 2008


Author: Chris McDonough <chrism at agendaless.com>
Date: Wed Jun 25 00:06:06 2008
New Revision: 1132

Log:
Better store date test coverage.


Modified:
   repoze.accelerator/trunk/repoze/accelerator/policy.py
   repoze.accelerator/trunk/repoze/accelerator/tests/test_policy.py

Modified: repoze.accelerator/trunk/repoze/accelerator/policy.py
==============================================================================
--- repoze.accelerator/trunk/repoze/accelerator/policy.py	(original)
+++ repoze.accelerator/trunk/repoze/accelerator/policy.py	Wed Jun 25 00:06:06 2008
@@ -98,7 +98,7 @@
     - If the request is an https request, and "store_https_responses" is false,
       don't store.
 
-    - If the response does not have a Date header, don't store.
+    - If the response does not have a Date header, assume the date is now.
 
     When storing data to storage:
 

Modified: repoze.accelerator/trunk/repoze/accelerator/tests/test_policy.py
==============================================================================
--- repoze.accelerator/trunk/repoze/accelerator/tests/test_policy.py	(original)
+++ repoze.accelerator/trunk/repoze/accelerator/tests/test_policy.py	Wed Jun 25 00:06:06 2008
@@ -111,13 +111,31 @@
         result = policy.store('200 OK', headers, environ)
         self.assertEqual(result, None)
 
-    def test_store_not_cacheable_no_date_header(self):
-        storage = DummyStorage()
+    def test_store_no_date_header_stores_today(self):
+        storage = DummyStorage(store_result=True)
         policy = self._makeOne(storage)
         environ = self._makeEnviron()
         headers = [('Cache-Control', 'max-age=400')]
         result = policy.store('200 OK', headers, environ)
-        self.assertEqual(result, None)
+        self.assertEqual(result, True)
+        self.assertEqual(storage.url, 'http://example.com')
+        self.assertEqual(storage.status, '200 OK')
+        self.assertEqual(storage.headers, headers)
+        self.failIf(storage.expires is None)
+
+    def test_store_with_date_header_stores_then(self):
+        storage = DummyStorage(store_result=True)
+        policy = self._makeOne(storage)
+        environ = self._makeEnviron()
+        from email.Utils import formatdate
+        then = formatdate(0)
+        headers = [('Cache-Control', 'max-age=400'), ('Date', then)]
+        result = policy.store('200 OK', headers, environ)
+        self.assertEqual(result, True)
+        self.assertEqual(storage.url, 'http://example.com')
+        self.assertEqual(storage.status, '200 OK')
+        self.assertEqual(storage.headers, headers)
+        self.assertEqual(storage.expires, 400)
 
     def test_store_allowed_request_method_cacheable(self):
         storage = DummyStorage(store_result=True)


More information about the Repoze-checkins mailing list