Ejemplo n.º 1
0
        public async Task Pipeline_Run_With_Initial_Failure_Returns_Failed_Status()
        {
            var pipelineNode = new PipelineNode <TestObjectA>();

            pipelineNode.AddChild(new FaultingTestNodeA());
            pipelineNode.AddChild(new SimpleTestNodeA1());

            var        testObject = new TestObjectA();
            NodeResult result     = await pipelineNode.ExecuteAsync(testObject);

            IEnumerable <Exception> exceptions = result.GetFailExceptions();

            exceptions.Should().NotBeNull();
            exceptions.Count().Should().Be(1);
        }
Ejemplo n.º 2
0
        public async Task Group_Run_With_Multiple_Failures_Returns_Failed_Statuses()
        {
            var pipelineNode = new GroupNode <TestObjectA>();

            var faultNode1 = new FaultingTestNodeA();
            var faultNode2 = new FaultingTestNodeA();

            pipelineNode.AddChild(faultNode1);
            pipelineNode.AddChild(faultNode2);

            var        testObject = new TestObjectA();
            NodeResult result     = await pipelineNode.ExecuteAsync(testObject);

            IEnumerable <Exception> exceptions = result.GetFailExceptions();

            exceptions.Should().NotBeNull();
            exceptions.Count().Should().BeGreaterThan(0);
        }
Ejemplo n.º 3
0
        public async Task Nested_Exception_Is_Included_In_Collection()
        {
            var pipelineNode = new PipelineNode <TestObjectA>();

            var pipelineNode2 = new PipelineNode <TestObjectA>();

            pipelineNode.AddChild(pipelineNode2);

            pipelineNode2.AddChild(new FaultingTestNodeA());

            var        testObject = new TestObjectA();
            NodeResult result     = await pipelineNode.ExecuteAsync(testObject);

            IEnumerable <Exception> exceptions = result.GetFailExceptions();

            exceptions.Should().NotBeNull();
            exceptions.Count().Should().Be(1);
        }
Ejemplo n.º 4
0
        public async Task Pipeline_With_ContinueOnError_Returns_Exceptions_On_All_Failures()
        {
            var pipelineNode = new PipelineNode <TestObjectA>
            {
                LocalOptions = new ExecutionOptions {
                    ContinueOnFailure = true
                }
            };

            pipelineNode.AddChild(new FaultingTestNodeA());
            pipelineNode.AddChild(new FaultingTestNodeA());

            var        testObject = new TestObjectA();
            NodeResult result     = await pipelineNode.ExecuteAsync(testObject);

            IEnumerable <Exception> exceptions = result.GetFailExceptions();

            exceptions.Should().NotBeNull();
            exceptions.Count().Should().Be(2);
        }
        public async void Pipeline_With_ContinueOnError_Excludes_Initial_Exception()
        {
            var pipelineNode = new PipelineNode <TestObjectA>
            {
                LocalOptions = new ExecutionOptions {
                    ContinueOnFailure = true
                }
            };

            pipelineNode.AddChild(new FaultingTestNodeA());
            pipelineNode.AddChild(new SimpleTestNodeA1());

            var        testObject = new TestObjectA();
            NodeResult result     = await pipelineNode.ExecuteAsync(testObject);

            IEnumerable <Exception> exceptions = result.GetFailExceptions();

            exceptions.ShouldNotBeNull();
            exceptions.Count().ShouldEqual(0);
        }