[Checkins] SVN: gocept.zeoraid/trunk/src/gocept/zeoraid/ added tests for supportsUndo

Thomas Lotze tl at gocept.com
Tue Jan 29 09:33:09 EST 2008


Log message for revision 83295:
  added tests for supportsUndo

Changed:
  U   gocept.zeoraid/trunk/src/gocept/zeoraid/storage.py
  U   gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_basics.py

-=-
Modified: gocept.zeoraid/trunk/src/gocept/zeoraid/storage.py
===================================================================
--- gocept.zeoraid/trunk/src/gocept/zeoraid/storage.py	2008-01-29 14:17:07 UTC (rev 83294)
+++ gocept.zeoraid/trunk/src/gocept/zeoraid/storage.py	2008-01-29 14:33:09 UTC (rev 83295)
@@ -397,8 +397,9 @@
 
     # IStorageUndoable
 
-    # XXX
     def supportsUndo(self):
+        """Return True, indicating that the storage supports undo.
+        """
         return True
 
     # XXX
@@ -494,6 +495,7 @@
     def _open_storage(self, name):
         assert name not in self.storages, "Storage %s already opened" % name
         storage = self.openers[name].open()
+        assert hasattr(storage, 'supportsUndo') and storage.supportsUndo()
         storage = gocept.zeoraid.interfaces.IRAIDCompatibleStorage(storage)
         self.storages[name] = storage
 

Modified: gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_basics.py
===================================================================
--- gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_basics.py	2008-01-29 14:17:07 UTC (rev 83294)
+++ gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_basics.py	2008-01-29 14:33:09 UTC (rev 83295)
@@ -816,7 +816,20 @@
             storage.temporaryDirectory()))
         shutil.rmtree(working_dir)
 
+    def test_supportsUndo_required(self):
+        class Opener(object):
+            name = 'foo'
+            def open(self):
+                return ZODB.MappingStorage.MappingStorage()
 
+        self.assertRaises(AssertionError,
+                          gocept.zeoraid.storage.RAIDStorage,
+                          'name', [Opener()])
+
+    def test_supportsUndo(self):
+        self.assertEquals(True, self._storage.supportsUndo())
+
+
 class ZEOReplicationStorageTests(ZEOStorageBackendTests,
                                  ReplicationStorageTests,
                                  ThreadTests.ThreadTests):



More information about the Checkins mailing list