public async Task RemoveTrailerFromFeature_Success(string names, string values, int status, ResponseCondition condition, string removedHeader, string expected)
        {
            var httpContext = new DefaultHttpContext();

            httpContext.Response.StatusCode = status;
            var trailerFeature = new TestTrailersFeature();

            httpContext.Features.Set <IHttpResponseTrailersFeature>(trailerFeature);
            var proxyResponse = new HttpResponseMessage();

            foreach (var pair in TestResources.ParseNameAndValues(names, values))
            {
                trailerFeature.Trailers.Add(pair.Name, pair.Values);
            }

            var transform = new ResponseTrailerRemoveTransform(removedHeader, condition);
            await transform.ApplyAsync(new ResponseTrailersTransformContext()
            {
                HttpContext   = httpContext,
                ProxyResponse = proxyResponse,
                HeadersCopied = true,
            });

            var expectedHeaders = expected.Split("; ", StringSplitOptions.RemoveEmptyEntries);

            Assert.Equal(expectedHeaders, trailerFeature.Trailers.Select(h => h.Key));
        }
        public async Task RemoveHeader_Success(string names, string values, string removedHeader, string expected)
        {
            var httpContext  = new DefaultHttpContext();
            var proxyRequest = new HttpRequestMessage();

            foreach (var pair in TestResources.ParseNameAndValues(names, values))
            {
                proxyRequest.Headers.Add(pair.Name, pair.Values);
            }

            var transform = new RequestHeaderRemoveTransform(removedHeader);
            await transform.ApplyAsync(new RequestTransformContext()
            {
                HttpContext   = httpContext,
                ProxyRequest  = proxyRequest,
                HeadersCopied = true,
            });

            var expectedHeaders = expected.Split("; ", StringSplitOptions.RemoveEmptyEntries);

            Assert.Equal(expectedHeaders, proxyRequest.Headers.Select(h => h.Key));
        }