Пример #1
0
        public void reporter_creates_and_fills_execution_reports()
        {
            // Arrange
            var task = new TaskDefinition(
                BasicTaskStep.Empty("Basic"),
                new PipelineTaskStep <int>(
                    "Pipeline1",
                    new[] { 1 },
                    new List <PipelineBlock <int> >()),
                new PipelineTaskStep <int>(
                    "Pipeline2",
                    new[] { 1 },
                    new List <PipelineBlock <int> >()));

            var loggerEvents   = TaskExecutionLogger.CreateEvents();
            var reporterEvents = TaskExecutionReporter.CreateEvents();

            // Act
            task.Execute(events: loggerEvents.Concat(reporterEvents).ToArray());

            // Assert
            var reports = task.GetExecutionReports();

            reports.Should().NotBeNull().And.NotBeEmpty();
            reports.Should().Contain(x => x.Name == "charts.html");
            reports.Should().Contain(x => x.Name == "Pipeline1_charts.html");
            reports.Should().Contain(x => x.Name == "Pipeline2_charts.html");
            reports.Should().OnlyContain(x => x.Content.StartsWith("<html>"));
        }
Пример #2
0
        public void task_fails___no_report()
        {
            // Arrange
            var task = new TaskDefinition(
                TaskStepBuilder.Build.Pipeline <int>(
                    "Pipeline")
                .WithInput(new[] { 1 })
                .WithBlock("Failing block", x => throw new Exception())
                .Build());

            var loggerEvents   = TaskExecutionLogger.CreateEvents();
            var reporterEvents = TaskExecutionReporter.CreateEvents();

            // Act
            task.Execute(events: loggerEvents.Concat(reporterEvents).ToArray());

            // Assert
            var reports = task.Extras.TryGet <IReadOnlyCollection <TaskExecutionReport> >(TaskExecutionReportingUtils.TaskExecutionReportsExtraKey);

            reports.Should().BeNull();
        }
Пример #3
0
        public void step_ignored___report_still_generated()
        {
            // Arrange
            var task = new TaskDefinition(
                BasicTaskStep.Empty("Basic"),
                new BasicTaskStep(
                    "Ignored",
                    () => { },
                    x => false));

            var loggerEvents   = TaskExecutionLogger.CreateEvents();
            var reporterEvents = TaskExecutionReporter.CreateEvents();

            // Act
            task.Execute(events: loggerEvents.Concat(reporterEvents).ToArray());

            // Assert
            var reports = task.GetExecutionReports();

            reports.Should().NotBeNull().And.NotBeEmpty();
        }