public void CorrectlyReadsEnumeratedTextFileColumnByValue()
        {
            string fileContents = "Persistence Mode\r\n1\r\n2\r\n";

            MockRepository       mocks       = new MockRepository();
            IResourceFileLocator fileLocator = mocks.CreateMock <IResourceFileLocator>();

            Expect.Call(fileLocator.ReadTextFile("MyCompany.MyAssembly", _testDataFile)).Return(fileContents);

            mocks.ReplayAll();

            using (IDataFileReader reader = new DataFileReader(fileLocator))
            {
                reader.Open("MyCompany.MyAssembly", "Test", "DataFilePath");

                bool canRead = reader.Read();
                Assert.That(canRead, Is.EqualTo(true));
                Assert.That(reader.GetEnumerationByValue <PersistenceMode>("Persistence Mode"), Is.EqualTo(PersistenceMode.Live));

                canRead = reader.Read();
                Assert.That(canRead, Is.EqualTo(true));
                Assert.That(reader.GetEnumerationByValue <PersistenceMode>("Persistence Mode"), Is.EqualTo(PersistenceMode.Archive));

                canRead = reader.Read();
                Assert.That(canRead, Is.EqualTo(false));
            }

            mocks.VerifyAll();
        }
Beispiel #2
0
 public LoadBalancerBodyView(IApplicationInstanceContext context, IResourceFileLocator fileLocator, ITokenReplacer replacer, IAdministratorSecurityChecker securityChecker)
 {
     _context         = context;
     _fileLocator     = fileLocator;
     _replacer        = replacer;
     _securityChecker = securityChecker;
 }
        public void CorrectlyReadsMultiColumnTable()
        {
            string fileContents = "Column 1\tColumn 2\r\n80\t85";

            MockRepository       mocks       = new MockRepository();
            IResourceFileLocator fileLocator = mocks.CreateMock <IResourceFileLocator>();

            Expect.Call(fileLocator.ReadTextFile("MyCompany.MyAssembly", _testDataFile)).Return(fileContents);

            mocks.ReplayAll();

            using (IDataFileReader reader = new DataFileReader(fileLocator))
            {
                reader.Open("MyCompany.MyAssembly", "Test", "DataFilePath");

                bool canRead = reader.Read();
                Assert.That(canRead, Is.EqualTo(true));
                Assert.That(reader.GetInteger("Column 1"), Is.EqualTo(80));
                Assert.That(reader.GetInteger("Column 2"), Is.EqualTo(85));

                canRead = reader.Read();
                Assert.That(canRead, Is.EqualTo(false));
            }

            mocks.VerifyAll();
        }
        public void Versions_database()
        {
            string assembly = SqlDatabaseManager.SQL_FILE_ASSEMBLY;
            string sqlFile  = string.Format(SqlDatabaseManager.SQL_FILE_TEMPLATE, "VersionDatabase");

            ConnectionSettings settings  = new ConnectionSettings(String.Empty, String.Empty, false, String.Empty, String.Empty);
            string             sqlScript = "SQL script...";

            MockRepository       mocks         = new MockRepository();
            IResourceFileLocator fileLocator   = mocks.CreateMock <IResourceFileLocator>();
            IQueryExecutor       queryExecutor = mocks.CreateMock <IQueryExecutor>();
            ITaskObserver        taskObserver  = mocks.CreateMock <ITaskObserver>();

            using (mocks.Record())
            {
                Expect.Call(fileLocator.ReadTextFile(assembly, sqlFile)).Return(sqlScript);
                Expect.Call(queryExecutor.ExecuteScalarInteger(settings, sqlScript)).Return(7);
                taskObserver.SetVariable("usdDatabaseVersion", "7");
            }

            using (mocks.Playback())
            {
                IDatabaseVersioner versioner = new DatabaseVersioner(fileLocator, queryExecutor);
                versioner.VersionDatabase(settings, taskObserver);
            }

            mocks.VerifyAll();
        }
		public LoadBalancerBodyView(IApplicationInstanceContext context, IResourceFileLocator fileLocator, ITokenReplacer replacer, IAdministratorSecurityChecker securityChecker)
		{
			_context = context;
			_fileLocator = fileLocator;
			_replacer = replacer;
			_securityChecker = securityChecker;
		}
