public async Task Dispatch_Query_ReplyReturned() { var serverCallContext = TestServerCallContextFactory.Create(); serverCallContext.UserState["__HttpContext"] = httpContextFactory(); var dispatcher = new DispatcherService(); var query = new TestQuery { Value = Guid.NewGuid().ToString() }; var request = new RequestEnvelope() { Type = query.GetType().AssemblyQualifiedName, Content = Value.Parser.ParseJson(JsonSerializer.Serialize(query)) }; var response = await dispatcher.Dispatch(request, serverCallContext); response.ShouldNotBeNull().Content.ShouldNotBeNull(); var responseType = System.Type.GetType(response.Type, an => Assembly.Load(an.Name ?? null !), null, true, true).ShouldNotBeNull(); JsonSerializer.Deserialize(JsonFormatter.Default.Format(response.Content), responseType).ShouldBeOfType <TestQueryReply>().Value.ShouldBe(query.Value); }
public async Task Dispatch_Query_ReplyReturned() { var serverCallContext = TestServerCallContextFactory.Create(); serverCallContext.UserState["__HttpContext"] = httpContextFactory(); var dispatcher = new DispatcherService(); var query = new TestQuery { Value = Guid.NewGuid().ToString() }; var request = new RequestEnvelope() { Type = query.GetType().AssemblyQualifiedName, Data = UnsafeByteOperations.UnsafeWrap(JsonSerializer.SerializeToUtf8Bytes(query)) }; var response = await dispatcher.Dispatch(request, serverCallContext); response.ShouldNotBeNull().Data.ShouldNotBeNull().IsEmpty.ShouldBeFalse(); var responseType = System.Type.GetType(response.Type, an => Assembly.Load(an.Name ?? null !), null, true, true).ShouldNotBeNull(); using var ms = new MemoryStream(response.Data.ToByteArray()); JsonSerializer.Deserialize(ms, responseType).ShouldBeOfType <TestQueryReply>().Value.ShouldBe(query.Value); }