public IDbCommand CreateDbCommand() { IDbCommand command = NHibernateSession.Connection.CreateCommand(); NHibernateTransaction.Enlist(command); return(command); }
public IUnitOfWork Create() { this.AssertNotDisposed(); var transaction = new NHibernateTransaction(this.sessionFactory, this.connection, this.interceptors, this.auditConfiguration, this.dateTime, this.userContext, this.logger); return(new NHibernateUnitOfWork(transaction, this.logger)); }
public void Dispose_DisposesUnderlyingTransaction() { var sut = new NHibernateTransaction(transactionMock.Object); sut.Dispose(); Assert.IsFalse(sut.IsActive); transactionMock.Verify(x => x.Dispose()); }
public void Rollback_GivenAnInactiveTransaction_ThrowsInvalidOperationException() { transactionMock.SetupGet(x => x.IsActive).Returns(false); using (var sut = new NHibernateTransaction(transactionMock.Object)) { Assert.Throws<InvalidOperationException>(() => sut.Rollback()); } }
public void Rollback_Calls_Rollback_On_Underlying_ITransaction() { var mockTransaction = MockRepository.GenerateMock<ITransaction>(); mockTransaction.Expect(x => x.Rollback()).IgnoreArguments(); var transaction = new NHibernateTransaction(mockTransaction, x => { }, y => { }); transaction.Rollback(); mockTransaction.VerifyAllExpectations(); }
public void Rollback_CallsUnderlyingTransactionRollbackMethod() { using (var sut = new NHibernateTransaction(transactionMock.Object)) { sut.Rollback(); Assert.IsFalse(sut.IsActive); } transactionMock.Verify(x => x.Rollback()); }
public void Commit_CallsUnderlyingTransactionCommitMethod() { using (var sut = new NHibernateTransaction(transactionMock.Object)) { sut.Commit(); Assert.IsFalse(sut.IsActive); } transactionMock.Verify(x => x.Commit()); }
public void Rollback_Calls_Rollback_On_Underlying_ITransaction() { var mockTransaction = MockRepository.GenerateMock <ITransaction>(); mockTransaction.Expect(x => x.Rollback()).IgnoreArguments(); var transaction = new NHibernateTransaction(mockTransaction, x => { }, y => { }); transaction.Rollback(); mockTransaction.VerifyAllExpectations(); }
public void Commit_Raises_TransactionComitted_Event() { var mockTransaction = MockRepository.GenerateMock<ITransaction>(); mockTransaction.Expect(x => x.Commit()); bool commitCalled = false; bool rollbackCalled = false; var transaction = new NHibernateTransaction(mockTransaction, committed => { commitCalled = true; }, rolledBack => { rollbackCalled = true; }); transaction.Commit(); mockTransaction.VerifyAllExpectations(); commitCalled.ShouldBeTrue(); rollbackCalled.ShouldBeFalse(); }
public void Commit_Raises_TransactionComitted_Event() { var mockTransaction = MockRepository.GenerateMock <ITransaction>(); mockTransaction.Expect(x => x.Commit()); bool commitCalled = false; bool rollbackCalled = false; var transaction = new NHibernateTransaction(mockTransaction, committed => { commitCalled = true; }, rolledBack => { rollbackCalled = true; }); transaction.Commit(); mockTransaction.VerifyAllExpectations(); commitCalled.ShouldBeTrue(); rollbackCalled.ShouldBeFalse(); }
/// <summary> /// Begins a new storage-transaction /// </summary> public IGenericTransaction BeginTransaction() { if (TheresAnActiveTransaction()) { throw new InvalidOperationException(ErrorMessages.TransactionAlreadyStarted); }; var transaction = new NHibernateTransaction(Session.BeginTransaction()); transaction.TransactionRolledBack += transaction_TransactionRolledBack; transaction.TransactionCommitted += transaction_TransactionCommitted; currentTransaction = transaction; MakeActive(); return currentTransaction; }
public void WhenCreated_WithActiveTransaction_IsActive() { using (var sut = new NHibernateTransaction(transactionMock.Object)) { Assert.IsTrue(sut.IsActive); } }
public void WhenCreated_WithInactiveTransaction_IsNotActive() { transactionMock.SetupGet(x => x.IsActive).Returns(false); using (var sut = new NHibernateTransaction(transactionMock.Object)) { Assert.IsFalse(sut.IsActive); } }