Beispiel #6
0
        public void Correctly_build_menu_view()
        {
            MockRepository       mocks    = new MockRepository();
            IResourceFileLocator locator  = mocks.CreateMock <IResourceFileLocator>();
            ITokenReplacer       replacer = mocks.CreateMock <ITokenReplacer>();

            using (mocks.Record())
            {
                string htmlTemplate = "||APPLICATION_URL|| ||CACHE_URL|| ||ASSEMBLY_URL|| ||LOADBALANCER_URL|| ||DISABLE_URL||";
                Expect.Call(locator.ReadTextFile("Tarantino.Core", MenuView.MenuTemplate)).Return(htmlTemplate);
                replacer.Text = htmlTemplate;

                replacer.Replace("APPLICATION_URL", "Tarantino.WebManagement.Application.axd");
                replacer.Replace("CACHE_URL", "Tarantino.WebManagement.Cache.axd");
                replacer.Replace("ASSEMBLY_URL", "Tarantino.WebManagement.Assemblies.axd");
                replacer.Replace("LOADBALANCER_URL", "Tarantino.WebManagement.LoadBalancer.axd");
                replacer.Replace("DISABLE_URL", "Tarantino.WebManagement.DisableSSL.axd");

                Expect.Call(replacer.Text).Return("fully formatted html");
            }

            using (mocks.Playback())
            {
                IMenuView menuView = new MenuView(locator, replacer);
                string    html     = menuView.BuildHtml();

                Assert.That(html, Is.EqualTo("fully formatted html"));
            }
        }
        public void CanReadEmptyString()
        {
            string fileContents = "StringColumn1\tStringColumn2\r\nString 1";

            MockRepository       mocks       = new MockRepository();
            IResourceFileLocator fileLocator = mocks.CreateMock <IResourceFileLocator>();

            Expect.Call(fileLocator.ReadTextFile("MyCompany.MyAssembly", _testDataFile)).Return(fileContents);

            mocks.ReplayAll();

            using (IDataFileReader reader = new DataFileReader(fileLocator))
            {
                reader.Open("MyCompany.MyAssembly", "Test", "DataFilePath");

                bool canRead = reader.Read();
                Assert.That(canRead, Is.EqualTo(true));
                Assert.That(reader.GetString("StringColumn2"), Is.EqualTo(string.Empty));

                canRead = reader.Read();
                Assert.That(canRead, Is.EqualTo(false));
            }

            mocks.VerifyAll();
        }
        public void Correctly_drops_connections()
        {
            string assembly = SqlDatabaseManager.SQL_FILE_ASSEMBLY;
            string sqlFile  = string.Format(SqlDatabaseManager.SQL_FILE_TEMPLATE, "DropConnections");

            ConnectionSettings settings = new ConnectionSettings("server", "MyDatabase", true, null, null);

            MockRepository mocks = new MockRepository();

            ITaskObserver        taskObserver  = mocks.CreateMock <ITaskObserver>();
            IResourceFileLocator fileLocator   = mocks.CreateMock <IResourceFileLocator>();
            ITokenReplacer       replacer      = mocks.CreateMock <ITokenReplacer>();
            IQueryExecutor       queryExecutor = mocks.CreateMock <IQueryExecutor>();

            using (mocks.Record())
            {
                taskObserver.Log("Dropping connections for database MyDatabase\n");
                Expect.Call(fileLocator.ReadTextFile(assembly, sqlFile)).Return("Unformatted SQL");
                replacer.Text = "Unformatted SQL";
                replacer.Replace("DatabaseName", "MyDatabase");
                Expect.Call(replacer.Text).Return("Formatted SQL");
                queryExecutor.ExecuteNonQuery(settings, "Formatted SQL", false);
            }

            using (mocks.Playback())
            {
                IDatabaseConnectionDropper dropper = new DatabaseConnectionDropper(fileLocator, replacer, queryExecutor);
                dropper.Drop(settings, taskObserver);
            }

            mocks.VerifyAll();
        }
 public ApplicationListingBodyView(IAdministratorSecurityChecker securityChecker, IApplicationInstanceRepository applicationInstanceRepository, IResourceFileLocator fileLocator, ITokenReplacer replacer, IApplicationListingRowView applicationListingRowView)
 {
     this.checker = securityChecker;
     this.applicationInstanceRepository = applicationInstanceRepository;
     this.fileLocator = fileLocator;
     this.replacer = replacer;
     this.applicationListingRowView = applicationListingRowView;
 }
 public ApplicationListingBodyView(IAdministratorSecurityChecker securityChecker, IApplicationInstanceRepository applicationInstanceRepository, IResourceFileLocator fileLocator, ITokenReplacer replacer, IApplicationListingRowView applicationListingRowView)
 {
     this.checker = securityChecker;
     this.applicationInstanceRepository = applicationInstanceRepository;
     this.fileLocator = fileLocator;
     this.replacer    = replacer;
     this.applicationListingRowView = applicationListingRowView;
 }
