public UptimeMessageService(HttpClient http, HttpServer server) { _http = http; _server = server; _server.AddJsonDocumentHandler(OnGet); _timeInitialized = DateTime.Now.Ticks; }
public async Task GettingPostBody() { // Arrange using (var server = new HttpServer()) { var poco = new { id = 1, name = "moo" }; var expectedBody = JsonConvert.SerializeObject(poco); string body = null; PostBody bodyObject = null; server.AddJsonDocumentHandler( (processor, stream) => { if (processor.Path != "/post") { return(null); } body = stream.AsString(); bodyObject = stream.As <PostBody>(); return(new { id = 1, body }); }); // Pre-assert // Act var client = new HttpClient(); var message = new HttpRequestMessage( HttpMethod.Post, server.GetFullUrlFor("/post")) { Method = HttpMethod.Post, Content = new ObjectContent <object>( poco, new JsonMediaTypeFormatter()) }; await client.SendAsync(message); // Assert Expect(body).To.Equal(expectedBody); Expect(bodyObject).Not.To.Be.Null(); Expect(bodyObject.Id).To.Equal(poco.id); Expect(bodyObject.Name).To.Equal(poco.name); } }