[Checkins] SVN: transaction/branches/sphinx/ Coverage for	TransactionManager._retryable.
    Tres Seaver 
    cvs-admin at zope.org
       
    Mon Dec 17 22:09:14 UTC 2012
    
    
  
Log message for revision 128726:
  Coverage for TransactionManager._retryable.
Changed:
  _U  transaction/branches/sphinx/
  U   transaction/branches/sphinx/transaction/tests/test__manager.py
-=-
Modified: transaction/branches/sphinx/transaction/tests/test__manager.py
===================================================================
--- transaction/branches/sphinx/transaction/tests/test__manager.py	2012-12-17 22:09:14 UTC (rev 128725)
+++ transaction/branches/sphinx/transaction/tests/test__manager.py	2012-12-17 22:09:14 UTC (rev 128726)
@@ -231,6 +231,30 @@
             self.assertTrue(attempt.manager is tm)
         self.assertTrue(found[-1] is tm)
 
+    def test__retryable_w_transient_error(self):
+        from transaction.interfaces import TransientError
+        tm = self._makeOne()
+        self.assertTrue(tm._retryable(TransientError, object()))
+
+    def test__retryable_w_transient_subclass(self):
+        from transaction.interfaces import TransientError
+        class _Derived(TransientError):
+            pass
+        tm = self._makeOne()
+        self.assertTrue(tm._retryable(_Derived, object()))
+
+    def test__retryable_w_normal_exception_no_resources(self):
+        tm = self._makeOne()
+        self.assertFalse(tm._retryable(Exception, object()))
+
+    def test__retryable_w_normal_exception_w_resource_voting_yes(self):
+        class _Resource(object):
+            def should_retry(self, err):
+                return True
+        tm = self._makeOne()
+        tm.get()._resources.append(_Resource())
+        self.assertTrue(tm._retryable(Exception, object()))
+
     # basic tests with two sub trans jars
     # really we only need one, so tests for
     # sub1 should identical to tests for sub2
    
    
More information about the checkins
mailing list