public virtual void TestNoLogs()
        {
            FileUtil.FullyDelete(new FilePath("target/logs"));
            Configuration configuration = GetConfiguration();
            FilePath      f             = new FilePath("target/logs/logs/application_0_0001/container_0_0001_01_000001"
                                                       );

            if (!f.Exists())
            {
                NUnit.Framework.Assert.IsTrue(f.Mkdirs());
            }
            WriteLog(configuration, "admin");
            AggregatedLogsBlockForTest aggregatedBlock = GetAggregatedLogsBlockForTest(configuration
                                                                                       , "admin", "container_0_0001_01_000001");
            ByteArrayOutputStream data        = new ByteArrayOutputStream();
            PrintWriter           printWriter = new PrintWriter(data);
            HtmlBlock             html        = new HtmlBlockForTest();

            HtmlBlock.Block block = new BlockForTest(html, printWriter, 10, false);
            aggregatedBlock.Render(block);
            block.GetWriter().Flush();
            string @out = data.ToString();

            NUnit.Framework.Assert.IsTrue(@out.Contains("No logs available for container container_0_0001_01_000001"
                                                        ));
        }
Exemple #2
0
        public virtual void TestConfigurationBlock()
        {
            AppContext ctx = Org.Mockito.Mockito.Mock <AppContext>();

            Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job job = Org.Mockito.Mockito.Mock <Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job
                                                                                       >();
            Path          path          = new Path("conf");
            Configuration configuration = new Configuration();

            configuration.Set("Key for test", "Value for test");
            Org.Mockito.Mockito.When(job.GetConfFile()).ThenReturn(path);
            Org.Mockito.Mockito.When(job.LoadConfFile()).ThenReturn(configuration);
            Org.Mockito.Mockito.When(ctx.GetJob(Any <JobId>())).ThenReturn(job);
            TestBlocks.ConfBlockForTest configurationBlock = new TestBlocks.ConfBlockForTest(
                this, ctx);
            PrintWriter pWriter = new PrintWriter(data);

            HtmlBlock.Block html = new BlockForTest(new TestBlocks.HtmlBlockForTest(this), pWriter
                                                    , 0, false);
            configurationBlock.Render(html);
            pWriter.Flush();
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("Sorry, can't do anything without a JobID"
                                                                   ));
            configurationBlock.AddParameter(AMParams.JobId, "job_01_01");
            data.Reset();
            configurationBlock.Render(html);
            pWriter.Flush();
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("Key for test"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("Value for test"));
        }
