public async Task RemoveHeader_ResponseNull_DoNothing(ResponseCondition condition) { var httpContext = new DefaultHttpContext(); httpContext.Response.StatusCode = 502; var transform = new ResponseHeaderRemoveTransform("header1", condition); await transform.ApplyAsync(new ResponseTransformContext() { HttpContext = httpContext, ProxyResponse = null, HeadersCopied = false, }); }
public async Task RemoveHeader_Success(string names, string values, int status, ResponseCondition condition, string removedHeader, string expected) { var httpContext = new DefaultHttpContext(); httpContext.Response.StatusCode = status; var proxyResponse = new HttpResponseMessage(); foreach (var pair in TestResources.ParseNameAndValues(names, values)) { httpContext.Response.Headers.Add(pair.Name, pair.Values); } var transform = new ResponseHeaderRemoveTransform(removedHeader, condition); await transform.ApplyAsync(new ResponseTransformContext() { HttpContext = httpContext, ProxyResponse = proxyResponse, HeadersCopied = true, }); var expectedHeaders = expected.Split("; ", StringSplitOptions.RemoveEmptyEntries); Assert.Equal(expectedHeaders, httpContext.Response.Headers.Select(h => h.Key)); }