public void ConfigureDBConnectionTestFail2() { // arrange DBWorker.CloseConnection(); ConnectionParameters conParams = new ConnectionParameters("MySQL"); // act DBWorker.ConfigureDBConnection(conParams); }
public void ConfigureDBConnectionTestFail0() { // arrange DBWorker.CloseConnection(); ConnectionParameters conParams = new ConnectionParameters("non-existingType"); // act DBWorker.ConfigureDBConnection(conParams); }
// --------------------- Functionality --------------------- /// <summary> /// Connect to the DB /// </summary> /// <author>Moritz Eversmann, Bernd Nottbeck</author> /// <param name="conParams"></param> /// <returns></returns> public bool ConnectToDb(ConnectionParameters conParams) { Cursor = Cursors.Wait; Boolean connected = DBConnectionHelpers.EstablishDatabaseConnection(conParams); Cursor = Cursors.Arrow; return connected; }
public void databaseTest() { ConnectionParameters target = new ConnectionParameters(); string expected = "Teststring"; string actual; target.Database = expected; actual = target.Database; Assert.AreEqual(expected, actual); }
public MPMMicrosoftSQL(ConnectionParameters conParams, bool noWindowsAuth = true) : base(conParams) { NoWindowsAuth = noWindowsAuth; Initialize(BuildConnectionString()); DBWorker.SqlCreator = new SQLCreatorMicrosoftSQL(); }
/// <summary> /// Configures and opens a database connection /// Builds the metadata repository and loads the xml-serialized metadata-file. /// Navigates to page P2Metadata /// </summary> /// <param name="conParams"></param> /// <returns></returns> /// <author>Bernhard Bruns, Moritz Eversmann, Bernd Nottbeck</author> public static bool EstablishDatabaseConnection(ConnectionParameters conParams) { try { if (DBWorker.ConfigureDBConnection(conParams)) { DBWorker.OpenConnection(); MainWindow.ConnectionName = DBWorker.GetConnectionName(); DBWorker.BuildMetadataRepository(); XMLHelper.SynchronizeFactTableWithXML(conParams); DefaultEventClassifierIsSelected = false; if (DBWorker.MetaData.EventClassifier == "") { DefaultEventClassifierIsSelected = true; if (DBWorker.MetaData.ListOfEventsTableColumnNames.Contains("PROC_DESCRIPTION")) DBWorker.MetaData.EventClassifier = "PROC_DESCRIPTION"; else if (DBWorker.MetaData.ListOfEventsTableColumnNames.Contains("activity")) DBWorker.MetaData.EventClassifier = "activity"; else if (DBWorker.MetaData.ListOfEventsTableColumnNames.Contains("ACTIVITY")) DBWorker.MetaData.EventClassifier = "ACTIVITY"; else DefaultEventClassifierIsSelected = false; } NavigationCommands.GoToPage.Execute("/Pages/P2metadata.xaml", null); } return true; } catch (TypeInitializationException ex) { ErrorHandling.ReportErrorToUser("Error: Type initialization. " + ex.Message); } catch (NoParamsGivenException) { ErrorHandling.ReportErrorToUser("Error: No databasefields are filled."); } catch (DBException ex) { ErrorHandling.ReportErrorToUser("Database error: " + ex.Message); } catch (TimeoutException ex) { ErrorHandling.ReportErrorToUser("Database Timeout: " + ex.Message); } catch (Exception ex) { ErrorHandling.ReportErrorToUser("Error: " + ex.Message + " " + ex.StackTrace); } return false; }
public void SerializeTest1() { string filename = "Unit.tst"; ConnectionParameters con = new ConnectionParameters("TestString", "TestString", "TestString", "TestString", "TestString", "TestString", "TestString"); bool expected = true; bool actual; actual = Serializer.Serialize(filename, con); Assert.AreEqual(expected, actual); }
public void ConnectionParamsConstructorTest1() { string type = "Teststring"; string name = "Teststring"; string host = "Teststring"; string database = "Teststring"; string user = "******"; string password = "******"; string port = "Teststring"; ConnectionParameters target = new ConnectionParameters(type, name, host, database, user, password, port); Assert.IsNotNull(target); }
public MPMSQLiteConnection(ConnectionParameters conParams, bool _inMemory = false) : base(conParams) { DBWorker.SqlCreator = new SQLCreatorSQLite(); if (_inMemory) { //ReInitialize for In-Memory this.InMemory = true; if (Connection != null) Connection.Close(); Initialize(BuildConnectionString()); } }
/// <summary> /// Configures a new Database-connection that can be accessed from everywhere. /// </summary> /// <param name="connectionParameter">An Object that stores the connection-details.</param> /// <returns>True if the connection configuration was successful.</returns> /// <author>Jannik Arndt, Bernd Nottbeck</author> public static bool ConfigureDBConnection(ConnectionParameters connectionParameter) { if (String.IsNullOrEmpty(connectionParameter.Type)) throw new ConnectionTypeNotGivenException(); if (connectionParameter.Type.Equals("SQLite") || connectionParameter.Type.Equals("SQLite In-Memory")) { if (String.IsNullOrEmpty(connectionParameter.Database)) throw new NoParamsGivenException(); } else { if (String.IsNullOrEmpty(connectionParameter.Database) || String.IsNullOrEmpty(connectionParameter.Host) || String.IsNullOrEmpty(connectionParameter.Name) || String.IsNullOrEmpty(connectionParameter.Port)) throw new NoParamsGivenException(); } DbConnectionParameter = connectionParameter; switch (connectionParameter.Type) { case "MySQL": DatabaseConnection = new MPMMySQLConnection(connectionParameter); return true; case "Oracle": DatabaseConnection = new MPMOracleSQLConnection(connectionParameter); return true; case "PostgreSQL": DatabaseConnection = new MPMPostgreSQLConnection(connectionParameter); return true; case "MS-SQL": DatabaseConnection = new MPMMicrosoftSQL(connectionParameter); return true; case "MS-SQL Windows Auth": DatabaseConnection = new MPMMicrosoftSQL(connectionParameter, false); return true; case "SQLite": DatabaseConnection = new MPMSQLiteConnection(connectionParameter); return true; case "SQLite In-Memory": DatabaseConnection = new MPMSQLiteConnection(connectionParameter, true); return true; default: throw new DatabaseDoesNotExist(); } }
public static void MyClassInitialize(TestContext testContext) { string testDbPath = AppDomain.CurrentDomain.BaseDirectory + @"\Files\test.sqlite.db"; // To enable tests in a virtual machine (change the letter accordingly) if (!Char.IsLetter(testDbPath.First())) testDbPath = "Z:" + testDbPath.Substring(10); ConParams = new ConnectionParameters("SQLite", "SQLite Connection", "", testDbPath, "", "", ""); DBWorker.ConfigureDBConnection(ConParams); DBWorker.OpenConnection(); DBWorker.BuildMetadataRepository(); Model = Serializer.Deserialize<MatrixSelectionModel>(@"Files\SQLiteResults.mpm"); }
public static void MyClassInitialize(TestContext testContext) { ConParams = new ConnectionParameters { Type = "MS-SQL", Name = "MS-SQL Connection", Host = Settings.Default.mssql_host, Database = Settings.Default.mssql_database, Port = Settings.Default.mssql_port, User = Settings.Default.mssql_user, Password = Settings.Default.mssql_password }; DBWorker.ConfigureDBConnection(ConParams); DBWorker.OpenConnection(); DBWorker.BuildMetadataRepository(); Model = Serializer.Deserialize<MatrixSelectionModel>(@"Files\MS-SQLResults.mpm"); }
public void DeserializeTest() { string filename = "Unit.tst"; ConnectionParameters expected = new ConnectionParameters("TestString1", "TestString2", "TestString3", "TestString4", "TestString5", "TestString6", "TestString7"); ConnectionParameters actual; Serializer.Serialize(filename, expected); actual = Serializer.Deserialize<ConnectionParameters>(filename); Assert.AreEqual(expected.Database, actual.Database); Assert.AreEqual(expected.Host, actual.Host); Assert.AreEqual(expected.IsLastUsedDatabase , actual.IsLastUsedDatabase); Assert.AreEqual(expected.Name , actual.Name ); Assert.AreEqual(expected.Password, actual.Password); Assert.AreEqual(expected.Port , actual.Port); Assert.AreEqual(expected.Type , actual.Type); Assert.AreEqual(expected.User , actual.User); }
public static void MyClassInitialize(TestContext testContext) { string testDbPath = AppDomain.CurrentDomain.BaseDirectory + @"\Files\test.sqlite.db"; // To enable tests in a virtual machine (change the letter accordingly) if (!Char.IsLetter(testDbPath.First())) testDbPath = "Z:" + testDbPath.Substring(10); ConParams = new ConnectionParameters("SQLite", "SQLite Connection", "", testDbPath); String dbDatabaseWithoutPathName = ConParams.Database.Substring(ConParams.Database.LastIndexOf(("\\"), StringComparison.Ordinal) + 1); Path = AppDomain.CurrentDomain.BaseDirectory + @"\Metadata_" + dbDatabaseWithoutPathName + "@" + ConParams.Host + ".xml"; DBWorker.ConfigureDBConnection(ConParams); DBWorker.OpenConnection(); DBWorker.BuildMetadataRepository(); XMLHelper.SerializeObjectToXML(Path, DBWorker.MetaData); XmlMetadata = XMLHelper.DeserializeObjectFromXML<MetaDataRepository>(Path); }
public static void MyClassInitialize(TestContext testContext) { //Assert.Inconclusive("Oracle not yet tested"); ConParams = new ConnectionParameters { Type = "Oracle", Name = "Oracle Connection", Host = Settings.Default.oracle_host, Database = Settings.Default.oracle_service, Port = Settings.Default.oracle_port, User = Settings.Default.oracle_user, Password = Settings.Default.oracle_password }; DBWorker.ConfigureDBConnection(ConParams); DBWorker.OpenConnection(); DBWorker.BuildMetadataRepository(); Model = Serializer.Deserialize<MatrixSelectionModel>(@"Files\OracleResults.mpm"); }
/// <summary> /// Adds a new/changed connection to the connection list /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddConnectionClick(object sender, RoutedEventArgs e) { ConnectionParameters conParams = new ConnectionParameters(DBTypeComboBox.Text, DBConnectionnameTextBox.Text, DBHostnameTextBox.Text, DBDatabaseTextBox.Text, DBUsernameTextBox.Text, DBPasswordPasswordBox.Password, DBPortTextBox.Text); if (conParams.IsComplete()) { if (DBConnectionHelpers.CheckIfDatabaseNameExists(conParams.Name)) DBConnectionHelpers.AddDatabaseConnectionToConnectionList(conParams); else { if (ModernDialog.ShowMessage("Connection Name \"" + conParams.Name + "\" already exists! \r\nDo you want to override the existing connection?", "New Connection", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { DBConnectionHelpers.RemoveConnectionParameter(conParams.Name); DBConnectionHelpers.AddDatabaseConnectionToConnectionList(conParams); } } } else ModernDialog.ShowMessage("Please fill out all fields to add the new connection!", "New Connection", MessageBoxButton.OK); ReloadListbox(); }
public void LoadLastUsedDatabaseTest2() { ConnectionParameters expected = new ConnectionParameters("TestString", "TestString", "TestString", "TestString", "TestString", "TestString", "TestString"); ConnectionParameters actual; expected.IsLastUsedDatabase = false; DBConnectionHelpers.ConnectionParametersList = new List<ConnectionParameters>(); DBConnectionHelpers.ConnectionParametersList.Add(expected); actual = DBConnectionHelpers.LoadLastUsedDatabase(); Assert.IsNull(actual); }
public void ConnectionParamsConstructorTest() { ConnectionParameters target = new ConnectionParameters(); Assert.IsNotNull(target); }
public void UserTest() { ConnectionParameters target = new ConnectionParameters(); string expected = "Teststring"; string actual; target.User = expected; actual = target.User; Assert.AreEqual(expected, actual); }
public void PasswordTest() { ConnectionParameters target = new ConnectionParameters(); string expected = "SecretKey4711"; string actual; target.Password = expected; actual = target.Password; Assert.AreEqual(expected, actual); }
public void IsCompleteTrueTest1() { string type = "Teststring"; string name = "Teststring"; string host = "Teststring"; string database = "Teststring"; string user = "******"; string password = "******"; string port = "Teststring"; ConnectionParameters target = new ConnectionParameters(type, name, host, database, user, password, port); Assert.IsTrue(target.IsComplete(), "ConnectionParameters Complete"); }
public void IsCompleteFalseTest1() { ConnectionParameters target = new ConnectionParameters(); Assert.IsFalse(target.IsComplete(),"Connecting String was not Complete"); }
/// <summary> /// Test the Database-Connection. /// </summary> /// <param Name="sender"></param> /// <param Name="e"></param> /// <author>Bernhard Bruns</author> private void TestConnectionClick(object sender, RoutedEventArgs e) { Cursor = Cursors.Wait; ConnectionParameters connectionParameters = new ConnectionParameters(); connectionParameters.Type = DBTypeComboBox.SelectedItem.ToString(); connectionParameters.Name = DBConnectionnameTextBox.Text; connectionParameters.User = DBUsernameTextBox.Text; connectionParameters.Password = DBPasswordPasswordBox.Password; connectionParameters.Host = DBHostnameTextBox.Text; connectionParameters.Database = DBDatabaseTextBox.Text; connectionParameters.Port = DBPortTextBox.Text; try { if (DBWorker.ConfigureDBConnection(connectionParameters)) { if (DBWorker.OpenConnection()) { ModernDialog.ShowMessage("The connection to " + connectionParameters.Host + " is established.", "Connection", MessageBoxButton.OK); } else ErrorHandling.ReportErrorToUser("The connection could not be established."); } else ModernDialog.ShowMessage("The connection could not be established. It's probably not implemented yet.", "Error: Implementation missing", MessageBoxButton.OK); } catch (NoParamsGivenException ex) { ModernDialog.ShowMessage(ex.ExceptionMessage, "Error: Missing parameters", MessageBoxButton.OK); } catch (ConnectionTypeNotGivenException ex) { ModernDialog.ShowMessage(ex.ExceptionMessage, "Error: No connection Type", MessageBoxButton.OK); } catch (NoConnectionException ex) { ModernDialog.ShowMessage(ex.ExceptionMessage, "Error: No connection", MessageBoxButton.OK); } catch (UnauthorizedAccessException ex) { ModernDialog.ShowMessage(ex.Message, "Error: Access denied ", MessageBoxButton.OK); } catch (WrongCredentialsException ex) { ModernDialog.ShowMessage(ex.ExceptionMessage, "Error: Wrong credentials", MessageBoxButton.OK); } catch (DatabaseDoesNotExist ex) { ModernDialog.ShowMessage(ex.ExceptionMessage, "Error: Wrong database", MessageBoxButton.OK); } catch (TimeoutException ex) { ModernDialog.ShowMessage(ex.Message, "Error: Timeout", MessageBoxButton.OK); } catch (DBException ex) { ModernDialog.ShowMessage(ex.Message, "Error: Unknown", MessageBoxButton.OK); } finally { Cursor = Cursors.Arrow; } }
public void EmptyPasswordTest() { ConnectionParameters target = new ConnectionParameters(); target.Password = ""; Assert.IsTrue(string.IsNullOrEmpty(target.Password)); }
public void CurrentConnectionParametersTest() { ConnectionParameters expected = new ConnectionParameters("TestString", "TestString", "TestString", "TestString", "TestString", "TestString", "TestString"); ConnectionParameters actual; DBConnectionHelpers.CurrentConnectionParameters = expected; actual = DBConnectionHelpers.CurrentConnectionParameters; Assert.AreEqual(expected, actual); }
public void CheckIfDBNameAlreadyExistsTest2() { ConnectionParameters connectionParams = new ConnectionParameters("TestString", "Cname", "TestString", "TestString", "TestString", "TestString", "TestString"); string connectionName = "OtherName"; DBConnectionHelpers.ConnectionParametersList = new List<ConnectionParameters>(); DBConnectionHelpers.ConnectionParametersList.Add(connectionParams); bool actual = DBConnectionHelpers.CheckIfDatabaseNameExists(connectionName); Assert.IsTrue(actual); }
/// <summary> /// If the selectedindex of the listbox changes, the textboxes get refreshed /// </summary> /// <param Name="sender"></param> /// <param Name="e"></param> /// <author>Bernhard Bruns</author> private void ConnectionsSelectionChanged(object sender, SelectionChangedEventArgs e) { try { if (ConnectionsListBox.SelectedIndex >= 0) { ConnectionParameters = (ConnectionParameters)ConnectionsListBox.Items[ConnectionsListBox.SelectedIndex]; DBTypeComboBox.Text = ConnectionParameters.Type; DBConnectionnameTextBox.Text = ConnectionParameters.Name; DBHostnameTextBox.Text = ConnectionParameters.Host; DBDatabaseTextBox.Text = ConnectionParameters.Database; DBPasswordPasswordBox.Password = ConnectionParameters.Password; DBPortTextBox.Text = ConnectionParameters.Port; DBUsernameTextBox.Text = ConnectionParameters.User; } } catch (Exception ex) { ModernDialog.ShowMessage(ex.Message, "Error: ", MessageBoxButton.OK); } }
//private NpgsqlConnection Connection; /// <summary> /// Constructor, initializes a new connection from the ConnectionParameters-object. /// </summary> /// <param name="connectionParameters">The connection parameters.</param> public MPMPostgreSQLConnection(ConnectionParameters connectionParameters) : base(connectionParameters) { DBWorker.SqlCreator = new SQLCreatorPostgres(); }
public void SaveLastUsedDatabaseTest() { DBConnectionHelpers.ConnectionParametersList = new List<ConnectionParameters>(); DBConnectionHelpers.AddDatabaseConnectionToConnectionList(ConParams); DBConnectionHelpers.SaveLastUsedDatabase(ConParams); Assert.IsTrue(DBConnectionHelpers.ConnectionParametersList[0].IsLastUsedDatabase); ConnectionParameters c = new ConnectionParameters(); DBConnectionHelpers.SaveLastUsedDatabase(c); Assert.IsTrue(DBConnectionHelpers.ConnectionParametersList[0].IsLastUsedDatabase == false); }
/// <summary> /// The selected item will be removed. /// </summary> /// <param Name="sender"></param> /// <param Name="e"></param> /// <author>Bernhard Bruns</author> private void RemoveConnectionClick(object sender, RoutedEventArgs e) { if (ConnectionsListBox.Items.Count > 0 && ConnectionsListBox.SelectedIndex >= 0) { ConnectionParameters = (ConnectionParameters)ConnectionsListBox.Items[ConnectionsListBox.SelectedIndex]; if (ModernDialog.ShowMessage("Are you sure you want to remove the connection \"" + ConnectionParameters.Name + "\"?", "Remove", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { DBConnectionHelpers.ConnectionParametersList.Remove(ConnectionParameters); ReloadListbox(); if (ConnectionsListBox.Items.Count > 0) { ConnectionsListBox.SelectedIndex = 0; } else { DBTypeComboBox.Text = ""; DBConnectionnameTextBox.Text = ""; DBUsernameTextBox.Text = ""; DBPasswordPasswordBox.Password = ""; DBHostnameTextBox.Text = ""; DBPortTextBox.Text = ""; DBDatabaseTextBox.Text = ""; } } } }