Exemple #3
0
        public virtual void TestHsTasksBlock()
        {
            Task task = GetTask(0);
            IDictionary <TaskId, Task> tasks = new Dictionary <TaskId, Task>();

            tasks[task.GetID()] = task;
            AppContext ctx = Org.Mockito.Mockito.Mock <AppContext>();
            AppForTest app = new AppForTest(ctx);

            Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job job = Org.Mockito.Mockito.Mock <Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job
                                                                                       >();
            Org.Mockito.Mockito.When(job.GetTasks()).ThenReturn(tasks);
            app.SetJob(job);
            TestBlocks.HsTasksBlockForTest block = new TestBlocks.HsTasksBlockForTest(this, app
                                                                                      );
            block.AddParameter(AMParams.TaskType, "r");
            PrintWriter pWriter = new PrintWriter(data);

            HtmlBlock.Block html = new BlockForTest(new TestBlocks.HtmlBlockForTest(this), pWriter
                                                    , 0, false);
            block.Render(html);
            pWriter.Flush();
            // should be printed information about task
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("task_0_0001_r_000000"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("SUCCEEDED"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("100001"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("100011"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains(string.Empty));
        }
Exemple #4
0
        public virtual void TestTasksBlock()
        {
            ApplicationId appId = ApplicationIdPBImpl.NewInstance(0, 1);
            JobId         jobId = new JobIdPBImpl();

            jobId.SetId(0);
            jobId.SetAppId(appId);
            TaskId taskId = new TaskIdPBImpl();

            taskId.SetId(0);
            taskId.SetTaskType(TaskType.Map);
            taskId.SetJobId(jobId);
            Task task = Org.Mockito.Mockito.Mock <Task>();

            Org.Mockito.Mockito.When(task.GetID()).ThenReturn(taskId);
            TaskReport report = Org.Mockito.Mockito.Mock <TaskReport>();

            Org.Mockito.Mockito.When(report.GetProgress()).ThenReturn(0.7f);
            Org.Mockito.Mockito.When(report.GetTaskState()).ThenReturn(TaskState.Succeeded);
            Org.Mockito.Mockito.When(report.GetStartTime()).ThenReturn(100001L);
            Org.Mockito.Mockito.When(report.GetFinishTime()).ThenReturn(100011L);
            Org.Mockito.Mockito.When(report.GetStatus()).ThenReturn("Dummy Status \n*");
            Org.Mockito.Mockito.When(task.GetReport()).ThenReturn(report);
            Org.Mockito.Mockito.When(task.GetType()).ThenReturn(TaskType.Map);
            IDictionary <TaskId, Task> tasks = new Dictionary <TaskId, Task>();

            tasks[taskId] = task;
            AppContext ctx = Org.Mockito.Mockito.Mock <AppContext>();

            Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job job = Org.Mockito.Mockito.Mock <Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job
                                                                                       >();
            Org.Mockito.Mockito.When(job.GetTasks()).ThenReturn(tasks);
            Org.Apache.Hadoop.Mapreduce.V2.App.Webapp.App app = new Org.Apache.Hadoop.Mapreduce.V2.App.Webapp.App
                                                                    (ctx);
            app.SetJob(job);
            TasksBlockForTest taskBlock = new TasksBlockForTest(app);

            taskBlock.AddParameter(AMParams.TaskType, "m");
            PrintWriter pWriter = new PrintWriter(data);

            HtmlBlock.Block html = new BlockForTest(new TestBlocks.HtmlBlockForTest(this), pWriter
                                                    , 0, false);
            taskBlock.Render(html);
            pWriter.Flush();
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("task_0_0001_m_000000"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("70.00"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("SUCCEEDED"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("100001"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("100011"));
            NUnit.Framework.Assert.IsFalse(data.ToString().Contains("Dummy Status \n*"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("Dummy Status \\n*"));
        }
        public virtual void TestBadLogs()
        {
            FileUtil.FullyDelete(new FilePath("target/logs"));
            Configuration configuration = GetConfiguration();

            WriteLogs("target/logs/logs/application_0_0001/container_0_0001_01_000001");
            WriteLog(configuration, "owner");
            AggregatedLogsBlockForTest aggregatedBlock = GetAggregatedLogsBlockForTest(configuration
                                                                                       , "admin", "container_0_0001_01_000001");
            ByteArrayOutputStream data        = new ByteArrayOutputStream();
            PrintWriter           printWriter = new PrintWriter(data);
            HtmlBlock             html        = new HtmlBlockForTest();

            HtmlBlock.Block block = new BlockForTest(html, printWriter, 10, false);
            aggregatedBlock.Render(block);
            block.GetWriter().Flush();
            string @out = data.ToString();

            NUnit.Framework.Assert.IsTrue(@out.Contains("Logs not available for entity. Aggregation may not be complete, Check back later or try the nodemanager at localhost:1234"
                                                        ));
        }
        public virtual void TestAccessDenied()
        {
            FileUtil.FullyDelete(new FilePath("target/logs"));
            Configuration configuration = GetConfiguration();

            WriteLogs("target/logs/logs/application_0_0001/container_0_0001_01_000001");
            WriteLog(configuration, "owner");
            AggregatedLogsBlockForTest aggregatedBlock = GetAggregatedLogsBlockForTest(configuration
                                                                                       , "owner", "container_0_0001_01_000001");
            ByteArrayOutputStream data        = new ByteArrayOutputStream();
            PrintWriter           printWriter = new PrintWriter(data);
            HtmlBlock             html        = new HtmlBlockForTest();

            HtmlBlock.Block block = new BlockForTest(html, printWriter, 10, false);
            aggregatedBlock.Render(block);
            block.GetWriter().Flush();
            string @out = data.ToString();

            NUnit.Framework.Assert.IsTrue(@out.Contains("User [owner] is not authorized to view the logs for entity"
                                                        ));
        }
Exemple #7
0
        public virtual void TestHsJobsBlock()
        {
            AppContext ctx = Org.Mockito.Mockito.Mock <AppContext>();
            IDictionary <JobId, Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job> jobs = new Dictionary
                                                                                   <JobId, Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job>();

            Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job job = GetJob();
            jobs[job.GetID()] = job;
            Org.Mockito.Mockito.When(ctx.GetAllJobs()).ThenReturn(jobs);
            HsJobsBlock block   = new TestBlocks.HsJobsBlockForTest(this, ctx);
            PrintWriter pWriter = new PrintWriter(data);

            HtmlBlock.Block html = new BlockForTest(new TestBlocks.HtmlBlockForTest(this), pWriter
                                                    , 0, false);
            block.Render(html);
            pWriter.Flush();
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("JobName"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("UserName"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("QueueName"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("SUCCEEDED"));
        }
Exemple #8
0
        public virtual void TestAttemptsBlock()
        {
            AppContext ctx  = Org.Mockito.Mockito.Mock <AppContext>();
            AppForTest app  = new AppForTest(ctx);
            Task       task = GetTask(0);
            IDictionary <TaskAttemptId, TaskAttempt> attempts = new Dictionary <TaskAttemptId,
                                                                                TaskAttempt>();
            TaskAttempt   attempt = Org.Mockito.Mockito.Mock <TaskAttempt>();
            TaskAttemptId taId    = new TaskAttemptIdPBImpl();

            taId.SetId(0);
            taId.SetTaskId(task.GetID());
            Org.Mockito.Mockito.When(attempt.GetID()).ThenReturn(taId);
            Org.Mockito.Mockito.When(attempt.GetNodeHttpAddress()).ThenReturn("Node address");
            ApplicationId        appId        = ApplicationIdPBImpl.NewInstance(0, 5);
            ApplicationAttemptId appAttemptId = ApplicationAttemptIdPBImpl.NewInstance(appId,
                                                                                       1);
            ContainerId containerId = ContainerIdPBImpl.NewContainerId(appAttemptId, 1);

            Org.Mockito.Mockito.When(attempt.GetAssignedContainerID()).ThenReturn(containerId
                                                                                  );
            Org.Mockito.Mockito.When(attempt.GetAssignedContainerMgrAddress()).ThenReturn("assignedContainerMgrAddress"
                                                                                          );
            Org.Mockito.Mockito.When(attempt.GetNodeRackName()).ThenReturn("nodeRackName");
            long             taStartTime         = 100002L;
            long             taFinishTime        = 100012L;
            long             taShuffleFinishTime = 100010L;
            long             taSortFinishTime    = 100011L;
            TaskAttemptState taState             = TaskAttemptState.Succeeded;

            Org.Mockito.Mockito.When(attempt.GetLaunchTime()).ThenReturn(taStartTime);
            Org.Mockito.Mockito.When(attempt.GetFinishTime()).ThenReturn(taFinishTime);
            Org.Mockito.Mockito.When(attempt.GetShuffleFinishTime()).ThenReturn(taShuffleFinishTime
                                                                                );
            Org.Mockito.Mockito.When(attempt.GetSortFinishTime()).ThenReturn(taSortFinishTime
                                                                             );
            Org.Mockito.Mockito.When(attempt.GetState()).ThenReturn(taState);
            TaskAttemptReport taReport = Org.Mockito.Mockito.Mock <TaskAttemptReport>();

            Org.Mockito.Mockito.When(taReport.GetStartTime()).ThenReturn(taStartTime);
            Org.Mockito.Mockito.When(taReport.GetFinishTime()).ThenReturn(taFinishTime);
            Org.Mockito.Mockito.When(taReport.GetShuffleFinishTime()).ThenReturn(taShuffleFinishTime
                                                                                 );
            Org.Mockito.Mockito.When(taReport.GetSortFinishTime()).ThenReturn(taSortFinishTime
                                                                              );
            Org.Mockito.Mockito.When(taReport.GetContainerId()).ThenReturn(containerId);
            Org.Mockito.Mockito.When(taReport.GetProgress()).ThenReturn(1.0f);
            Org.Mockito.Mockito.When(taReport.GetStateString()).ThenReturn("Processed 128/128 records <p> \n"
                                                                           );
            Org.Mockito.Mockito.When(taReport.GetTaskAttemptState()).ThenReturn(taState);
            Org.Mockito.Mockito.When(taReport.GetDiagnosticInfo()).ThenReturn(string.Empty);
            Org.Mockito.Mockito.When(attempt.GetReport()).ThenReturn(taReport);
            attempts[taId] = attempt;
            Org.Mockito.Mockito.When(task.GetAttempts()).ThenReturn(attempts);
            app.SetTask(task);
            Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job job = Org.Mockito.Mockito.Mock <Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job
                                                                                       >();
            Org.Mockito.Mockito.When(job.GetUserName()).ThenReturn("User");
            app.SetJob(job);
            TestBlocks.AttemptsBlockForTest block = new TestBlocks.AttemptsBlockForTest(this,
                                                                                        app);
            block.AddParameter(AMParams.TaskType, "r");
            PrintWriter pWriter = new PrintWriter(data);

            HtmlBlock.Block html = new BlockForTest(new TestBlocks.HtmlBlockForTest(this), pWriter
                                                    , 0, false);
            block.Render(html);
            pWriter.Flush();
            // should be printed information about attempts
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("0 attempt_0_0001_r_000000_0"
                                                                   ));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("SUCCEEDED"));
            NUnit.Framework.Assert.IsFalse(data.ToString().Contains("Processed 128/128 records <p> \n"
                                                                    ));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("Processed 128\\/128 records &lt;p&gt; \\n"
                                                                   ));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("_0005_01_000001:attempt_0_0001_r_000000_0:User:"******"100002"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("100010"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("100011"));
            NUnit.Framework.Assert.IsTrue(data.ToString().Contains("100012"));
        }