public void The_DatabaseName_Is_Wired_Up_Correctly_With_Database() { IDatabaseForm form = MockRepository.GenerateMock <IDatabaseForm>(); Database obj = new Database("Database1"); ISQLServer2005DatabaseConnector connector = MockRepository.GenerateStub <ISQLServer2005DatabaseConnector>(); connector.ConnectionInformation = new ConnectionStringHelper { UserName = "******", Password = "******", ServerName = "Server", UseFileName = false }; connector.DatabaseName = "DatabaseName"; obj.Loader = new SQLServer2005DatabaseLoader(connector); IMainPanel panel = MockRepository.GenerateMock <IMainPanel>(); var presenter = new DatabasePresenter(panel, form); presenter.AttachToModel(obj); form.AssertWasCalled(a => a.SelectedDatabaseType = DatabaseTypes.SQLServer2005); form.AssertWasCalled(a => a.SetDatabase("DatabaseName")); form.AssertWasCalled(a => a.Username = "******"); form.AssertWasCalled(a => a.Password = "******"); form.AssertWasCalled(a => a.SelectedServerName = "Server"); form.AssertWasCalled(a => a.DatabaseHelper = Arg <IServerAndDatabaseHelper> .Is.NotNull); }
public void Creates_A_New_Database_If_No_Database_Has_Been_Previously_Loaded() { IDatabaseForm form = MockRepository.GenerateMock <IDatabaseForm>(); IMainPanel panel = MockRepository.GenerateMock <IMainPanel>(); DatabasePresenter presenter = new DatabasePresenter(panel, form); AutoResetEvent arEvent = new AutoResetEvent(false); presenter.NewDatabaseCreated += (sender, e) => arEvent.Set(); Assert.That(presenter.Database, Is.Null); form.Stub(t => t.SelectedDatabaseType).Return(DatabaseTypes.SQLCE); form.Stub(t => t.SelectedDatabase).Return("1Table3Columns.sdf"); var raiser = form.GetEventRaiser(t => t.RefreshSchema += null); raiser.Raise(form, null); Assert.That(arEvent.WaitOne(10000, true), "The test timed out waiting for the NewDatabaseCreated event to be triggered"); Assert.That(presenter.Database, Is.Not.Null); Assert.That(presenter.Database.Name, Is.EqualTo("1Table3Columns")); }
public void The_Presenter_Refreshes_The_Database_And_Attempts_To_Show_The_Results() { IDatabaseForm form = MockRepository.GenerateMock <IDatabaseForm>(); IMainPanel panel = MockRepository.GenerateMock <IMainPanel>(); IDatabase db = MockRepository.GenerateStub <IDatabase>(); db.Stub(d => d.Tables).Return(new ReadOnlyCollection <ITable>(new List <ITable>())); var presenter = new DatabasePresenter(panel, form); presenter.AttachToModel(db); AutoResetEvent arEvent = new AutoResetEvent(false); presenter.SchemaRefreshed += (sender, e) => arEvent.Set(); form.Stub(t => t.SelectedDatabaseType).Return(DatabaseTypes.SQLCE); form.Stub(t => t.SelectedDatabase).Return("1Table3Columns.sdf"); var raiser = form.GetEventRaiser(t => t.RefreshSchema += null); raiser.Raise(form, null); Assert.That(arEvent.WaitOne(10000, true), "The test timed out waiting for the SchemaRefreshed event to be triggered"); panel.AssertWasCalled(p => p.ShowDatabaseRefreshResults( Arg <DatabaseMergeResult> .Matches(t => t.TableOperations.Count() == 1))); }
private void buttonFinish_Click(object sender, EventArgs e) { if (ucDatabaseInformation1.ConnectionStringHelper.CurrentDbType == DatabaseTypes.Unknown) { MessageBox.Show(this, "Please select a database.", "Missing data", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } Cursor = Cursors.WaitCursor; try { bool informationFilled = TestConnection(false, ucDatabaseInformation1); if (informationFilled == false) { return; } NewProjectForm.SetScreenData(ScreenDataKey, new ScreenData(DatabasePresenter.CreateDatabaseLoader(ucDatabaseInformation1))); NewProjectForm.UserChosenAction = NewProjectFormActions.NewProject; NewProjectForm.NewProjectInformation = new LoadExistingDatabaseInfo { DatabaseLoader = DatabasePresenter.CreateDatabaseLoader(ucDatabaseInformation1), ConnStringHelper = ucDatabaseInformation1.GetHelper() }; NewProjectForm.LoadScreen(typeof(SelectDatabaseObjects)); } finally { Cursor = Cursors.Default; } }
public void The_DatabaseName_Is_Wired_Up_Correctly() { IDatabaseForm form = MockRepository.GenerateMock <IDatabaseForm>(); Database obj = new Database("Database1"); obj.Loader = DatabaseLoaderFacade.GetSQLCELoader("asdfsdf.sdf"); IMainPanel panel = MockRepository.GenerateMock <IMainPanel>(); var presenter = new DatabasePresenter(panel, form); presenter.AttachToModel(obj); form.AssertWasCalled(a => a.SelectedDatabaseType = DatabaseTypes.SQLCE); form.AssertWasCalled(a => a.SetDatabaseFilename("asdfsdf.sdf")); form.AssertWasCalled(a => a.DatabaseHelper = Arg <IServerAndDatabaseHelper> .Is.NotNull); }
private void Save() { if (_Database.ConnectionInformation == null) { IDatabaseLoader dbLoader = DatabasePresenter.CreateDatabaseLoader(ucDatabaseInformation1); try { _Database = dbLoader.LoadDatabase(dbLoader.DatabaseObjectsToFetch, null); } catch (DatabaseLoaderException e) { #region Save what we can _Database.DatabaseType = ucDatabaseInformation1.SelectedDatabaseType; _Database.ConnectionInformation = new Helper.ConnectionStringHelper(); _Database.ConnectionInformation.FileName = ucDatabaseInformation1.ConnectionStringHelper.FileName; _Database.ConnectionInformation.UseIntegratedSecurity = ucDatabaseInformation1.ConnectionStringHelper.UseIntegratedSecurity; _Database.ConnectionInformation.UserName = ucDatabaseInformation1.ConnectionStringHelper.UserName; _Database.ConnectionInformation.Password = ucDatabaseInformation1.ConnectionStringHelper.Password; _Database.ConnectionInformation.Port = ucDatabaseInformation1.ConnectionStringHelper.Port; _Database.ConnectionInformation.ServerName = ucDatabaseInformation1.ConnectionStringHelper.ServerName; _Database.ConnectionInformation.ServiceName = ucDatabaseInformation1.ConnectionStringHelper.ServiceName; #endregion //if (e.InnerException != null && e.InnerException.Message.StartsWith("Database cannot be null, the empty string, or string of only whitespace.")) // return; //else // throw; } } else { //_Database.Name = ucDatabaseInformation1.ConnectionStringHelper.DatabaseName; _Database.DatabaseType = ucDatabaseInformation1.SelectedDatabaseType; var connStringHelper = ucDatabaseInformation1.ConnectionStringHelper; _Database.ConnectionInformation.FileName = connStringHelper.FileName; _Database.ConnectionInformation.UseIntegratedSecurity = connStringHelper.UseIntegratedSecurity; _Database.ConnectionInformation.UserName = connStringHelper.UserName; _Database.ConnectionInformation.Password = connStringHelper.Password; _Database.ConnectionInformation.Port = connStringHelper.Port; _Database.ConnectionInformation.ServerName = connStringHelper.ServerName; _Database.ConnectionInformation.ServiceName = connStringHelper.ServiceName; } }
internal static bool TestConnection(bool showSuccess, ArchAngel.Providers.EntityModel.UI.PropertyGrids.ucDatabaseInformation dbInfo) { Monitor.Enter(databaseLock); try { if (!dbInfo.ReadyToProceed()) { return(false); } dbInfo.SetDatabaseOperationResults(new DatabaseOperationResults("Testing connection...", true)); IDatabaseLoader loader = DatabasePresenter.CreateDatabaseLoader(dbInfo); try { loader.TestConnection(); if (showSuccess) { dbInfo.SetDatabaseOperationResults(new DatabaseOperationResults("Connection Test", true)); } return(true); } catch (DatabaseLoaderException e) { DatabaseOperationResults results = new DatabaseOperationResults("Connection Test", false, e.ActualMessage); dbInfo.SetDatabaseOperationResults(results); return(false); } } finally { Monitor.Exit(databaseLock); } }
public void A_SQLCEDatabaseLoader_Is_Returned() { IDatabaseForm form = MockRepository.GenerateMock <IDatabaseForm>(); IMainPanel panel = MockRepository.GenerateMock <IMainPanel>(); DatabasePresenter presenter = new DatabasePresenter(panel, form); form.Stub(t => t.SelectedDatabaseType).Return(DatabaseTypes.SQLCE); form.Stub(t => t.SelectedDatabase).Return("1Table3Columns.sdf"); IDatabaseLoader loader = presenter.CreateDatabaseLoader(); Assert.That(loader, Is.Not.Null); Assert.That(loader, Is.TypeOf(typeof(SQLCEDatabaseLoader))); // Will throw an error if the database connection could not be established. loader.TestConnection(); IDatabase db = loader.LoadDatabase(); Assert.That(db.Name, Is.EqualTo("1Table3Columns")); Assert.That(db.Tables, Has.Count(1)); // Basic check to see if we got the correct database back. }
public void A_SQLServer2005DatabaseLoader_Is_Returned() { IDatabaseForm form = MockRepository.GenerateMock <IDatabaseForm>(); IMainPanel panel = MockRepository.GenerateMock <IMainPanel>(); DatabasePresenter presenter = new DatabasePresenter(panel, form); form.Stub(t => t.SelectedDatabaseType).Return(DatabaseTypes.SQLServer2005); form.Stub(t => t.ConnectionStringHelper).Return(new ConnectionStringHelper { CurrentDbType = DatabaseTypes.SQLServer2005, DatabaseName = "TestDatabase", Password = "******", ServerName = ".", UseFileName = false, UseIntegratedSecurity = false, UserName = "******" }); IDatabaseLoader loader = presenter.CreateDatabaseLoader(); Assert.That(loader, Is.Not.Null); Assert.That(loader, Is.TypeOf(typeof(SQLServer2005DatabaseLoader))); }
private void buttonBack_Click(object sender, EventArgs e) { NewProjectForm.SetScreenData(ScreenDataKey, new ScreenData(DatabasePresenter.CreateDatabaseLoader(ucDatabaseInformation1))); NewProjectForm.LoadScreen(typeof(LoadExistingProject)); }