public async Task ValuesController_Get_Id_Writes_Expected_Traces_InTheCorrectOrder() { HttpConfiguration config = new HttpConfiguration(); config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new { id = RouteParameter.Optional }); Mock <DelegatingHandler> customMessageHandler = new Mock <DelegatingHandler>() { CallBase = true }; config.MessageHandlers.Add(customMessageHandler.Object); MemoryTraceWriter traceWriter = new MemoryTraceWriter(); config.Services.Replace(typeof(ITraceWriter), traceWriter); using (HttpServer server = new HttpServer(config)) { using (HttpClient client = new HttpClient(server)) { traceWriter.Start(); // Calls ValueController.Get(id) using query string string uri = _baseAddress + "/api/Values?id=5"; HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, uri); HttpResponseMessage response = await client.SendAsync(request); Assert.Equal(HttpStatusCode.OK, response.StatusCode); traceWriter.Finish(); Assert.True(ConfirmTracingOrder(ExpectedTraceRecordOrder, traceWriter.Records)); } } }
public void ValuesController_Get_Id_Writes_Expected_Traces() { HttpConfiguration config = new HttpConfiguration(); config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new { id = RouteParameter.Optional }); MemoryTraceWriter traceWriter = new MemoryTraceWriter(); config.Services.Replace(typeof(ITraceWriter), traceWriter); using (HttpServer server = new HttpServer(config)) { using (HttpClient client = new HttpClient(server)) { traceWriter.Start(); // Calls ValueController.Get(id) using query string string uri = _baseAddress + "/api/Values?id=5"; HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, uri); HttpResponseMessage response = client.SendAsync(request).Result; Assert.Equal(HttpStatusCode.OK, response.StatusCode); traceWriter.Finish(); IList <string> missingTraces = MissingTraces(ExpectedTraceRecords, traceWriter.Records); Assert.True(missingTraces.Count == 0, string.Format("These expected traces were missing:{0} {1}", Environment.NewLine, string.Join(Environment.NewLine + " ", missingTraces))); IList <string> unexpectedTraces = UnexpectedTraces(ExpectedTraceRecords, traceWriter.Records); Assert.True(unexpectedTraces.Count == 0, string.Format("These traces were not expected:{0} {1}", Environment.NewLine, string.Join(Environment.NewLine + " ", unexpectedTraces))); } } }