public void SqlServer_CreateCommand_TranactionStarted_CommandTransactionIsNotNull() { //------------Setup for test-------------------------- var dbSource = SqlServerTestUtils.CreateDev2TestingDbSource(); var sqlServer = new SqlServer(); try { sqlServer.Connect(dbSource.ConnectionString); sqlServer.BeginTransaction(); //------------Execute Test--------------------------- var command = sqlServer.CreateCommand(); //------------Assert Results------------------------- Assert.IsNotNull(command); Assert.IsNotNull(command.Transaction); } finally { sqlServer.RollbackTransaction(); sqlServer.Dispose(); } }
// ReSharper disable InconsistentNaming public void SqlServer_FetchStoredProcedures_RollbackTransaction() // ReSharper restore InconsistentNaming { //------------Setup for test-------------------------- var factory = new Mock <IDbFactory>(); var mockCommand = new Mock <IDbCommand>(); mockCommand.Setup(a => a.CommandText).Returns("Dave.Bob"); var conn = new Mock <IDbConnection>(); conn.Setup(a => a.State).Returns(ConnectionState.Open); var dbTran = new Mock <IDbTransaction>(); conn.Setup(a => a.BeginTransaction()).Returns(dbTran.Object); factory.Setup(a => a.CreateConnection(It.IsAny <string>())).Returns(conn.Object); var sqlServer = new SqlServer(factory.Object); try { PrivateObject pvt = new PrivateObject(sqlServer); pvt.SetField("_connection", conn.Object); sqlServer.Connect("a"); sqlServer.BeginTransaction(); sqlServer.RollbackTransaction(); factory.Verify(a => a.CreateConnection(It.IsAny <string>())); conn.Verify(a => a.Open()); dbTran.Verify(a => a.Rollback()); dbTran.Verify(a => a.Dispose()); conn.Verify(a => a.BeginTransaction()); //------------Assert Results------------------------- } finally { sqlServer.Dispose(); } }
public void SqlServer_FetchStoredProcedures_BeginTransaction() { //------------Setup for test-------------------------- var conBuilder = new Mock <IConnectionBuilder>(); var mockCommand = new Mock <IDbCommand>(); mockCommand.Setup(a => a.CommandText).Returns("Dave.Bob"); var conn = new Mock <ISqlConnection>(); conn.Setup(a => a.State).Returns(ConnectionState.Open); var dbTran = new Mock <IDbTransaction>(); conn.Setup(a => a.BeginTransaction()).Returns(dbTran.Object); conBuilder.Setup(builder => builder.BuildConnection(It.IsAny <string>())).Returns(conn.Object); var sqlServer = new SqlServer(conBuilder.Object); sqlServer.Connect("a"); sqlServer.BeginTransaction(); conn.Verify(a => a.EnsureOpen(), Times.Never);//Connection is open //------------Assert Results------------------------- conn.Verify(a => a.BeginTransaction()); }
public void SqlServer_FetchStoredProcedures_RollbackTransaction() { //------------Setup for test-------------------------- var factory = new Mock <IConnectionBuilder>(); var mockCommand = new Mock <IDbCommand>(); mockCommand.Setup(a => a.CommandText).Returns("Dave.Bob"); var conn = new Mock <ISqlConnection>(); conn.Setup(a => a.State).Returns(ConnectionState.Open); var dbTran = new Mock <IDbTransaction>(); conn.Setup(a => a.BeginTransaction()).Returns(dbTran.Object); factory.Setup(a => a.BuildConnection(It.IsAny <string>())).Returns(conn.Object); var sqlServer = new SqlServer(factory.Object); try { sqlServer.Connect("a"); sqlServer.BeginTransaction(); sqlServer.RollbackTransaction(); factory.Verify(a => a.BuildConnection(It.IsAny <string>())); conn.Verify(a => a.EnsureOpen(), Times.Never); dbTran.Verify(a => a.Rollback()); dbTran.Verify(a => a.Dispose()); conn.Verify(a => a.BeginTransaction()); //------------Assert Results------------------------- } finally { sqlServer.Dispose(); } }
// ReSharper disable InconsistentNaming public void SqlServer_FetchStoredProcedures_RollbackTransaction() // ReSharper restore InconsistentNaming { //------------Setup for test-------------------------- var factory = new Mock<IDbFactory>(); var mockCommand = new Mock<IDbCommand>(); mockCommand.Setup(a => a.CommandText).Returns("Dave.Bob"); var conn = new Mock<IDbConnection>(); conn.Setup(a => a.State).Returns(ConnectionState.Open); var dbTran = new Mock<IDbTransaction>(); conn.Setup(a => a.BeginTransaction()).Returns(dbTran.Object); factory.Setup(a => a.CreateConnection(It.IsAny<string>())).Returns(conn.Object); var sqlServer = new SqlServer(factory.Object); try { PrivateObject pvt = new PrivateObject(sqlServer); pvt.SetField("_connection", conn.Object); sqlServer.Connect("a"); sqlServer.BeginTransaction(); sqlServer.RollbackTransaction(); factory.Verify(a => a.CreateConnection(It.IsAny<string>())); conn.Verify(a => a.Open()); dbTran.Verify(a => a.Rollback()); dbTran.Verify(a => a.Dispose()); conn.Verify(a => a.BeginTransaction()); //------------Assert Results------------------------- } finally { sqlServer.Dispose(); } }