Beispiel #11
0
        public void Activates_type_from_descriptor()
        {
            ITypeActivator typeActivator = ObjectFactory.GetInstance <ITypeActivator>();

            IResourceFileLocator locator = typeActivator.ActivateType <IResourceFileLocator>(
                "Tarantino.Core.Commons.Services.Environment.Impl.ResourceFileLocator, Tarantino.Core");

            Assert.That(locator, Is.Not.Null);
        }
        public void Correctly_returns_html_for_page_for_an_administrator()
        {
            List <ApplicationInstance> applicationList = new List <ApplicationInstance>();

            //application group 1
            applicationList.Add(new ApplicationInstance());
            applicationList[0].MaintenanceHostHeader = "1";
            applicationList.Add(new ApplicationInstance());
            applicationList[1].MaintenanceHostHeader = "1";

            //application group 2
            applicationList.Add(new ApplicationInstance());
            applicationList[2].MaintenanceHostHeader = "2";
            applicationList.Add(new ApplicationInstance());
            applicationList[3].MaintenanceHostHeader = "2";

            MockRepository mocks = new MockRepository();
            IApplicationInstanceRepository repository  = mocks.CreateMock <IApplicationInstanceRepository>();
            IResourceFileLocator           fileLocator = mocks.CreateMock <IResourceFileLocator>();
            ITokenReplacer replacer = mocks.CreateMock <ITokenReplacer>();
            IAdministratorSecurityChecker securityChecker           = mocks.CreateMock <IAdministratorSecurityChecker>();
            IApplicationListingRowView    applicationListingRowView = mocks.CreateMock <IApplicationListingRowView>();

            using (mocks.Record())
            {
                Expect.Call(securityChecker.IsCurrentUserAdministrator()).Return(true);

                Expect.Call(repository.GetAll()).Return(applicationList);
                Expect.Call(fileLocator.ReadTextFile("Tarantino.Core", ApplicationListingBodyView.BodyTemplate)).Return("body template");
                replacer.Text = "body template";
                Expect.Call(applicationListingRowView.BuildFirstRowHtml(applicationList[0], 2)).Return("1");
                Expect.Call(applicationListingRowView.BuildMRowHtml(applicationList[1])).Return("2");
                Expect.Call(applicationListingRowView.BuildFirstRowHtml(applicationList[2], 2)).Return("3");
                Expect.Call(applicationListingRowView.BuildMRowHtml(applicationList[3])).Return("4");
                replacer.Replace("ROWS", "1234");
                Expect.Call(replacer.Text).Return("formatted HTML");
            }

            using (mocks.Playback())
            {
                IApplicationListingBodyView view = new ApplicationListingBodyView(securityChecker, repository, fileLocator, replacer, applicationListingRowView);
                string html = view.BuildHtml();
                Assert.That(html, Is.EqualTo("formatted HTML"));
            }

            mocks.VerifyAll();
        }
