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))); }
public void The_DatabaseHelper_Is_Filled_In() { IDatabaseForm form = MockRepository.GenerateMock <IDatabaseForm>(); IMainPanel panel = MockRepository.GenerateMock <IMainPanel>(); new DatabasePresenter(panel, form); form.AssertWasCalled(a => a.DatabaseHelper = Arg <IServerAndDatabaseHelper> .Is.NotNull); }
public DatabasePresenter(IMainPanel mainPanel, IDatabaseForm form) : base(mainPanel) { this.form = form; SetupForm(); //form.TestConnection += (sender, e) => TestConnection(true); //form.RefreshSchema += (sender, e) => RefreshSchema(); form.DatabaseHelper = new ServerAndDatabaseHelper(); form.SelectedDatabaseTypeChanged += form_SelectedDatabaseTypeChanged; }
public void FillForm(IDatabaseForm form) { form.SelectedDatabaseType = DatabaseTypes.Oracle; form.SetDatabase(connector.DatabaseName); form.UseIntegratedSecurity = connector.ConnectionInformation.UseIntegratedSecurity; form.Username = connector.ConnectionInformation.UserName; form.Password = connector.ConnectionInformation.Password; form.SelectedServerName = connector.ConnectionInformation.ServerName; form.Port = connector.ConnectionInformation.Port; form.ServiceName = connector.ConnectionInformation.ServiceName; }
public void The_Presenter_Tests_The_Connection_Unsuccessfully() { IDatabaseForm form = MockRepository.GenerateMock <IDatabaseForm>(); IMainPanel panel = MockRepository.GenerateMock <IMainPanel>(); form.Expect(f => f.SetDatabaseOperationResults(Arg <DatabaseOperationResults> .Matches(pc => pc.Succeeded == false))); new DatabasePresenter(panel, form); form.Stub(t => t.SelectedDatabaseType).Return(DatabaseTypes.SQLCE); form.Stub(t => t.SelectedDatabase).Return("1Table3Columnsaaa.sdf"); form.GetEventRaiser(t => t.TestConnection += null).Raise(form, null); form.VerifyAllExpectations(); }
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); }
public static IDatabaseLoader CreateDatabaseLoader(IDatabaseForm databaseForm) { IDatabaseLoader loader; switch (databaseForm.SelectedDatabaseType) { case DatabaseTypes.SQLCE: loader = DatabaseLoaderFacade.GetSQLCELoader(databaseForm.SelectedDatabase); break; case DatabaseTypes.SQLServer2005: loader = DatabaseLoaderFacade.GetSQLServer2005Loader(databaseForm.ConnectionStringHelper); break; case DatabaseTypes.SQLServerExpress: loader = DatabaseLoaderFacade.GetSqlServerExpressLoader(databaseForm.ConnectionStringHelper, databaseForm.SelectedDatabase); break; case DatabaseTypes.MySQL: loader = DatabaseLoaderFacade.GetMySQLLoader(databaseForm.ConnectionStringHelper); break; case DatabaseTypes.Oracle: loader = DatabaseLoaderFacade.GetOracleLoader(databaseForm.ConnectionStringHelper, databaseForm.SelectedDatabase); break; case DatabaseTypes.PostgreSQL: loader = DatabaseLoaderFacade.GetPostgreSQLLoader(databaseForm.ConnectionStringHelper, databaseForm.SelectedDatabase); break; case DatabaseTypes.Firebird: loader = DatabaseLoaderFacade.GetFirebirdLoader(databaseForm.ConnectionStringHelper); break; case DatabaseTypes.SQLite: loader = DatabaseLoaderFacade.GetSQLiteLoader(databaseForm.ConnectionStringHelper); break; default: throw new NotImplementedException( string.Format("DatabasePresenter.CreateDatabaseLoader() does not support databases of type {0} yet", databaseForm.SelectedDatabaseType)); } return(loader); }
public void FillForm(IDatabaseForm form) { form.SelectedDatabaseType = DatabaseTypes.SQLServerExpress; if (connector.ConnectionInformation.UseFileName) { form.SetDatabaseFilename(connector.DatabaseName); } else { form.SetDatabase(connector.DatabaseName); } form.UseIntegratedSecurity = connector.ConnectionInformation.UseIntegratedSecurity; form.Username = connector.ConnectionInformation.UserName; form.Password = connector.ConnectionInformation.Password; form.SelectedServerName = connector.ConnectionInformation.ServerName; form.Port = connector.ConnectionInformation.Port; form.ServiceName = connector.ConnectionInformation.ServiceName; }
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))); }
public void FillForm(IDatabaseForm form) { form.SelectedDatabaseType = DatabaseTypes.SQLCE; form.SetDatabaseFilename(connector.DatabaseName); }
public static IDatabaseLoader CreateDatabaseLoader(IDatabaseForm databaseForm) { IDatabaseLoader loader; switch (databaseForm.SelectedDatabaseType) { case DatabaseTypes.SQLCE: loader = DatabaseLoaderFacade.GetSQLCELoader(databaseForm.SelectedDatabase); break; case DatabaseTypes.SQLServer2005: loader = DatabaseLoaderFacade.GetSQLServer2005Loader(databaseForm.ConnectionStringHelper); break; case DatabaseTypes.SQLServerExpress: loader = DatabaseLoaderFacade.GetSqlServerExpressLoader(databaseForm.ConnectionStringHelper, databaseForm.SelectedDatabase); break; case DatabaseTypes.MySQL: loader = DatabaseLoaderFacade.GetMySQLLoader(databaseForm.ConnectionStringHelper); break; case DatabaseTypes.Oracle: loader = DatabaseLoaderFacade.GetOracleLoader(databaseForm.ConnectionStringHelper, databaseForm.SelectedDatabase); break; case DatabaseTypes.PostgreSQL: loader = DatabaseLoaderFacade.GetPostgreSQLLoader(databaseForm.ConnectionStringHelper, databaseForm.SelectedDatabase); break; case DatabaseTypes.Firebird: loader = DatabaseLoaderFacade.GetFirebirdLoader(databaseForm.ConnectionStringHelper); break; case DatabaseTypes.SQLite: loader = DatabaseLoaderFacade.GetSQLiteLoader(databaseForm.ConnectionStringHelper); break; default: throw new NotImplementedException( string.Format("DatabasePresenter.CreateDatabaseLoader() does not support databases of type {0} yet", databaseForm.SelectedDatabaseType)); } return loader; }