public void ChangeConnectionTest() { #region arrange var db = new SqlServerDatabase(); // make sure you have a valid connection string in the app.config var validConnection = ConfigurationManager.ConnectionStrings.Cast<ConnectionStringSettings>().ToArray()[1].ConnectionString; var invalidConnection = validConnection.Replace("Source=", "Source=sdagda"); #endregion #region act var error1 = db.ChangeConnection(validConnection); var error2 = db.ChangeConnection(invalidConnection); db.Dispose(); #endregion #region assert if (error1 != string.Empty) Assert.Fail("shouldn't have thrown an error: " + error1); if (error2 == string.Empty) Assert.Fail("didn't detect invalid connection string"); #endregion }
public void DatabaseAccessTests() { #region arrange var db = new SqlServerDatabase(); // make sure you have a valid connection string in the app.config var validConnection = ConfigurationManager.ConnectionStrings.Cast<ConnectionStringSettings>().ToArray()[1].ConnectionString; #endregion #region act var errorConnection = db.ChangeConnection(validConnection); var databases = db.GetDatabases(); if (databases.Count == 0) Assert.Fail("didn't return any database"); var errorDatabase = db.ChangeDatabase(validConnection, databases[0]); #endregion #region assert if (errorConnection != string.Empty) Assert.Fail("when connecting to server: " + errorConnection); if (databases.Count == 0) Assert.Fail("no databases returned"); if (errorDatabase != string.Empty) Assert.Fail("when connecting to database: " + errorDatabase); #endregion /// uses the already existing connection to continue testing #region act var tables = db.GetTables(); var storedProcedures = db.GetStoredProcedures(); #endregion #region assert if (tables.Count == 0) Assert.Fail("no tables returned"); if (storedProcedures.Count == 0) Assert.Fail("no SPs returned"); #endregion #region act var columnsTable = db.GetColumnsForTable(tables[0]); var columnsStoredProcedures = db.GetColumnsForStoredProcedure(storedProcedures[0]); #endregion #region assert if (columnsTable.Count == 0) Assert.Fail("no columns for table {0} returned", tables[0]); if (columnsStoredProcedures.Count == 0) Assert.Fail("no input parameters for SP {0} returned", storedProcedures[0]); #endregion #region act var storedProcedureText = db.GetStoredProcedureBody(storedProcedures[0]); string errorSP = string.Empty; var result = db.ExecuteStoredProcedure(storedProcedures[0], columnsStoredProcedures, out errorSP); #endregion if (string.IsNullOrEmpty(storedProcedureText)) Assert.Fail("stored procedure body not returned"); if (errorSP != string.Empty || result == null) Assert.Fail("error when executing sp: {0}", errorSP); db.Dispose(); }