public void Use_ShouldCreateValidPipelineStepFromInstance() { // Arrange SampleMiddleware.Invoked = false; var resolver = Substitute.For <IDependencyResolver>(); var context = Substitute.For <IQuidjiboContext>(); var builder = new QuidjiboPipelineBuilder(); // Act builder.Use(new SampleMiddleware()); var pipeline = builder.Build(Substitute.For <ILoggerFactory>(), resolver, Substitute.For <IPayloadProtector>(), Substitute.For <IPayloadSerializer>(), Substitute.For <IWorkDispatcher>()); pipeline.StartAsync(context, CancellationToken.None); // Assert SampleMiddleware.Invoked.Should().BeTrue("middleware should be invoked by the pipeline."); }
public void Use_ShouldCreateValidPipelineStepFromDelegate() { // Arrange var delegateInvoked = false; var resolver = Substitute.For <IDependencyResolver>(); var context = Substitute.For <IQuidjiboContext>(); var builder = new QuidjiboPipelineBuilder(); // Act builder.Use((ctx, next) => { delegateInvoked = true; return(next()); }); var pipeline = builder.Build(Substitute.For <ILoggerFactory>(), resolver, Substitute.For <IPayloadProtector>(), Substitute.For <IPayloadSerializer>(), Substitute.For <IWorkDispatcher>()); pipeline.StartAsync(context, CancellationToken.None); // Assert delegateInvoked.Should().BeTrue("delegates should be invoked by the pipeline."); }