fix(tests): Get TLS version from Node instead of hardcoding it (#4700)

This commit is contained in:
Yury Semikhatsky 2019-07-14 18:33:31 -07:00 committed by Andrey Lushnikov
parent bafda9fbe7
commit a39d553511
3 changed files with 18 additions and 7 deletions

View File

@ -39,10 +39,14 @@ module.exports.addTests = function({testRunner, expect, defaultBrowserOptions, p
describe('Response.securityDetails', function() {
it('should work', async({page, httpsServer}) => {
const response = await page.goto(httpsServer.EMPTY_PAGE);
const [serverRequest, response] = await Promise.all([
httpsServer.waitForRequest('/empty.html'),
page.goto(httpsServer.EMPTY_PAGE)
]);
const securityDetails = response.securityDetails();
expect(securityDetails.issuer()).toBe('puppeteer-tests');
expect(securityDetails.protocol()).toBe('TLS 1.2');
const protocol = serverRequest.socket.getProtocol().replace('v', ' ');
expect(securityDetails.protocol()).toBe(protocol);
expect(securityDetails.subjectName()).toBe('puppeteer-tests');
expect(securityDetails.validFrom()).toBe(1550084863);
expect(securityDetails.validTo()).toBe(33086084863);
@ -55,11 +59,15 @@ module.exports.addTests = function({testRunner, expect, defaultBrowserOptions, p
httpsServer.setRedirect('/plzredirect', '/empty.html');
const responses = [];
page.on('response', response => responses.push(response));
await page.goto(httpsServer.PREFIX + '/plzredirect');
const [serverRequest, ] = await Promise.all([
httpsServer.waitForRequest('/plzredirect'),
page.goto(httpsServer.PREFIX + '/plzredirect')
]);
expect(responses.length).toBe(2);
expect(responses[0].status()).toBe(302);
const securityDetails = responses[0].securityDetails();
expect(securityDetails.protocol()).toBe('TLS 1.2');
const protocol = serverRequest.socket.getProtocol().replace('v', ' ');
expect(securityDetails.protocol()).toBe(protocol);
});
});

View File

@ -288,11 +288,15 @@ module.exports.addTests = function({testRunner, expect, defaultBrowserOptions, p
const browser = await puppeteer.connect({browserWSEndpoint, ignoreHTTPSErrors: true});
const page = await browser.newPage();
let error = null;
const response = await page.goto(httpsServer.EMPTY_PAGE).catch(e => error = e);
const [serverRequest, response] = await Promise.all([
httpsServer.waitForRequest('/empty.html'),
page.goto(httpsServer.EMPTY_PAGE).catch(e => error = e)
]);
expect(error).toBe(null);
expect(response.ok()).toBe(true);
expect(response.securityDetails()).toBeTruthy();
expect(response.securityDetails().protocol()).toBe('TLS 1.2');
const protocol = serverRequest.socket.getProtocol().replace('v', ' ');
expect(response.securityDetails().protocol()).toBe(protocol);
await page.close();
await browser.close();
});

View File

@ -46,7 +46,6 @@ class TestServer {
const server = new TestServer(dirPath, port, {
key: fs.readFileSync(path.join(__dirname, 'key.pem')),
cert: fs.readFileSync(path.join(__dirname, 'cert.pem')),
secureProtocol: 'TLSv1_2_method',
passphrase: 'aaaa',
});
await new Promise(x => server._server.once('listening', x));