コード例 #1
0
        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.");
        }
コード例 #2
0
        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.");
        }