public void ShouldGenerateFarmViewIfNoServerSpecified() { // Setup cruiseRequestWrapperMock.ExpectAndReturn("ServerName", ""); pluginLinkCalculatorMock.ExpectAndReturn("GetFarmPluginLinks", links); farmServiceMock.ExpectAndReturn("GetServerSpecifiers", serverSpecifiers); linkListFactoryMock.ExpectAndReturn("CreateServerLinkList", serverLinks, serverSpecifiers, "ViewServerReport"); ProjectStatus ps = new ProjectStatus("", "", null, 0, 0, null, DateTime.Now, null, null, DateTime.Now, null, "", 0, new List<ParameterBase>()); ProjectStatusOnServer[] psosa = new ProjectStatusOnServer[] { new ProjectStatusOnServer(ps, serverSpecifiers[0]) }; ProjectStatusListAndExceptions pslae = new ProjectStatusListAndExceptions(psosa, new CruiseServerException[0]); farmServiceMock.ExpectAndReturn("GetProjectStatusListAndCaptureExceptions", pslae, serverSpecifiers[0], (string)null); velocityContext["links"] = links; velocityContext["serverlinks"] = serverLinks; velocityContext["showCategories"] = false; velocityContext["categorylinks"] = null; CruiseControl.WebDashboard.Dashboard.DefaultLinkFactory x = new DefaultLinkFactory(new DefaultUrlBuilder(),null,null); IAbsoluteLink farmLink = x.CreateFarmLink("Dashboard", FarmReportFarmPlugin.ACTION_NAME); linkFactoryMock.ExpectAndReturn("CreateFarmLink", farmLink, "Dashboard", FarmReportFarmPlugin.ACTION_NAME); velocityContext["farmLink"] = farmLink; System.Diagnostics.Debug.WriteLine("starting"); velocityViewGeneratorMock.ExpectAndReturn("GenerateView", velocityResponse, @"FarmSideBar.vm", new HashtableConstraint(velocityContext)); // Execute HtmlFragmentResponse returnedResponse = sideBarViewBuilder.Execute(cruiseRequestWrapperMock.MockInstance as ICruiseRequest); // Verify Assert.AreEqual(velocityResponse, returnedResponse); VerifyAll(); }
GetBuildGraph(int amountOfBuilds, Boolean buildsAreInSameDay) { CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultBuildSpecifier[] builds; CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultProjectSpecifier ProjectSpecifier; CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultServerSpecifier ServerSpecifier; CruiseControl.WebDashboard.Dashboard.DefaultLinkFactory LinkFactory; CruiseControl.WebDashboard.Dashboard.DefaultBuildNameFormatter BuildNameFormatter; CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultUrlBuilder UrlBuilder; CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultCruiseUrlBuilder CruiseUrlBuilder; CruiseControl.Core.Project project; project = new CruiseControl.Core.Project(); project.Name = "TestProject"; ServerSpecifier = new CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultServerSpecifier("local"); ProjectSpecifier = new CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultProjectSpecifier(ServerSpecifier,project.Name); builds = new CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultBuildSpecifier[amountOfBuilds]; for(int i=0; i < amountOfBuilds; i++) { if (buildsAreInSameDay) builds[i] = new CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultBuildSpecifier( ProjectSpecifier , string.Format(System.Globalization.CultureInfo.CurrentCulture,"log20050801015223Lbuild.0.0.0.{0}.xml", i) ); else builds[i] = new CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultBuildSpecifier( ProjectSpecifier , string.Format(System.Globalization.CultureInfo.CurrentCulture,"log200508{0}015223Lbuild.0.0.0.{1}.xml", (i+1).ToString("00"), i) ); } UrlBuilder = new CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultUrlBuilder(); CruiseUrlBuilder = new CruiseControl.Core.Reporting.Dashboard.Navigation.DefaultCruiseUrlBuilder(UrlBuilder); BuildNameFormatter = new CruiseControl.WebDashboard.Dashboard.DefaultBuildNameFormatter(); LinkFactory = new CruiseControl.WebDashboard.Dashboard.DefaultLinkFactory(UrlBuilder,CruiseUrlBuilder,BuildNameFormatter); return new CruiseControl.WebDashboard.Plugins.Statistics.BuildGraph(builds, LinkFactory, new Translations("en-US")); }