public void RemoveEndingNumber_Removes2DigitNumber_Test() { var x = "Hello dudes"; var y = x + " 99"; Assert.AreEqual(x, WebAppTests.RemoveEndingNumber(y)); }
public virtual void TestLogsViewSingle() { Log.Info("HsLogsPage with params for single log and data limits"); MockAppContext ctx = new MockAppContext(0, 1, 1, 1); IDictionary <string, string> @params = new Dictionary <string, string>(); Configuration conf = new YarnConfiguration(); conf.SetBoolean(YarnConfiguration.LogAggregationEnabled, true); @params["start"] = "-2048"; @params["end"] = "-1024"; @params[YarnWebParams.ContainerLogType] = "syslog"; @params[YarnWebParams.ContainerId] = MRApp.NewContainerId(1, 1, 333, 1).ToString( ); @params[YarnWebParams.NmNodename] = NodeId.NewInstance(MockJobs.NmHost, MockJobs. NmPort).ToString(); @params[YarnWebParams.EntityString] = "container_10_0001_01_000001"; @params[YarnWebParams.AppOwner] = "owner"; Injector injector = WebAppTests.TestPage <AppContext>(typeof(AggregatedLogsPage), ctx, @params, new _AbstractModule_201(conf)); PrintWriter spyPw = WebAppTests.GetPrintWriter(injector); Org.Mockito.Mockito.Verify(spyPw).Write("Logs not available for container_10_0001_01_000001." + " Aggregation may not be complete, " + "Check back later or try the nodemanager at " + MockJobs.NmHost + ":" + MockJobs.NmPort); }
public virtual void TestTasksView() { AppContext appContext = new MockAppContext(0, 1, 1, 1); IDictionary <string, string> @params = GetTaskParams(appContext); WebAppTests.TestPage <AppContext>(typeof(TasksPage), appContext, @params); }
public virtual void SetUp() { RMContext mockRMContext = TestRMWebApp.MockRMContext(3, numberOfRacks, numberOfNodesPerRack , 8 * TestRMWebApp.GiB); injector = WebAppTests.CreateMockInjector <RMContext>(mockRMContext, new _Module_63 (mockRMContext)); }
public virtual void TestAttemptsView() { Log.Info("HsAttemptsPage"); AppContext appContext = new MockAppContext(0, 1, 1, 1); IDictionary <string, string> @params = TestAMWebApp.GetTaskParams(appContext); WebAppTests.TestPage <AppContext>(typeof(HsAttemptsPage), appContext, @params); }
public virtual void TestJobCounterViewForKilledJob() { Log.Info("JobCounterViewForKilledJob"); AppContext appContext = new MockAppContext(0, 1, 1, 1, true); IDictionary <string, string> @params = TestAMWebApp.GetJobParams(appContext); WebAppTests.TestPage <AppContext>(typeof(HsCountersPage), appContext, @params); }
public virtual void TestUsual() { Injector injector = WebAppTests.TestBlock(typeof(TestHtmlBlock.TestBlock)); PrintWriter @out = injector.GetInstance <PrintWriter>(); Org.Mockito.Mockito.Verify(@out).Write(" id=\"testid\""); Org.Mockito.Mockito.Verify(@out).Write("test note"); }
/// <exception cref="System.Exception"/> public virtual void TestJavaScriptInfoBlock() { WebAppTests.TestBlock(typeof(TestInfoBlock.JavaScriptInfoBlock)); TestInfoBlock.pw.Flush(); string output = TestInfoBlock.sw.ToString(); NUnit.Framework.Assert.IsFalse(output.Contains("<script>")); NUnit.Framework.Assert.IsTrue(output.Contains(JavascriptEscaped)); }
public virtual void TestControllerIndex() { Injector injector = WebAppTests.CreateMockInjector <TestRMWebApp>(this, new _Module_82 ()); RmController c = injector.GetInstance <RmController>(); c.Index(); NUnit.Framework.Assert.AreEqual("Applications", c.Get(Params.Title, "unknown")); }
public virtual void TestAppControllerIndex() { AppContext ctx = new MockAppContext(0, 1, 1, 1); Injector injector = WebAppTests.CreateMockInjector <AppContext>(ctx); AppController controller = injector.GetInstance <AppController>(); controller.Index(); NUnit.Framework.Assert.AreEqual(ctx.GetApplicationID().ToString(), controller.Get (AMParams.AppId, string.Empty)); }
public virtual void TestNodesBlockRenderForNodeLabelFilterWithNonEmptyLabel() { NodesPage.NodesBlock nodesBlock = injector.GetInstance <NodesPage.NodesBlock>(); nodesBlock.Set("node.label", "x"); nodesBlock.Render(); PrintWriter writer = injector.GetInstance <PrintWriter>(); WebAppTests.FlushOutput(injector); Org.Mockito.Mockito.Verify(writer, Org.Mockito.Mockito.Times(numberOfRacks * numberOfActualTableHeaders + numberOfThInMetricsTable)).Write("<td"); }
public virtual void TestNodesBlockRender() { injector.GetInstance <NodesPage.NodesBlock>().Render(); PrintWriter writer = injector.GetInstance <PrintWriter>(); WebAppTests.FlushOutput(injector); Org.Mockito.Mockito.Verify(writer, Org.Mockito.Mockito.Times(numberOfActualTableHeaders + numberOfThInMetricsTable)).Write("<th"); Org.Mockito.Mockito.Verify(writer, Org.Mockito.Mockito.Times(numberOfRacks * numberOfNodesPerRack * numberOfActualTableHeaders + numberOfThInMetricsTable)).Write("<td"); }
public virtual void TestAppControllerIndex() { ApplicationHistoryManager ahManager = Org.Mockito.Mockito.Mock <ApplicationHistoryManager >(); Injector injector = WebAppTests.CreateMockInjector <ApplicationHistoryManager>(ahManager ); AHSController controller = injector.GetInstance <AHSController>(); controller.Index(); NUnit.Framework.Assert.AreEqual("Application History", controller.Get(Params.Title , "unknown")); }
public virtual void TestSubView() { Injector injector = WebAppTests.CreateMockInjector(this); injector.GetInstance <TestSubViews.MainView>().Render(); PrintWriter @out = injector.GetInstance <HttpServletResponse>().GetWriter(); @out.Flush(); Org.Mockito.Mockito.Verify(@out).Write("sub1 text"); Org.Mockito.Mockito.Verify(@out).Write("sub2 text"); Org.Mockito.Mockito.Verify(@out, Org.Mockito.Mockito.Times(16)).WriteLine(); }
public virtual void TestFairSchedulerWebAppPage() { IList <RMAppState> appStates = Arrays.AsList(RMAppState.New, RMAppState.NewSaving, RMAppState.Submitted); RMContext rmContext = MockRMContext(appStates); Injector injector = WebAppTests.CreateMockInjector <RMContext>(rmContext, new _Module_70 (rmContext)); FairSchedulerPage fsViewInstance = injector.GetInstance <FairSchedulerPage>(); fsViewInstance.Render(); WebAppTests.FlushOutput(injector); }
public virtual void TestAttemptsWithJobView() { Log.Info("HsAttemptsPage with data"); MockAppContext ctx = new MockAppContext(0, 1, 1, 1); JobId id = ctx.GetAllJobs().Keys.GetEnumerator().Next(); IDictionary <string, string> @params = new Dictionary <string, string>(); @params[AMParams.JobId] = id.ToString(); @params[AMParams.TaskType] = "m"; @params[AMParams.AttemptState] = "SUCCESSFUL"; WebAppTests.TestPage <AppContext>(typeof(HsAttemptsPage), ctx, @params); }
public virtual void TestTaskView() { AppContext appContext = new MockAppContext(0, 1, 1, 1); IDictionary <string, string> @params = GetTaskParams(appContext); Org.Apache.Hadoop.Mapreduce.V2.App.Webapp.App app = new Org.Apache.Hadoop.Mapreduce.V2.App.Webapp.App (appContext); app.SetJob(appContext.GetAllJobs().Values.GetEnumerator().Next()); app.SetTask(app.GetJob().GetTasks().Values.GetEnumerator().Next()); WebAppTests.TestPage <Org.Apache.Hadoop.Mapreduce.V2.App.Webapp.App>(typeof(TaskPage ), app, @params); }
public virtual void TestAppPage() { Injector injector = WebAppTests.CreateMockInjector <ApplicationBaseProtocol>(MockApplicationHistoryClientService (1, 5, 1)); AppPage appPageInstance = injector.GetInstance <AppPage>(); appPageInstance.Render(); WebAppTests.FlushOutput(injector); appPageInstance.Set(YarnWebParams.ApplicationId, ApplicationId.NewInstance(0, 1). ToString()); appPageInstance.Render(); WebAppTests.FlushOutput(injector); }
public virtual void TestContainerPage() { Injector injector = WebAppTests.CreateMockInjector <ApplicationBaseProtocol>(MockApplicationHistoryClientService (1, 1, 1)); ContainerPage containerPageInstance = injector.GetInstance <ContainerPage>(); containerPageInstance.Render(); WebAppTests.FlushOutput(injector); containerPageInstance.Set(YarnWebParams.ContainerId, ContainerId.NewContainerId(ApplicationAttemptId .NewInstance(ApplicationId.NewInstance(0, 1), 1), 1).ToString()); containerPageInstance.Render(); WebAppTests.FlushOutput(injector); }
public virtual void TestLogsView1() { Log.Info("HsLogsPage"); Injector injector = WebAppTests.TestPage <AppContext>(typeof(AggregatedLogsPage), new MockAppContext(0, 1, 1, 1)); PrintWriter spyPw = WebAppTests.GetPrintWriter(injector); Org.Mockito.Mockito.Verify(spyPw).Write("Cannot get container logs without a ContainerId" ); Org.Mockito.Mockito.Verify(spyPw).Write("Cannot get container logs without a NodeId" ); Org.Mockito.Mockito.Verify(spyPw).Write("Cannot get container logs without an app owner" ); }
/// <exception cref="System.Exception"/> public virtual void TestMultilineInfoBlock() { WebAppTests.TestBlock(typeof(TestInfoBlock.MultilineInfoBlock)); TestInfoBlock.pw.Flush(); string output = TestInfoBlock.sw.ToString().ReplaceAll(" +", " "); string expectedMultilineData1 = string.Format("<tr class=\"odd\">%n" + " <th>%n Multiple_line_value%n </th>%n" + " <td>%n This is one line.%n </td>%n"); string expectedMultilineData2 = string.Format("<tr class=\"even\">%n" + " <th>%n Multiple_line_value%n </th>%n <td>%n <div>%n" + " This is first line.%n </div>%n <div>%n" + " This is second line.%n </div>%n" ); NUnit.Framework.Assert.IsTrue(output.Contains(expectedMultilineData1) && output.Contains (expectedMultilineData2)); }
public virtual void TestView() { Injector injector = WebAppTests.CreateMockInjector <RMContext>(MockRMContext(15, 1 , 2, 8 * GiB), new _Module_98()); RmView rmViewInstance = injector.GetInstance <RmView>(); rmViewInstance.Set(YarnWebParams.AppState, YarnApplicationState.Running.ToString( )); rmViewInstance.Render(); WebAppTests.FlushOutput(injector); rmViewInstance.Set(YarnWebParams.AppState, StringHelper.Cjoin(YarnApplicationState .Accepted.ToString(), YarnApplicationState.Running.ToString())); rmViewInstance.Render(); WebAppTests.FlushOutput(injector); }
public virtual void TestUsual() { Injector injector = WebAppTests.TestPage(typeof(TestHtmlPage.TestView)); PrintWriter @out = injector.GetInstance <PrintWriter>(); // Verify the HTML page has correct meta tags in the header Org.Mockito.Mockito.Verify(@out).Write(" http-equiv=\"X-UA-Compatible\""); Org.Mockito.Mockito.Verify(@out).Write(" content=\"IE=8\""); Org.Mockito.Mockito.Verify(@out).Write(" http-equiv=\"Content-type\""); Org.Mockito.Mockito.Verify(@out).Write(string.Format(" content=\"%s\"", MimeType. Html)); Org.Mockito.Mockito.Verify(@out).Write("test"); Org.Mockito.Mockito.Verify(@out).Write(" id=\"testid\""); Org.Mockito.Mockito.Verify(@out).Write("test note"); }
public virtual void TestView() { Injector injector = WebAppTests.CreateMockInjector <ApplicationBaseProtocol>(MockApplicationHistoryClientService (5, 1, 1)); AHSView ahsViewInstance = injector.GetInstance <AHSView>(); ahsViewInstance.Render(); WebAppTests.FlushOutput(injector); ahsViewInstance.Set(YarnWebParams.AppState, YarnApplicationState.Failed.ToString( )); ahsViewInstance.Render(); WebAppTests.FlushOutput(injector); ahsViewInstance.Set(YarnWebParams.AppState, StringHelper.Cjoin(YarnApplicationState .Failed.ToString(), YarnApplicationState.Killed)); ahsViewInstance.Render(); WebAppTests.FlushOutput(injector); }
public virtual void TestSingleCounterView() { AppContext appContext = new MockAppContext(0, 1, 1, 1); Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job job = appContext.GetAllJobs().Values.GetEnumerator ().Next(); // add a failed task to the job without any counters Task failedTask = MockJobs.NewTask(job.GetID(), 2, 1, true); IDictionary <TaskId, Task> tasks = job.GetTasks(); tasks[failedTask.GetID()] = failedTask; IDictionary <string, string> @params = GetJobParams(appContext); @params[AMParams.CounterGroup] = "org.apache.hadoop.mapreduce.FileSystemCounter"; @params[AMParams.CounterName] = "HDFS_WRITE_OPS"; WebAppTests.TestPage <AppContext>(typeof(SingleCounterPage), appContext, @params); }
public virtual void TestSingleTaskCounterView() { AppContext appContext = new MockAppContext(0, 1, 1, 2); IDictionary <string, string> @params = GetTaskParams(appContext); @params[AMParams.CounterGroup] = "org.apache.hadoop.mapreduce.FileSystemCounter"; @params[AMParams.CounterName] = "HDFS_WRITE_OPS"; // remove counters from one task attempt // to test handling of missing counters TaskId taskID = MRApps.ToTaskID(@params[AMParams.TaskId]); Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job job = appContext.GetJob(taskID.GetJobId ()); Task task = job.GetTask(taskID); TaskAttempt attempt = task.GetAttempts().Values.GetEnumerator().Next(); attempt.GetReport().SetCounters(null); WebAppTests.TestPage <AppContext>(typeof(SingleCounterPage), appContext, @params); }
public virtual void TestLogsView2() { Log.Info("HsLogsPage with data"); MockAppContext ctx = new MockAppContext(0, 1, 1, 1); IDictionary <string, string> @params = new Dictionary <string, string>(); @params[YarnWebParams.ContainerId] = MRApp.NewContainerId(1, 1, 333, 1).ToString( ); @params[YarnWebParams.NmNodename] = NodeId.NewInstance(MockJobs.NmHost, MockJobs. NmPort).ToString(); @params[YarnWebParams.EntityString] = "container_10_0001_01_000001"; @params[YarnWebParams.AppOwner] = "owner"; Injector injector = WebAppTests.TestPage <AppContext>(typeof(AggregatedLogsPage), ctx, @params); PrintWriter spyPw = WebAppTests.GetPrintWriter(injector); Org.Mockito.Mockito.Verify(spyPw).Write("Aggregation is not enabled. Try the nodemanager at " + MockJobs.NmHost + ":" + MockJobs.NmPort); }
public virtual void TestNodesPage() { // 10 nodes. Two of each type. RMContext rmContext = MockRMContext(3, 2, 12, 8 * GiB); Injector injector = WebAppTests.CreateMockInjector <RMContext>(rmContext, new _Module_129 (rmContext)); // All nodes NodesPage instance = injector.GetInstance <NodesPage>(); instance.Render(); WebAppTests.FlushOutput(injector); // Unhealthy nodes instance.MoreParams()[YarnWebParams.NodeState] = NodeState.Unhealthy.ToString(); instance.Render(); WebAppTests.FlushOutput(injector); // Lost nodes instance.MoreParams()[YarnWebParams.NodeState] = NodeState.Lost.ToString(); instance.Render(); WebAppTests.FlushOutput(injector); }
public virtual void TestFairSchedulerWebAppPageInInconsistentState() { IList <RMAppState> appStates = Arrays.AsList(RMAppState.New, RMAppState.NewSaving, RMAppState.Submitted, RMAppState.Running, RMAppState.FinalSaving, RMAppState.Accepted , RMAppState.Finished); RMContext rmContext = MockRMContext(appStates); Injector injector = WebAppTests.CreateMockInjector <RMContext>(rmContext, new _Module_110 (rmContext)); FairSchedulerPage fsViewInstance = injector.GetInstance <FairSchedulerPage>(); try { fsViewInstance.Render(); } catch (Exception e) { NUnit.Framework.Assert.Fail("Failed to render FairSchedulerPage: " + StringUtils. StringifyException(e)); } WebAppTests.FlushOutput(injector); }
public virtual void TestLogsViewBadStartEnd() { Log.Info("HsLogsPage with bad start/end params"); MockAppContext ctx = new MockAppContext(0, 1, 1, 1); IDictionary <string, string> @params = new Dictionary <string, string>(); @params["start"] = "foo"; @params["end"] = "bar"; @params[YarnWebParams.ContainerId] = MRApp.NewContainerId(1, 1, 333, 1).ToString( ); @params[YarnWebParams.NmNodename] = NodeId.NewInstance(MockJobs.NmHost, MockJobs. NmPort).ToString(); @params[YarnWebParams.EntityString] = "container_10_0001_01_000001"; @params[YarnWebParams.AppOwner] = "owner"; Injector injector = WebAppTests.TestPage <AppContext>(typeof(AggregatedLogsPage), ctx, @params); PrintWriter spyPw = WebAppTests.GetPrintWriter(injector); Org.Mockito.Mockito.Verify(spyPw).Write("Invalid log start value: foo"); Org.Mockito.Mockito.Verify(spyPw).Write("Invalid log end value: bar"); }