public async Task NoCert_NoOp() { var httpContext = new DefaultHttpContext(); var proxyRequest = new HttpRequestMessage(); var transform = new RequestHeaderClientCertTransform("Name"); await transform.ApplyAsync(new RequestTransformContext() { HttpContext = httpContext, ProxyRequest = proxyRequest }); Assert.Empty(proxyRequest.Headers); }
public async Task ExistingHeader_NoCert_RemovesHeader() { var httpContext = new DefaultHttpContext(); var proxyRequest = new HttpRequestMessage(); proxyRequest.Headers.Add("Name", "OtherValue"); var transform = new RequestHeaderClientCertTransform("Name"); await transform.ApplyAsync(new RequestTransformContext() { HttpContext = httpContext, ProxyRequest = proxyRequest, HeadersCopied = true }); Assert.Empty(proxyRequest.Headers); }
public async Task Cert_Encoded() { var httpContext = new DefaultHttpContext(); var proxyRequest = new HttpRequestMessage(); httpContext.Connection.ClientCertificate = Certificates.SelfSignedValidWithClientEku; var transform = new RequestHeaderClientCertTransform("Name"); await transform.ApplyAsync(new RequestTransformContext() { HttpContext = httpContext, ProxyRequest = proxyRequest }); var expected = Convert.ToBase64String(Certificates.SelfSignedValidWithClientEku.RawData); Assert.Equal(expected, proxyRequest.Headers.GetValues("Name").Single()); }