class MVCCMappingStorageTests(
    StorageTestBase.StorageTestBase,
    BasicStorage.BasicStorage,

    HistoryStorage.HistoryStorage,
    IteratorStorage.ExtendedIteratorStorage,
    IteratorStorage.IteratorStorage,
    MTStorage.MTStorage,
    PackableStorage.PackableStorageWithOptionalGC,
    RevisionStorage.RevisionStorage,
    Synchronization.SynchronizedStorage,
    MVCCTests
    ):

    def setUp(self):
        self._storage = MVCCMappingStorage()

    def tearDown(self):
        self._storage.close()

    def checkLoadBeforeUndo(self):
        pass # we don't support undo yet
    checkUndoZombie = checkLoadBeforeUndo

    def checkTransactionIdIncreases(self):
        import time
        from ZODB.utils import newTid
        from ZODB.TimeStamp import TimeStamp
        t = transaction.Transaction()
        self._storage.tpc_begin(t)
        self._storage.tpc_vote(t)
        self._storage.tpc_finish(t)

        # Add a fake transaction
        transactions = self._storage._transactions
        self.assertEqual(1, len(transactions))
        fake_timestamp = b'zzzzzzzy'  # the year 5735 ;-)
        transactions[fake_timestamp] = transactions.values()[0]

        # Verify the next transaction comes after the fake transaction
        t = transaction.Transaction()
        self._storage.tpc_begin(t)
        self.assertEqual(self._storage._tid, b'zzzzzzzz')
class MVCCMappingStorageTests(
    StorageTestBase.StorageTestBase,
    BasicStorage.BasicStorage,

    HistoryStorage.HistoryStorage,
    IteratorStorage.ExtendedIteratorStorage,
    IteratorStorage.IteratorStorage,
    MTStorage.MTStorage,
    PackableStorage.PackableStorageWithOptionalGC,
    RevisionStorage.RevisionStorage,
    Synchronization.SynchronizedStorage,
    MVCCTests
    ):

    def setUp(self):
        self._storage = MVCCMappingStorage()

    def tearDown(self):
        self._storage.close()

    def checkLoadBeforeUndo(self):
        pass # we don't support undo yet
    checkUndoZombie = checkLoadBeforeUndo

    def checkTransactionIdIncreases(self):
        import time
        from ZODB.utils import newTid
        from ZODB.TimeStamp import TimeStamp
        t = transaction.Transaction()
        self._storage.tpc_begin(t)
        self._storage.tpc_vote(t)
        self._storage.tpc_finish(t)

        # Add a fake transaction
        transactions = self._storage._transactions
        self.assertEqual(1, len(transactions))
        fake_timestamp = 'zzzzzzzy'  # the year 5735 ;-)
        transactions[fake_timestamp] = transactions.values()[0]

        # Verify the next transaction comes after the fake transaction
        t = transaction.Transaction()
        self._storage.tpc_begin(t)
        self.assertEqual(self._storage._tid, 'zzzzzzzz')
Beispiel #3
0
def create_blob_storage(name, blob_dir):
    s = MVCCMappingStorage(name)
    return ZODB.blob.BlobStorage(blob_dir, s)
Beispiel #4
0
 def setUp(self):
     self._storage = MVCCMappingStorage()
 def setUp(self):
     self._storage = MVCCMappingStorage()
Beispiel #6
0
 def new_instance(self):
     inst = MVCCMappingStorage.new_instance(self)
     inst._commit_lock = threading.Lock()
     return inst
Beispiel #7
0
 def new_instance(self):
     inst = MVCCMappingStorage.new_instance(self)
     inst._commit_lock = threading.Lock()
     return inst