Beispiel #13
0
        public void Correctly_Reads_Excel_File()
        {
            InfrastructureDependencyRegistrar.RegisterInfrastructure();

            IResourceFileLocator fileLocator = ObjectFactory.GetInstance <IResourceFileLocator>();

            byte[] excelFileBytes = fileLocator.ReadBinaryFile(_testAssembly, string.Format(_resourceTemplate, "Sample.xls"));

            IExcelWorkbookReader reader = new ExcelWorkbookReader();

            DataSet workbook = reader.GetWorkbookData(new MemoryStream(excelFileBytes));

            Assert.That(workbook, Is.Not.Null);

            Assert.That(workbook.Tables.Count, Is.EqualTo(1));
            Assert.That(workbook.Tables["Sample Data"], Is.Not.Null);
            Assert.That(workbook.Tables["Sample Data"].Columns.Count, Is.EqualTo(3));
            Assert.That(workbook.Tables["Sample Data"].Rows.Count, Is.EqualTo(6));
        }
        public void CorrectlyThrowsExceptionIfUnknownColumnSpecified()
        {
            string fileContents = "My Good Column Name\r\nMy Data\r\n";

            MockRepository       mocks       = new MockRepository();
            IResourceFileLocator fileLocator = mocks.CreateMock <IResourceFileLocator>();

            Expect.Call(fileLocator.ReadTextFile("MyCompany.MyAssembly", _testDataFile)).Return(fileContents);

            mocks.ReplayAll();

            using (IDataFileReader reader = new DataFileReader(fileLocator))
            {
                reader.Open("MyCompany.MyAssembly", "Test", "DataFilePath");

                reader.Read();
                reader.GetInteger("My Bad Column Name");
            }
        }
        public void CorrectlyReadsColumnHeaders()
        {
            string fileContents = "First Column\tSecond Column\r\n";

            MockRepository       mocks       = new MockRepository();
            IResourceFileLocator fileLocator = mocks.CreateMock <IResourceFileLocator>();

            Expect.Call(fileLocator.ReadTextFile("MyCompany.MyAssembly", _testDataFile)).Return(fileContents);

            mocks.ReplayAll();

            using (IDataFileReader reader = new DataFileReader(fileLocator))
            {
                reader.Open("MyCompany.MyAssembly", "Test", "DataFilePath");
                string[] columnHeaders = reader.GetColumnHeaders();

                Assert.That(columnHeaders, Is.EqualTo(new string[] { "First Column", "Second Column" }));
            }

            mocks.VerifyAll();
        }
        public void Correctly_returns_html_for_error_authenticated_page_with_disabled_instance()
        {
            string errorMessage = "An error has occured!";
            string bodyTemplate = "body template";

            ApplicationInstance instance = new ApplicationInstance();

            instance.MachineName = "MyMachine";
            instance.AvailableForLoadBalancing = false;

            MockRepository mocks = new MockRepository();
            IApplicationInstanceContext context     = mocks.CreateMock <IApplicationInstanceContext>();
            IResourceFileLocator        fileLocator = mocks.CreateMock <IResourceFileLocator>();
            ITokenReplacer replacer = mocks.CreateMock <ITokenReplacer>();
            IAdministratorSecurityChecker securityChecker = mocks.CreateMock <IAdministratorSecurityChecker>();

            using (mocks.Record())
            {
                Expect.Call(securityChecker.IsCurrentUserAdministrator()).Return(true);

                Expect.Call(context.GetCurrent()).Return(instance);
                Expect.Call(fileLocator.ReadTextFile("Tarantino.Core", LoadBalancerBodyView.LoadBalancerBodyTemplate)).Return(bodyTemplate);
                replacer.Text = bodyTemplate;

                replacer.Replace("ERROR_MESSAGE", errorMessage);
                replacer.Replace("CURRENT_STATE", "disabled");
                replacer.Replace("MACHINE", "MyMachine");
                replacer.Replace("CHANGE_STATE_LINK", "<a href=\"?enabled=True\">enable</a>");

                Expect.Call(replacer.Text).Return("formatted HTML");
            }

            using (mocks.Playback())
            {
                ILoadBalancerBodyView view = new LoadBalancerBodyView(context, fileLocator, replacer, securityChecker);
                string html = view.BuildHtml(errorMessage);

                Assert.That(html, Is.EqualTo("formatted HTML"));
            }
        }
        public void View_should_build_html_for_row_one()
        {
            ApplicationInstance instance = new ApplicationInstance();

            instance.MaintenanceHostHeader = "1";
            instance.MachineName           = "2";
            instance.Id = Guid.NewGuid();

            MockRepository       mocks         = new MockRepository();
            IResourceFileLocator fileLocator   = mocks.CreateMock <IResourceFileLocator>();
            ITokenReplacer       tokenReplacer = mocks.CreateMock <ITokenReplacer>();

            using (mocks.Record())
            {
                Expect.Call(fileLocator.ReadTextFile("Tarantino.Core", ApplicationListingBodyView.Row1Fragment)).Return(
                    "template");
                tokenReplacer.Text = "template";
                tokenReplacer.Replace("INSTANCE_COUNT", "2");
                tokenReplacer.Replace("INSTANCE_ID", instance.Id.ToString());
                tokenReplacer.Replace("MAINTANANCE_HOST_HEADER", instance.MaintenanceHostHeader);
                tokenReplacer.Replace("MAINTANANCE_STATUS", instance.DownForMaintenance ? "Offline" : "Online");
                tokenReplacer.Replace("MACHINE_NAME", instance.MachineName);
                tokenReplacer.Replace("LOAD_BALANCE_STATUS", instance.AvailableForLoadBalancing ? "Online" : "Offline");
                tokenReplacer.Replace("NEW_LOAD_BALANCE_STATUS", (!instance.AvailableForLoadBalancing).ToString());
                tokenReplacer.Replace("VERSION", instance.Version);
                tokenReplacer.Replace("HOST_HEADER", instance.UniqueHostHeader);
                Expect.Call(tokenReplacer.Text).Return("html");
            }

            using (mocks.Playback())
            {
                ApplicationListingRowView view = new ApplicationListingRowView(fileLocator, tokenReplacer);

                string html = view.BuildFirstRowHtml(instance, 2);

                Assert.That(html, Is.EqualTo("html"));
            }
            mocks.VerifyAll();
        }
