[Checkins] SVN: transaction/branches/sphinx/ Coverage for AbortSavepoint.

Tres Seaver cvs-admin at zope.org
Tue Dec 18 05:25:10 UTC 2012


Log message for revision 128754:
  Coverage for AbortSavepoint.

Changed:
  _U  transaction/branches/sphinx/
  U   transaction/branches/sphinx/transaction/tests/test__transaction.py

-=-
Modified: transaction/branches/sphinx/transaction/tests/test__transaction.py
===================================================================
--- transaction/branches/sphinx/transaction/tests/test__transaction.py	2012-12-18 05:25:09 UTC (rev 128753)
+++ transaction/branches/sphinx/transaction/tests/test__transaction.py	2012-12-18 05:25:09 UTC (rev 128754)
@@ -1269,6 +1269,39 @@
         self.assertTrue(txn._sarce)
 
 
+class AbortSavepointTests(unittest.TestCase):
+
+    def _getTargetClass(self):
+        from transaction._transaction import AbortSavepoint
+        return AbortSavepoint
+
+    def _makeOne(self, datamanager, transaction):
+        return self._getTargetClass()(datamanager, transaction)
+
+    def test_ctor(self):
+        dm = object()
+        txn = object()
+        asp = self._makeOne(dm, txn)
+        self.assertTrue(asp.datamanager is dm)
+        self.assertTrue(asp.transaction is txn)
+
+    def test_rollback(self):
+        class _DM(object):
+            _aborted = None
+            def abort(self, txn):
+                self._aborted = txn
+        class _TXN(object):
+            _unjoined = None
+            def _unjoin(self, datamanager):
+                self._unjoin = datamanager
+        dm = _DM()
+        txn = _TXN()
+        asp = self._makeOne(dm, txn)
+        asp.rollback()
+        self.assertTrue(dm._aborted is txn)
+        self.assertTrue(txn._unjoin is dm)
+
+
 class MiscellaneousTests(unittest.TestCase):
 
     def test_BBB_join(self):
@@ -1380,5 +1413,6 @@
         unittest.makeSuite(Test_oid_repr),
         unittest.makeSuite(DataManagerAdapterTests),
         unittest.makeSuite(SavepointTests),
+        unittest.makeSuite(AbortSavepointTests),
         unittest.makeSuite(MiscellaneousTests),
         ))



More information about the checkins mailing list