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(); }
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(); }