public void MutipleGenericRequestHandler_ByDifferentNameSpace_ShouldResponse() { var eventBus = new InProcessServiceBus(); eventBus.AddRequestHandler <TestRequestDataT <TestEventData> >((eventData, context) => { return(Task.Run(() => { context.Response = eventData.Msg + "1"; })); }); eventBus.AddRequestHandler <TestRequestDataT <TestDemo.TestEventData> >((eventData, context) => { return(Task.Run(() => { context.Response = context.Response + "2"; })); }); var testRequestData = new TestRequestDataT <TestEventData>(new TestEventData()) { Msg = "success" }; var result = eventBus.Send <string>(testRequestData); Assert.AreEqual(testRequestData.Msg + "12", result); }
public void MutipleRequestHandler_ShouldResponseForPipeline_ReturnFirst() { var eventBus = new InProcessServiceBus(); eventBus.AddRequestHandler <TestRequestData>((eventData, context) => { return(Task.Run(() => { context.Response = eventData.Msg + "1"; context.IsEnd = true; })); }); eventBus.AddRequestHandler <TestRequestData>((eventData, context) => { return(Task.Run(() => { context.Response = context.Response + "2"; })); }); var testRequestData = new TestRequestData() { Msg = "success" }; var result = eventBus.Send <string>(testRequestData); Assert.AreEqual(testRequestData.Msg + "1", result); }
public void Request_ShouldResponse() { var eventBus = new InProcessServiceBus(); eventBus.AddRequestHandler <TestRequestData>((eventData, context) => { return(Task.Run(() => { context.Response = eventData.Msg; })); }); var testRequestData = new TestRequestData() { Msg = "success" }; var result = eventBus.Send <string>(testRequestData); Assert.AreEqual(testRequestData.Msg, result); }
public void Request_ShouldNotResponse_AfteRemove() { var eventBus = new InProcessServiceBus(); Func <dynamic, IRequestHandlerContext, Task> delateFunc = (eventData, context) => { return(Task.Run(() => { context.Response = (string)eventData.Msg; })); }; eventBus.AddRequestHandler <TestRequestData>(delateFunc); eventBus.RemoveRequestHandler <TestRequestData>(delateFunc); var testRequestData = new TestRequestData() { Msg = "success" }; var result = eventBus.Send <string>(testRequestData); Assert.AreEqual(null, result); }