コード例 #1
0
        public void RemoveEndingNumber_Removes2DigitNumber_Test()
        {
            var x = "Hello dudes";
            var y = x + " 99";

            Assert.AreEqual(x, WebAppTests.RemoveEndingNumber(y));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: TestAMWebApp.cs プロジェクト: orf53975/hadoop.net
        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);
        }
コード例 #4
0
ファイル: TestNodesPage.cs プロジェクト: orf53975/hadoop.net
        public virtual void SetUp()
        {
            RMContext mockRMContext = TestRMWebApp.MockRMContext(3, numberOfRacks, numberOfNodesPerRack
                                                                 , 8 * TestRMWebApp.GiB);

            injector = WebAppTests.CreateMockInjector <RMContext>(mockRMContext, new _Module_63
                                                                      (mockRMContext));
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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");
        }
コード例 #8
0
        /// <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));
        }
コード例 #9
0
        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"));
        }
コード例 #10
0
ファイル: TestAMWebApp.cs プロジェクト: orf53975/hadoop.net
        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));
        }
コード例 #11
0
ファイル: TestNodesPage.cs プロジェクト: orf53975/hadoop.net
        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");
        }
コード例 #12
0
ファイル: TestNodesPage.cs プロジェクト: orf53975/hadoop.net
        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");
        }
コード例 #13
0
ファイル: TestAHSWebApp.cs プロジェクト: orf53975/hadoop.net
        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"));
        }
コード例 #14
0
        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();
        }
コード例 #15
0
        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);
        }
コード例 #16
0
        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);
        }
コード例 #17
0
ファイル: TestAMWebApp.cs プロジェクト: orf53975/hadoop.net
        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);
        }
コード例 #18
0
ファイル: TestAHSWebApp.cs プロジェクト: orf53975/hadoop.net
        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);
        }
コード例 #19
0
ファイル: TestAHSWebApp.cs プロジェクト: orf53975/hadoop.net
        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);
        }
コード例 #20
0
        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"
                                                    );
        }
コード例 #21
0
        /// <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));
        }
コード例 #22
0
        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);
        }
コード例 #23
0
        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");
        }
コード例 #24
0
ファイル: TestAHSWebApp.cs プロジェクト: orf53975/hadoop.net
        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);
        }
コード例 #25
0
ファイル: TestAMWebApp.cs プロジェクト: orf53975/hadoop.net
        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);
        }
コード例 #26
0
ファイル: TestAMWebApp.cs プロジェクト: orf53975/hadoop.net
        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);
        }
コード例 #27
0
        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);
        }
コード例 #28
0
        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);
        }
コード例 #29
0
        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);
        }
コード例 #30
0
        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");
        }