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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 9
0
        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);
 }
Ejemplo n.º 14
0
        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;
        }
Ejemplo n.º 15
0
        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;
        }