def testRollback(self):
     shutil.copy( self.xmlSourcePath , self.sessionPath )
     transaction = Transaction( self.sessionPath , Transaction.WRITE )
     transaction.removeData( self.dataID[0] )
     self. assertFalse( transaction.hasData(self.dataID[0] ) )
     transaction.rollback()
     transaction = Transaction( self.sessionPath , Transaction.READ )
     self.assertTrue( transaction.hasData( self.dataID[0] ) )
     transaction.commit()
 def testTransaction(self):
     Transaction.create( self.sessionPath , False , False )
     # Check locks types
     transaction = Transaction( self.sessionPath, Transaction.WRITE )
     transaction.rollback()
     transaction = Transaction( self.sessionPath, Transaction.READ )
     transaction.rollback()
     self.assertRaises(MobyleError, Transaction, self.sessionPath, None )
     # Invalid file
     self.assertRaises(SessionError, Transaction, str(None), Transaction.READ)