public async Task TestHttpRecording() { HttpRecording.StartRecording(); var sizeOfResponse = await MethodThatDoesHttpCalls(); await Verifier.Verify(sizeOfResponse) .ModifySerialization( x => x.IgnoreMember("Date")); }
public async Task JsonGet() { HttpRecording.StartRecording(); using var client = new HttpClient(); var result = await client.GetStringAsync("https://httpbin.org/get"); await Verifier.Verify(result) .ScrubLinesContaining("Traceparent", "X-Amzn-Trace-Id", "origin", "Content-Length"); }
public async Task TestHttpRecordingWithResponse() { HttpRecording.StartRecording(); using var client = new HttpClient(); var result = await client.GetStringAsync("https://httpbin.org/json"); await Verifier.Verify(result) .ModifySerialization(settings => { settings.IgnoreMembers("traceparent"); }); }
public async Task TestHttpRecording() { HttpRecording.StartRecording(); var sizeOfResponse = await MethodThatDoesHttpCalls(); await Verifier.Verify( new { sizeOfResponse, }) .ModifySerialization(settings => { //scrub some headers that are not consistent between test runs settings.IgnoreMembers("traceparent", "Date"); }); }
public async Task TestHttpRecordingExplicit() { HttpRecording.StartRecording(); var sizeOfResponse = await MethodThatDoesHttpCalls(); var httpCalls = HttpRecording.FinishRecording().ToList(); // Ensure all calls finished in under 5 seconds var threshold = TimeSpan.FromSeconds(5); foreach (var call in httpCalls) { Assert.True(call.Duration < threshold); } await Verifier.Verify( new { sizeOfResponse, // Only use the Uri in the snapshot httpCalls = httpCalls.Select(_ => _.Uri) }); }