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