Esempio n. 1
0
        public async Task ShouldUseRequestPipelineHandlers()
        {
            var container        = new Container();
            var handler          = new RequestHandler();
            var pipelineHandler1 = new RequestPipelineHandler();
            var pipelineHandler2 = new RequestPipelineHandler();

            container.Configure(x =>
            {
                x.Add <IRequestHandler <Request, Response> >().Instance(handler);
                x.Add <IRequestPipelineHandler <Request, Response> >().Factory(() => pipelineHandler1);
                x.Add <IRequestPipelineHandler <Request, Response> >().Factory(() => pipelineHandler2);
            });

            var mediator = new Mediator(container.GetService, new Configuration {
                RequestPipelineEnabled = true
            });
            var request = new Request();

            await mediator.Send(request, CancellationToken.None);

            handler.Executed.ShouldBeTrue();
            pipelineHandler1.Executed.ShouldBeTrue();
            pipelineHandler2.Executed.ShouldBeTrue();
        }
Esempio n. 2
0
        public async Task ShouldNotExecutePipelineHandlersIfPipelineIsDisabled()
        {
            var container       = new Container();
            var handler         = new RequestHandler();
            var pipelineHandler = new RequestPipelineHandler();

            container.Configure(x =>
            {
                x.Add <IRequestHandler <Request, Response> >().Instance(handler);
                x.Add <IRequestPipelineHandler <Request, Response> >().Instance(pipelineHandler);
            });

            var mediator = new Mediator(container.GetService, new Configuration {
                RequestPipelineEnabled = false
            });
            var request = new Request();

            await mediator.Send(request, CancellationToken.None);

            handler.Executed.ShouldBeTrue();
            pipelineHandler.Executed.ShouldBeFalse();
        }