示例#1
0
    public async Task TestHttpRecording()
    {
        HttpRecording.StartRecording();

        var sizeOfResponse = await MethodThatDoesHttpCalls();

        await Verifier.Verify(sizeOfResponse)
        .ModifySerialization(
            x => x.IgnoreMember("Date"));
    }
示例#2
0
    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");
    }
示例#3
0
    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");
        });
    }
示例#4
0
    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");
        });
    }
示例#5
0
    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)
        });
    }