Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }