public async Task NetworkRedirectsShouldReportSecurityDetails() { var responses = new List <Response>(); HttpsServer.SetRedirect("/plzredirect", "/empty.html"); Page.Response += (_, e) => responses.Add(e.Response); var requestTask = HttpsServer.WaitForRequest( "/empty.html", request => request?.HttpContext?.Features?.Get <ITlsHandshakeFeature>()?.Protocol); var responseTask = Page.GoToAsync(TestConstants.HttpsPrefix + "/plzredirect"); await Task.WhenAll( requestTask, responseTask).WithTimeout(); var response = responseTask.Result; Assert.Equal(2, responses.Count); Assert.Equal(HttpStatusCode.Found, responses[0].Status); Assert.Equal( TestUtils.CurateProtocol(requestTask.Result.ToString()), TestUtils.CurateProtocol(response.SecurityDetails.Protocol)); }
public async Task NetworkRedirectsShouldReportSecurityDetails() { var responses = new List <Response>(); HttpsServer.SetRedirect("/plzredirect", "/empty.html"); Page.Response += (sender, e) => responses.Add(e.Response); await Page.GoToAsync(TestConstants.HttpsPrefix + "/plzredirect"); Assert.Equal(2, responses.Count); Assert.Equal(HttpStatusCode.Found, responses[0].Status); Assert.Equal("TLS 1.2", responses[0].SecurityDetails.Protocol); }
public async Task NetworkRedirectsShouldReportSecurityDetails() { var responses = new List <Response>(); var options = TestConstants.DefaultBrowserOptions(); options.IgnoreHTTPSErrors = true; HttpsServer.SetRedirect("/plzredirect", "/empty.html"); using (var browser = await Puppeteer.LaunchAsync(options, TestConstants.LoggerFactory)) using (var page = await browser.NewPageAsync()) { page.Response += (sender, e) => responses.Add(e.Response); await page.GoToAsync(TestConstants.HttpsPrefix + "/plzredirect"); Assert.Equal(2, responses.Count); Assert.Equal(HttpStatusCode.Found, responses[0].Status); Assert.Equal("TLS 1.2", responses[0].SecurityDetails.Protocol); } }