Beispiel #18
0
        public void Correctly_renders_page_view()
        {
            string cssText = "css stuff";

            MockRepository       mocks       = new MockRepository();
            IResourceFileLocator fileLocator = mocks.CreateMock <IResourceFileLocator>();
            ITokenReplacer       replacer    = mocks.CreateMock <ITokenReplacer>();
            IMenuView            menuView    = mocks.CreateMock <IMenuView>();

            using (mocks.Record())
            {
                string htmlTemplate = "||CSS|| ||MENU|| ||BODY||";
                Expect.Call(fileLocator.ReadTextFile("Tarantino.Core", PageView.PageTemplate)).Return(htmlTemplate);

                replacer.Text = htmlTemplate;

                Expect.Call(fileLocator.ReadTextFile("Tarantino.Core", PageView.StylesheetTemplate)).Return(cssText);

                replacer.Replace("CSS", cssText);

                Expect.Call(menuView.BuildHtml()).Return("menu stuff");
                replacer.Replace("MENU", "menu stuff");

                replacer.Replace("BODY", "body stuff");

                Expect.Call(replacer.Text).Return("page content");
            }

            using (mocks.Playback())
            {
                IPageView pageView = new PageView(fileLocator, menuView, replacer);
                string    html     = pageView.BuildHtml("body stuff");

                Assert.That(html, Is.EqualTo("page content"));
            }
        }
