public static async Task Use_Scopes_To_Change_And_Then_Restore_Behavior() { // Arrange var builder = new HttpRequestInterceptionBuilder() .ForHost("public.je-apis.com") .WithJsonContent(new { value = 1 }); var options = new HttpClientInterceptorOptions() .Register(builder); string json1; string json2; string json3; // Act using (var client = options.CreateHttpClient()) { json1 = await client.GetStringAsync("http://public.je-apis.com"); using (options.BeginScope()) { options.Register(builder.WithJsonContent(new { value = 2 })); json2 = await client.GetStringAsync("http://public.je-apis.com"); } json3 = await client.GetStringAsync("http://public.je-apis.com"); } // Assert json1.ShouldNotBe(json2); json1.ShouldBe(json3); }
public static void WithJsonContent_Validates_Parameters() { // Arrange var builder = new HttpRequestInterceptionBuilder(); object content = null; // Act and Assert Assert.Throws <ArgumentNullException>("builder", () => (null as HttpRequestInterceptionBuilder).WithJsonContent(content)); Assert.Throws <ArgumentNullException>("content", () => builder.WithJsonContent(content)); }