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(); }
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 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 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(); }
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(); }
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")); } }
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(); }
public MenuView(IResourceFileLocator resourceFileLocator, ITokenReplacer replacer) { _resourceFileLocator = resourceFileLocator; _replacer = replacer; }
public DatabaseConnectionDropper(IResourceFileLocator fileLocator, ITokenReplacer replacer, IQueryExecutor executor) { _fileLocator = fileLocator; _replacer = replacer; _executor = executor; }
public DatabaseVersioner(IResourceFileLocator fileLocator, IQueryExecutor executor) { _fileLocator = fileLocator; _executor = executor; }
public PageView(IResourceFileLocator fileLocator, IMenuView menuView, ITokenReplacer replacer) { _fileLocator = fileLocator; _menuView = menuView; _replacer = replacer; }
public DataFileReader(IResourceFileLocator resourceFileLocator) { _resourceFileLocator = resourceFileLocator; }
public SchemaInitializer(IResourceFileLocator locator, IQueryExecutor executor) { _locator = locator; _executor = executor; }
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; }