public void CanBeBuilt() { // Arrange var pipeLineType = 100; // Act var pipeline = new PipelineFactory.BuildPipeline <TestMiddlewareBase, TestPipelineContext>(IoCProvider) .Build(pipeLineType); // Assert Assert.NotNull(pipeline); }
public void EmptyCanBeExecuted() { // Arrange var pipeLineType = 505; var pipeline = new PipelineFactory.BuildPipeline <TestMiddlewareBase, TestPipelineContext>(IoCProvider) .Build(pipeLineType); var context = new TestPipelineContext(); // Act pipeline.Execute(context); // Assert Assert.NotNull(pipeline); }
public void MakesExecutionMetaDataForEachMiddleware() { // Arrange var pipeLineType = 100; var pipeline = new PipelineFactory.BuildPipeline <TestMiddlewareBase, TestPipelineContext>(IoCProvider) .Build(pipeLineType); var context = new TestPipelineContext(); // Act pipeline.Execute(context); var count = context.MetaData.ExecutionReports.Count(); // Assert Assert.AreEqual(2, count); }
public void ContextIsPassedToMiddleware() { // Arrange var pipeLineType = 100; var pipeline = new PipelineFactory.BuildPipeline <TestMiddlewareBase, TestPipelineContext>(IoCProvider) .Build(pipeLineType); var context = new TestPipelineContext(); // Act pipeline.Execute(context); // Assert Assert.AreEqual(context, TestMiddlewareOne.ExecutedContext); Assert.AreEqual(context, TestMiddlewareTwo.ExecutedContext); }
public void ExceptionsStopExecution() { // Arrange var pipeLineType = 100; var pipeline = new PipelineFactory.BuildPipeline <TestMiddlewareBase, TestPipelineContext>(IoCProvider) .Build(pipeLineType); var context = new TestPipelineContext(); TestMiddlewareOne.ThrowException = true; // Act pipeline.Execute(context); var count = context.MetaData.ExecutionReports.Count(); // Assert Assert.AreEqual(1, count); }
public void ExceptionsAreCaught() { // Arrange var pipeLineType = 100; var pipeline = new PipelineFactory.BuildPipeline <TestMiddlewareBase, TestPipelineContext>(IoCProvider) .Build(pipeLineType); var context = new TestPipelineContext(); TestMiddlewareOne.ThrowException = true; // Act pipeline.Execute(context); var executionReport = context.MetaData.ExecutionReports.First(); // Assert Assert.IsTrue(executionReport.ExceptionThrown as InvalidOperationException != null); }
public void ExecutionMetaDataIsPopulated() { // Arrange var pipeLineType = 100; var pipeline = new PipelineFactory.BuildPipeline <TestMiddlewareBase, TestPipelineContext>(IoCProvider) .Build(pipeLineType); var context = new TestPipelineContext(); var expected = new TestMiddlewareOne(); // Act pipeline.Execute(context); var executionReport = context.MetaData.ExecutionReports.First(); // Assert Assert.AreEqual(executionReport.ExecutionOrder, expected.ExecutionOrder, "ExecutionOrder"); Assert.AreEqual(executionReport.TargetPipelineType, expected.TargetPipelineType, "TargetPipelineType"); Assert.AreEqual(executionReport.ExceptionThrown, null, "ExceptionThrown"); Assert.True(executionReport.DurationInMs >= 100, "DurationInMs"); }