public async Task AsyncNotifyTest()
        {
            /*
             *   IClientMessageHandler<AmpMessage> handler,
             * IRpcClient<AmpMessage> rpcClient,
             * ISerializer serializer,
             * ILogger<DefaultCallInvoker> logger
             */

            var handler = new DefaultClientMessageHandler();
            var client  = new MockRpcClient(handler);

            var serializer = new JsonSerializer();
            var logger     = NullLogger <DefaultCallInvoker> .Instance;

            var invoker = new DefaultCallInvoker(handler, client, serializer, logger);

            var req = new FooReq {
                FooWord = "hello dotbpe"
            };

            var result = await invoker.AsyncNotify("FooService.Foo", "default", 100, 1, req);

            Assert.NotNull(result);
            Assert.Equal(0, result.Code);
            Assert.NotNull(client.ReceiveMessage);

            Assert.Equal(100, client.ReceiveMessage.ServiceId);
            Assert.Equal(1, client.ReceiveMessage.MessageId);

            Assert.Equal("FooService.Foo", client.ReceiveMessage.FriendlyServiceName);
        }
        public async Task AsyncRequestTest()
        {
            /*
             *   IClientMessageHandler<AmpMessage> handler,
             * IRpcClient<AmpMessage> rpcClient,
             * ISerializer serializer,
             * ILogger<DefaultCallInvoker> logger
             */
            var serializer = new JsonSerializer();
            var handler    = new DefaultClientMessageHandler();

            var client = new MockRpcClient2(serializer, handler);
            var logger = NullLogger <DefaultCallInvoker> .Instance;

            var invoker = new DefaultCallInvoker(handler, client, serializer, logger);

            var req = new FooReq {
                FooWord = "hello dotbpe"
            };

            var result = await invoker.AsyncRequest <FooReq, FooRes>("FooService.Foo", "default", 100, 1, req);

            Assert.NotNull(result);
            Assert.Equal(0, result.Code);


            Assert.NotNull(result.Data);
            Assert.Equal(req.FooWord, result.Data.RetFooWord);
        }
Beispiel #3
0
        public async Task BaseServiceProcessCallTest()
        {
            ISerializer serializer = new JsonSerializer();
            var         fooService = new FooService();

            Assert.Equal("100.0", fooService.Id);


            var req = new FooReq {
                FooWord = "hello Tomato"
            };

            var context1 = new MockContext();

            var reqMessage = AmpMessage.CreateRequestMessage(100, 2);

            reqMessage.Version   = 1;
            reqMessage.CodecType = CodecType.JSON;
            reqMessage.Sequence  = 1;
            reqMessage.Data      = serializer.Serialize(req);

            await fooService.ReceiveAsync(context1, reqMessage);

            Assert.NotNull(context1.ResponseMessage);
            Assert.Equal(0, context1.ResponseMessage.Code);

            Assert.NotNull(context1.ResponseMessage.Data);

            var res = serializer.Deserialize <FooRes>(context1.ResponseMessage.Data);

            Assert.NotNull(res);

            Assert.Equal(req.FooWord, res.RetFooWord);
        }