[Repoze-checkins] r1128 - repoze.accelerator/trunk/repoze/accelerator/tests

Chris McDonough chrism at agendaless.com
Mon Jun 23 11:40:06 EDT 2008


Author: Chris McDonough <chrism at agendaless.com>
Date: Mon Jun 23 11:40:05 2008
New Revision: 1128

Log:
Add freshness tests.


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

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	Mon Jun 23 11:40:05 2008
@@ -374,7 +374,54 @@
         result = policy.fetch(environ)
         self.assertEqual(result, None)
 
-    # XXX: need freshness tests
+    def test_fresh_via_max_age(self):
+        headers = self._makeHeaders()
+        headers.append(('Cache-Control', 'max-age=4000'))
+        expected = (200, headers, [], [], [])
+        storage = DummyStorage(fetch_result=[expected])
+        policy = self._makeOne(storage)
+        environ = self._makeEnviron()
+        result = policy.fetch(environ)
+        self.assertEqual(result, (200, headers, []))
+
+    def test_fresh_via_expires(self):
+        headers = self._makeHeaders()
+        from email.Utils import formatdate
+        import time
+        expires = formatdate(time.time() + 5000)
+        headers.append(('Expires', expires))
+        expected = (200, headers, [], [], [])
+        storage = DummyStorage(fetch_result=[expected])
+        policy = self._makeOne(storage)
+        environ = self._makeEnviron()
+        result = policy.fetch(environ)
+        self.assertEqual(result, (200, headers, []))
+
+    def test_stale_via_max_age(self):
+        import time
+        from email.Utils import formatdate
+        date = formatdate(time.time() - 5000)
+        headers = [('Date', date)]
+        headers.append(('Cache-Control', 'max-age=10'))
+        expected = (200, headers, [], [], [])
+        storage = DummyStorage(fetch_result=[expected])
+        policy = self._makeOne(storage)
+        environ = self._makeEnviron()
+        result = policy.fetch(environ)
+        self.assertEqual(result, None)
+
+    def test_stale_via_expires(self):
+        headers = self._makeHeaders()
+        import time
+        from email.Utils import formatdate
+        expires = formatdate(time.time() - 5000)
+        headers.append(('Expires', expires))
+        expected = (200, headers, [], [], [])
+        storage = DummyStorage(fetch_result=[expected])
+        policy = self._makeOne(storage)
+        environ = self._makeEnviron()
+        result = policy.fetch(environ)
+        self.assertEqual(result, None)
 
 class DummyStorage:
     def __init__(self, fetch_result=None, store_result=None):


More information about the Repoze-checkins mailing list