public void SqlWorkerBaseCreateWithOpenConnection() { using (ShimsContext.Create()) { bool wasInvokedOpen; bool wasInvokedClose; System.Data.SqlClient.Fakes.ShimSqlConnection.AllInstances.Open = delegate { wasInvokedOpen = true; }; System.Data.SqlClient.Fakes.ShimSqlConnection.AllInstances.StateGet = delegate { return ConnectionState.Open; }; System.Data.SqlClient.Fakes.ShimSqlConnection.AllInstances.Close = delegate { wasInvokedClose = true; }; string connectionString = new SqlConnectionStringBuilder { DataSource = "TESTHOST", InitialCatalog = "TESTDB", IntegratedSecurity = false, UserID = "sa", Password = "******" }.ConnectionString; SqlConnection connection = new SqlConnection(connectionString); connection.Open(); // Сбросываем флаги. wasInvokedOpen = false; wasInvokedClose = false; StubSqlWorker worker = new StubSqlWorker(connection); worker.Execute(); // Не должно вызваться открытие соединения. Assert.IsFalse(wasInvokedOpen); // Не должно вызваться закрытие соединения. Assert.IsFalse(wasInvokedClose); Assert.AreEqual("TESTHOST", worker.ServerProp); Assert.AreEqual("TESTDB", worker.DatabaseProp); Assert.AreEqual(AuthenticationType.Sql, worker.AuthenticationTypeProp); Assert.AreEqual("sa", worker.UserProp); Assert.AreEqual("pass", worker.PasswordProp); } }
public void SqlWorkerBaseCreateWithAuthenticationData() { using (ShimsContext.Create()) { bool wasInvokedOpen = false; bool wasInvokedClose = false; System.Data.SqlClient.Fakes.ShimSqlConnection.AllInstances.Open = delegate { wasInvokedOpen = true; }; System.Data.SqlClient.Fakes.ShimSqlConnection.AllInstances.StateGet = delegate { return wasInvokedOpen ? ConnectionState.Open : ConnectionState.Closed; }; System.Data.SqlClient.Fakes.ShimSqlConnection.AllInstances.Close = delegate { wasInvokedClose = true; }; StubSqlWorker worker = new StubSqlWorker("TESTHOST", "TESTDB", AuthenticationType.Sql, "sa", "pass"); worker.Execute(); // Должно вызваться открытие соединения. Assert.IsTrue(wasInvokedOpen); // Должно вызваться закрытие соединения. Assert.IsTrue(wasInvokedClose); Assert.AreEqual("TESTHOST", worker.ServerProp); Assert.AreEqual("TESTDB", worker.DatabaseProp); Assert.AreEqual(AuthenticationType.Sql, worker.AuthenticationTypeProp); Assert.AreEqual("sa", worker.UserProp); Assert.AreEqual("pass", worker.PasswordProp); } }