Beispiel #19
0
        public void CorrectlyInitializesSchema()
        {
            string assembly = Tarantino.Core.DatabaseManager.Services.Impl.SqlDatabaseManager.SQL_FILE_ASSEMBLY;
            string sqlFile  = string.Format(Tarantino.Core.DatabaseManager.Services.Impl.SqlDatabaseManager.SQL_FILE_TEMPLATE, "CreateSchema");

            ConnectionSettings settings =
                new ConnectionSettings(String.Empty, String.Empty, false, String.Empty, String.Empty);
            string sqlScript = "SQL script...";

            MockRepository       mocks         = new MockRepository();
            IResourceFileLocator fileLocator   = mocks.CreateMock <IResourceFileLocator>();
            IQueryExecutor       queryExecutor = mocks.CreateMock <IQueryExecutor>();

            Expect.Call(fileLocator.ReadTextFile(assembly, sqlFile)).Return(sqlScript);
            queryExecutor.ExecuteNonQuery(settings, sqlScript, true);

            mocks.ReplayAll();

            ISchemaInitializer versioner = new SchemaInitializer(fileLocator, queryExecutor);

            versioner.EnsureSchemaCreated(settings);

            mocks.VerifyAll();
        }
Beispiel #20
0
 public MenuView(IResourceFileLocator resourceFileLocator, ITokenReplacer replacer)
 {
     _resourceFileLocator = resourceFileLocator;
     _replacer            = replacer;
 }
 public DatabaseConnectionDropper(IResourceFileLocator fileLocator, ITokenReplacer replacer, IQueryExecutor executor)
 {
     _fileLocator = fileLocator;
     _replacer    = replacer;
     _executor    = executor;
 }
Beispiel #22
0
		public MenuView(IResourceFileLocator resourceFileLocator, ITokenReplacer replacer)
		{
			_resourceFileLocator = resourceFileLocator;
			_replacer = replacer;
		}
Beispiel #23
0
 public DatabaseVersioner(IResourceFileLocator fileLocator, IQueryExecutor executor)
 {
     _fileLocator = fileLocator;
     _executor    = executor;
 }
Beispiel #24
0
		public PageView(IResourceFileLocator fileLocator, IMenuView menuView, ITokenReplacer replacer)
		{
			_fileLocator = fileLocator;
			_menuView = menuView;
			_replacer = replacer;
		}
Beispiel #25
0
 public PageView(IResourceFileLocator fileLocator, IMenuView menuView, ITokenReplacer replacer)
 {
     _fileLocator = fileLocator;
     _menuView    = menuView;
     _replacer    = replacer;
 }
		public DatabaseConnectionDropper(IResourceFileLocator fileLocator, ITokenReplacer replacer, IQueryExecutor executor)
		{
			_fileLocator = fileLocator;
			_replacer = replacer;
			_executor = executor;
		}
Beispiel #27
0
 public DataFileReader(IResourceFileLocator resourceFileLocator)
 {
     _resourceFileLocator = resourceFileLocator;
 }
Beispiel #28
0
		public DatabaseVersioner(IResourceFileLocator fileLocator, IQueryExecutor executor)
		{
			_fileLocator = fileLocator;
			_executor = executor;
		}
Beispiel #29
0
 public SchemaInitializer(IResourceFileLocator locator, IQueryExecutor executor)
 {
     _locator  = locator;
     _executor = executor;
 }
		public SchemaInitializer(IResourceFileLocator locator, IQueryExecutor executor)
		{
			_locator = locator;
			_executor = executor;
		}
Beispiel #31
0
 public ExcelImporter(IResourceFileLocator fileLocator, IQueryExecutor queryExecutor, ITokenReplacer tokenReplacer)
 {
     _fileLocator   = fileLocator;
     _queryExecutor = queryExecutor;
     _tokenReplacer = tokenReplacer;
 }
 public ApplicationListingRowView(IResourceFileLocator fileLocator, ITokenReplacer tokenReplacer)
 {
     this.fileLocator   = fileLocator;
     this.tokenReplacer = tokenReplacer;
 }
Beispiel #33
0
		public ExcelImporter(IResourceFileLocator fileLocator, IQueryExecutor queryExecutor, ITokenReplacer tokenReplacer)
		{
			_fileLocator = fileLocator;
			_queryExecutor = queryExecutor;
			_tokenReplacer = tokenReplacer;
		}
 public ApplicationListingRowView(IResourceFileLocator fileLocator, ITokenReplacer tokenReplacer)
 {
     this.fileLocator = fileLocator;
     this.tokenReplacer = tokenReplacer;
 }