[Repoze-checkins] r656 - repoze.retry/trunk/repoze/retry

Tres Seaver tseaver at palladion.com
Sun Feb 3 21:24:11 UTC 2008


Author: Tres Seaver <tseaver at palladion.com>
Date: Sun Feb  3 16:24:11 2008
New Revision: 656

Log:
Make ZODB dependency vanish.

Modified:
   repoze.retry/trunk/repoze/retry/tests.py

Modified: repoze.retry/trunk/repoze/retry/tests.py
==============================================================================
--- repoze.retry/trunk/repoze/retry/tests.py	(original)
+++ repoze.retry/trunk/repoze/retry/tests.py	Sun Feb  3 16:24:11 2008
@@ -1,7 +1,15 @@
 import unittest
 import sys
 
-class TestRetry(unittest.TestCase):
+class CEBase:
+
+    def _getConflictError(self):
+        from repoze.retry import ConflictError
+        return ConflictError
+
+    ConflictError = property(_getConflictError,)
+
+class TestRetry(unittest.TestCase, CEBase):
     def _getTargetClass(self):
         from repoze.retry import Retry
         return Retry
@@ -13,36 +21,36 @@
         self._dummy_start_response_result = None
 
     def test_conflict_not_raised_start_response_not_called(self):
-        from ZODB.POSException import ConflictError
         application = DummyApplication(conflicts=1)
-        retry = self._makeOne(application, tries=4, retryable=(ConflictError,))
+        retry = self._makeOne(application, tries=4,
+                              retryable=(self.ConflictError,))
         result = retry({}, None)
         self.assertEqual(result, ['hello'])
         self.assertEqual(application.called, 1)
 
     def test_conflict_raised_start_response_not_called(self):
-        from ZODB.POSException import ConflictError
         application = DummyApplication(conflicts=5)
-        retry = self._makeOne(application, tries=4, retryable=(ConflictError,))
-        self.failUnlessRaises(ConflictError, retry, {}, None)
+        retry = self._makeOne(application, tries=4,
+                              retryable=(self.ConflictError,))
+        self.failUnlessRaises(self.ConflictError, retry, {}, None)
         self.assertEqual(application.called, 4)
 
     def _dummy_start_response(self, *arg):
         self._dummy_start_response_result = arg
 
     def test_conflict_raised_start_response_called(self):
-        from ZODB.POSException import ConflictError
         application = DummyApplication(conflicts=5, call_start_response=True)
-        retry = self._makeOne(application, tries=4, retryable=(ConflictError,))
-        self.failUnlessRaises(ConflictError, retry, {},
+        retry = self._makeOne(application, tries=4,
+                              retryable=(self.ConflictError,))
+        self.failUnlessRaises(self.ConflictError, retry, {},
                               self._dummy_start_response)
         self.assertEqual(application.called, 4)
         self.assertEqual(self._dummy_start_response_result, ('200 OK', {}))
 
     def test_conflict_not_raised_start_response_called(self):
-        from ZODB.POSException import ConflictError
         application = DummyApplication(conflicts=1, call_start_response=True)
-        retry = self._makeOne(application, tries=4, retryable=(ConflictError,))
+        retry = self._makeOne(application, tries=4,
+                              retryable=(self.ConflictError,))
         result = retry({}, self._dummy_start_response)
         self.assertEqual(application.called, 1)
         self.assertEqual(self._dummy_start_response_result, ('200 OK', {}))
@@ -56,42 +64,39 @@
         self.assertEqual(application.called, 1)
 
     def test_alternate_retryble_exceptions(self):
-        from ZODB.POSException import ConflictError
         app1 = DummyApplication(conflicts=1)
         app2 = DummyApplication(conflicts=1, exception=Retryable)
 
         retry1 = self._makeOne(app1, tries=4,
-                               retryable=(ConflictError, Retryable,))
+                               retryable=(self.ConflictError, Retryable,))
         result = retry1({}, None)
         self.assertEqual(result, ['hello'])
         self.assertEqual(app1.called, 1)
 
         retry2 = self._makeOne(app2, tries=4,
-                               retryable=(ConflictError, Retryable,))
+                               retryable=(self.ConflictError, Retryable,))
         result = retry2({}, None)
         self.assertEqual(result, ['hello'])
         self.assertEqual(app2.called, 1)
 
-class FactoryTests(unittest.TestCase):
+class FactoryTests(unittest.TestCase, CEBase):
 
     def test_make_retry_defaults(self):
-        from ZODB.POSException import ConflictError
         from repoze.retry import make_retry #FUT
         app = object()
         middleware = make_retry(app, {})
         self.failUnless(middleware.application is app)
         self.assertEqual(middleware.tries, 3)
         self.assertEqual(middleware.tries, 3)
-        self.assertEqual(middleware.retryable, (ConflictError,))
+        self.assertEqual(middleware.retryable, (self.ConflictError,))
 
     def test_make_retry_override_tries(self):
-        from ZODB.POSException import ConflictError
         from repoze.retry import make_retry #FUT
         app = object()
         middleware = make_retry(app, {}, tries=4)
         self.failUnless(middleware.application is app)
         self.assertEqual(middleware.tries, 4)
-        self.assertEqual(middleware.retryable, (ConflictError,))
+        self.assertEqual(middleware.retryable, (self.ConflictError,))
 
     def test_make_retry_override_retryable_one(self):
         from repoze.retry import make_retry #FUT
@@ -117,13 +122,14 @@
 class AnotherRetryable(Exception):
     pass
 
-class DummyApplication:
-    def __init__(self, conflicts, call_start_response=False, exception=None):
+class DummyApplication(CEBase):
+    def __init__(self, conflicts, call_start_response=False,
+                 exception=None):
         self.called = 0
         self.conflicts = conflicts
         self.call_start_response = call_start_response
         if exception is None:
-            from ZODB.POSException import ConflictError as exception
+            exception = self.ConflictError
         self.exception = exception
 
     def __call__(self, environ, start_response):


More information about the Repoze-checkins mailing list