public void CreateSaveAndHoldValidSavepoint()
        {
            ISavepointManager        saveMgr = MockRepository.GenerateMock <ISavepointManager>();
            DefaultTransactionStatus status  = new DefaultTransactionStatus(saveMgr, true, false, false, true, new object());

            status.CreateAndHoldSavepoint("savepoint");
            Assert.IsTrue(status.HasSavepoint);
            Assert.AreEqual("savepoint", status.Savepoint);
        }
        public void RollbackHeldSavepointSuccess()
        {
            ISavepointManager        saveMgr   = MockRepository.GenerateMock <ISavepointManager>();
            string                   savepoint = "savepoint";
            DefaultTransactionStatus status    = new DefaultTransactionStatus(saveMgr, true, false, false, true, new object());

            status.CreateAndHoldSavepoint(savepoint);
            Assert.IsTrue(status.HasSavepoint);
            Assert.AreEqual(savepoint, status.Savepoint);

            status.RollbackToHeldSavepoint();
            saveMgr.AssertWasCalled(x => x.RollbackToSavepoint(savepoint));
        }
Esempio n. 3
0
        public void RollbackHeldSavepointSuccess()
        {
            ISavepointManager        saveMgr   = A.Fake <ISavepointManager>();
            string                   savepoint = "savepoint";
            DefaultTransactionStatus status    = new DefaultTransactionStatus(saveMgr, true, false, false, true, new object());

            status.CreateAndHoldSavepoint(savepoint);
            Assert.IsTrue(status.HasSavepoint);
            Assert.AreEqual(savepoint, status.Savepoint);

            status.RollbackToHeldSavepoint();
            A.CallTo(() => saveMgr.RollbackToSavepoint(savepoint)).MustHaveHappened();
        }
Esempio n. 4
0
        public void NestedTransactionWithSavepoint()
        {
            MockTxnDefinition def = new MockTxnDefinition();

            def.PropagationBehavior = TransactionPropagation.Nested;
            def.ReadOnly            = false;
            ISavepointManager saveMgr = MockRepository.GenerateMock <ISavepointManager>();

            _mockTxnMgr.SetTransaction(saveMgr);
            _mockTxnMgr.Savepoints = true;
            _mockTxnMgr.NestedTransactionsAllowed = true;

            DefaultTransactionStatus status = (DefaultTransactionStatus)_mockTxnMgr.GetTransaction(def);

            Assert.AreEqual(_mockTxnMgr.Transaction, status.Transaction);
            Assert.IsFalse(status.IsNewTransaction);
            Assert.IsFalse(status.NewSynchronization);
            Assert.IsTrue(!status.ReadOnly);
            Assert.IsNull(status.SuspendedResources);

            AssertVanillaGetTransactionExpectations();
            Assert.AreEqual(0, _mockTxnMgr.DoBeginCallCount);
        }