From 467ab4fc0e4bc9c5d91152d801e58513d9b6ee45 Mon Sep 17 00:00:00 2001 From: Stefan Guggisberg Date: Mon, 7 Nov 2022 15:52:47 +0100 Subject: [PATCH 1/6] test: bump cimg/node to 14.21 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 71d7d58..cce1484 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2.1 executors: node14: docker: - - image: cimg/node:14.20 + - image: cimg/node:14.21 orbs: codecov: codecov/codecov@3.2.4 From 99976cb3d65f82dcc71086ce1581a3a2b714b812 Mon Sep 17 00:00:00 2001 From: Stefan Guggisberg Date: Mon, 7 Nov 2022 16:19:58 +0100 Subject: [PATCH 2/6] test: fix ECONNREFUSED for test server --- test/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/server.js b/test/server.js index 5041dca..a9783a8 100644 --- a/test/server.js +++ b/test/server.js @@ -142,7 +142,7 @@ class Server { const { port } = this; // eslint-disable-next-line no-nested-ternary const proto = this.secure ? 'https' : (this.httpMajorVersion === 2 ? 'http2' : 'http'); - return `${proto}://localhost:${port}`; + return `${proto}://127.0.0.1:${port}`; } async shutDown(force = false) { From 73b4243242ededd1678330731f25c46c7d115236 Mon Sep 17 00:00:00 2001 From: Stefan Guggisberg Date: Mon, 7 Nov 2022 17:15:18 +0100 Subject: [PATCH 3/6] test: debug failing tests --- .circleci/config.yml | 2 +- test/server.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cce1484..69a71ba 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2.1 executors: node14: docker: - - image: cimg/node:14.21 + - image: cimg/node:18.10 orbs: codecov: codecov/codecov@3.2.4 diff --git a/test/server.js b/test/server.js index a9783a8..5041dca 100644 --- a/test/server.js +++ b/test/server.js @@ -142,7 +142,7 @@ class Server { const { port } = this; // eslint-disable-next-line no-nested-ternary const proto = this.secure ? 'https' : (this.httpMajorVersion === 2 ? 'http2' : 'http'); - return `${proto}://127.0.0.1:${port}`; + return `${proto}://localhost:${port}`; } async shutDown(force = false) { From 3f5adcd80f331d7b9f6d5b105a1576242b33224c Mon Sep 17 00:00:00 2001 From: Stefan Guggisberg Date: Mon, 7 Nov 2022 17:18:38 +0100 Subject: [PATCH 4/6] test: debug failing tests --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 69a71ba..9a4117f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2.1 executors: node14: docker: - - image: cimg/node:18.10 + - image: cimg/node:18.11 orbs: codecov: codecov/codecov@3.2.4 From c6ab282154c429bf931204aa761ffa60131e9d85 Mon Sep 17 00:00:00 2001 From: Stefan Guggisberg Date: Tue, 8 Nov 2022 14:45:11 +0100 Subject: [PATCH 5/6] test: use static keys --- .circleci/config.yml | 2 +- package.json | 1 - test/keys.json | 1 + test/server.js | 13 +++---------- 4 files changed, 5 insertions(+), 12 deletions(-) create mode 100644 test/keys.json diff --git a/.circleci/config.yml b/.circleci/config.yml index 9a4117f..cce1484 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2.1 executors: node14: docker: - - image: cimg/node:18.11 + - image: cimg/node:14.21 orbs: codecov: codecov/codecov@3.2.4 diff --git a/package.json b/package.json index 93a8af4..fab93ba 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,6 @@ "nock": "13.2.9", "nyc": "15.1.0", "parse-cache-control": "1.0.1", - "pem": "1.14.6", "semantic-release": "19.0.5", "sinon": "14.0.1", "stream-buffers": "3.0.2" diff --git a/test/keys.json b/test/keys.json new file mode 100644 index 0000000..732d767 --- /dev/null +++ b/test/keys.json @@ -0,0 +1 @@ +{"cert":"-----BEGIN CERTIFICATE-----\nMIICpDCCAYwCCQCSYPsUCKH+wzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAls\nb2NhbGhvc3QwHhcNMjIxMTA4MTMyMDIzWhcNMjMxMTA4MTMyMDIzWjAUMRIwEAYD\nVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDm\nKWgvh/WI2PEL4jUXwba77Ugj5vh8vRvAqcMk0bKJEnnXqbtsyp021UZfKtdVANov\ncJ71UwN3fqNzjCfai385PM/bS24Uny2e3+oNvqQE3HmX46jUO0AcFYlXGmFn8rGd\ntzQCixLubof8IK0NmOO/OTfzWhOL+E3wLkeT15Bsn9qBgfRAZPlXVkboteduRmyj\naRGw37WrzmUEWnK69uX8OUs4jqVEdX5UJw3MAfljFplBOnOW0uC9fmvWd7v8pPT1\nmDBwjVbDHmxkKLSFm4pwoJ+lFlrJpnL4U+sh56/+7+sDqiJyyrtDjHOCBMgmqsmk\nGUm281XeUVx0+heESJilAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAOBnEQWYsdpJ\nM2LRWNdF82hB1EkNX/NUBb0uqezBTOvPRmJNjZIbXLSbkYOJlm0vrZ1wLpwJYm2j\nmdiSEvCBrSTRc9+lbsUmZ/OTNlOzThxG7QontBMImpLjSNPTZN3OMb2MQMqen4ty\nrdYdfNxQg5EHUz6lnDzaijPMar8SprKBmjdv2Tdh5B/VxpORGNKam+tTLIqVrLZP\nj1SmVrPPxTC3QJfZTSyzq9W2xBdImj/9xpPinaQPh7SF1PFBL6zYffE2r/oSec6n\ni6itk4YldhZUvhd4WgeaIXOYrBjeQhouKqH/rRYi5iW5NAdf1Vxzk2tTlVYltBie\nksdvxCLDEGU=\n-----END CERTIFICATE-----","key":"-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA5iloL4f1iNjxC+I1F8G2u+1II+b4fL0bwKnDJNGyiRJ516m7\nbMqdNtVGXyrXVQDaL3Ce9VMDd36jc4wn2ot/OTzP20tuFJ8tnt/qDb6kBNx5l+Oo\n1DtAHBWJVxphZ/Kxnbc0AosS7m6H/CCtDZjjvzk381oTi/hN8C5Hk9eQbJ/agYH0\nQGT5V1ZG6LXnbkZso2kRsN+1q85lBFpyuvbl/DlLOI6lRHV+VCcNzAH5YxaZQTpz\nltLgvX5r1ne7/KT09ZgwcI1Wwx5sZCi0hZuKcKCfpRZayaZy+FPrIeev/u/rA6oi\ncsq7Q4xzggTIJqrJpBlJtvNV3lFcdPoXhEiYpQIDAQABAoIBABysyfsqADA1fwqQ\n+zZjfwW40UUP0KOR1/RP8i0TJyAmuiFhVyV9tMqRFbxjlQJVIdnJOTStTABGOcz6\niDiVKpuR9P+ITUWqcz+Y/AsMVlj4svl2dqFCZIFbOYotkjcmKHTSz1sFwq0L/ksu\nMwE/rBg147+g2FCW9fbXfTlxIOA3abwzMIY5mZZfh0pyZr/L/vqfwJYcNgkmsf/N\nTQd3rZf6iXST7SrG3vUW791JiZsRd+6ANQTt8ih+m4bq/JrOOLb5aXoeBrGhlHMB\nK7bHfMak675TpYgKF6v1I6n5SauX4WjqISubtPUjue3dg5WFvStgLtUbvCdVjaBW\nowsgut0CgYEA+LCGYjYaMCLWKyg5X+FpE/wSMjjoBI4g12T4sPSpIN3fJZudOVQB\nYgHHPAkk6lWD1+7eCaf5C95ICPWrfJZC0vgK/zg40LHdEGxFY62UM1o6Du9VWHGk\naG24Jk/LlSwZxCbcAEeJqmJRm2369CmAEJ3uZJRLoe3DJoGXJKeNOvMCgYEA7O10\nMgX2I0i4Pc1p5kMxOTfa9TtuO/fv3F3YDvFEXLD802aokIGuV5Swnk2m8kBtEYZH\nG8vUj7lYT1QZbFX1qk8A5z2tAjzD4XPW8KdEllKz3tWw1dT2exktkt8Pavdommfv\nNWWTQbOm6rcHzrBnXqkBeISt3wxgB0zkXQArFAcCgYEAg3Q79JoIib1AXButCEOM\nWaX6sFVoP1Aph/G1i0QoSlk9ZRG2r+D5wiaSe+eRfdSqFnALKiuB94YNqb7CYN7E\nf+PhXDsJvTbnVZEFtMTB+8sLuW1FPbUEZLbqikXPpRBkpkysKfGmkUvbOz+NUZbG\nPQJeSwggWn3lk+sYS6XNf4UCgYEAz9NOfF6sVLECI/wea4P/FpC/OSPDg0juFuAe\nmKTb8W6yp4FCVVfbpSlhb8rvqUoIIjol/+Tg9J2BMDy1/Ei+sICSa0S3kOHadNXW\n8cvXpwCulMXfUwJ2nu4sAsw1Sv/wuph2xODvtc8vmG2qpIwqcGdRSfUgSyogxeaV\n3lo6b1sCgYBX2hZjtyfKvXq/ApT78oXnrb19wuB2ZMRheK/SKVHygwqOUeRXH6Ig\nXdLQO4LpbjCRHHhYi4ElA0mPfgZyC6dVrH7wRf5fVXHlATXtgeCpmU7ep0WLWsFH\nhLMGFH75fuatF2ctW6eimP07SvUohrVYuNIsHiAuHQ+0/rz9dMygfg==\n-----END RSA PRIVATE KEY-----"} \ No newline at end of file diff --git a/test/server.js b/test/server.js index 5041dca..d55c0a6 100644 --- a/test/server.js +++ b/test/server.js @@ -12,14 +12,10 @@ 'use strict'; +const fs = require('fs'); const http = require('http'); const https = require('https'); const http2 = require('http2'); -const util = require('util'); - -const pem = require('pem'); - -const createCertificate = util.promisify(pem.createCertificate); const WOKEUP = 'woke up!'; const sleep = (ms) => new Promise((resolve) => { @@ -78,11 +74,8 @@ class Server { const createServer = async (handler) => { let options = {}; if (this.secure) { - const keys = await createCertificate({ selfSigned: true }); - options = { - key: keys.serviceKey, - cert: keys.certificate, - }; + const keys = JSON.parse(fs.readFileSync(`${__dirname}/keys.json`)); + options = { ...keys }; } // merge with user-provided options options = { ...options, ...this.options }; From daff01626051c0a678f6ee510e6e17146c5ee892 Mon Sep 17 00:00:00 2001 From: Stefan Guggisberg Date: Tue, 8 Nov 2022 15:04:57 +0100 Subject: [PATCH 6/6] test: use static keys --- test/server.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/server.js b/test/server.js index d55c0a6..756e74e 100644 --- a/test/server.js +++ b/test/server.js @@ -12,7 +12,7 @@ 'use strict'; -const fs = require('fs'); +const { readFile } = require('fs').promises; const http = require('http'); const https = require('https'); const http2 = require('http2'); @@ -74,7 +74,7 @@ class Server { const createServer = async (handler) => { let options = {}; if (this.secure) { - const keys = JSON.parse(fs.readFileSync(`${__dirname}/keys.json`)); + const keys = JSON.parse(await readFile(`${__dirname}/keys.json`)); options = { ...keys }; } // merge with user-provided options