Skip to content

Commit 53cd072

Browse files
committed
WS tests: Generate self-signed cert on the fly
Signed-off-by: Florian Hotze <dev@florianhotze.com>
1 parent ac06b73 commit 53cd072

1 file changed

Lines changed: 8 additions & 49 deletions

File tree

util/ws.test.ts

Lines changed: 8 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -2,64 +2,23 @@ import { WebSocketServer } from 'ws';
22
import { WebSocketClient } from './ws';
33
import { AddressInfo } from 'net';
44
import * as https from 'https';
5-
6-
const testKey = `-----BEGIN PRIVATE KEY-----
7-
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC4vvgiiySdQqjY
8-
cymmzq4fY5Otc/Iep7CEagdI3CQMwRNyQf4eUQyXNUrcAS7kCUCpECxGRIbErwjO
9-
z1Ayf+rINhBewBMHOzF982ZNKjRMj+jHVQg/ddjGBWeDDDEt1V2CG2qzyADeBF1x
10-
c9llamSJoI9fmNmYdGySb50vOR1lpDP/zptD3EgLEzgo4HT2aqlkNqwdyacIjKfJ
11-
3fHKeQFEE5Yv1bAWTRWxqzSd+zZ9pg+4mLI5+8x+beDgMjuulJy2QEylrRq8B8X0
12-
SFdwUtEVUdbSQQ2RrxJ4gpyNgSyLlFSVulaJ0KhKrzqPZDq5zQRqTghi6oBLs4ee
13-
S31BvA6dAgMBAAECggEANUhSvXe/BCIlG2Q/h44FdyUbgwO1OXUouk/wMOnY9dq7
14-
tpDk7y52AKhMol4u/XLTtM7mzg9WhSRsWGU/Xok5GCxLlWA1PLksQYSxJSE+ezRo
15-
MRFLsy3UauxFGe0qw+rNMMiigh51bZL5tk5wzUidnXnyz+IAI/G0HJnXTjbdTSJL
16-
Pd0DpiZrW2nvCBrU8D4XxKN5m3zwm70H75bfdDaj+53IxkgUNyZRfVR5HqbtOKdz
17-
E+uob7QPyHNjj0PQMfQbauFMVHxKOxry06JJ7oPKCaRxvjsjv7/35ASATmpyCFJs
18-
aJ1WZHQRaW6CoasqvblWVwnN5lK5lh+dOifheTwKawKBgQD9JivGQb44vwvGtXl8
19-
Gz1lanUhmTPbG+y1OSxRN3XlrrUn1Z+9NN/Cm1oGiOt/bHn1c0nsC6uCudUyXwrP
20-
H6gdMHtxkxE5g/4Iwr2sPcfQNSuSHgpSB2bEdf0iDFj9mSrDC+HefUlLUdmuTF8x
21-
+iwCGhFX1hQMJ7sE+r4CF2XlbwKBgQC605eOfV9sKbmnjuJ4t2E/MsCRwfOwN8Vv
22-
RprDue3jeXHLJcOTzJ+Hp+MvFTP11c6bH1PSOStJUiJ08pe3kUvzVG6xgmfHvMr7
23-
+18Mus4el4HMsiSm2LnLPmMLqZGMgSppAgDzmWY+TwIeuRyU2tniwgD9Lgda6sPv
24-
VqtUgnB+swKBgGRuEE/HJUA+Ct36gQfLhsAFTBLYRMpYecArvnk6F3vXo+b5yTW3
25-
FE6Qc1bEWyliT8AgzOLoflKOhxZEvnUNihSKd27Heb3nr5CqMbVzjSH89hwx7sY8
26-
SXkHljU70NJLQbu/qwwpiDppboLHqbyaE3uB+/9s3uczm+6Ny3Po9HPhAoGAVZNE
27-
EYWF5uJ54rFFNSwyRCN4J4uilq4FJoI9s7d/qrlfEUFcA2AwFpAlNNTOdyWXPGCu
28-
IVYEaNJRbCYOrovEMVIUXgSwisIEbEVo9Ui/zy1wzBUxSqds+xa5gYcLX0Nu7Kh5
29-
TRuPxKyl+PKrj9drBD3++/lQbymn1AJr+grBgpcCgYA9DWW74CF2SFkrOlBiV7WO
30-
P+j9nUSoh4hryhUXn4lFxPU+OJrH5yzfWzdcbL5fauEsQcPRC5XfuxZo9lkwvmyX
31-
RwC55mgIZ2b9MliVDwqKAZ4zvg68vkvelbDZnpryLN67PvRi+afulxEo7C3qF9Lq
32-
jInf0Dss51gqNq4P3VS+CQ==
33-
-----END PRIVATE KEY-----`;
34-
35-
const testCert = `-----BEGIN CERTIFICATE-----
36-
MIIDCTCCAfGgAwIBAgIUebbr9r9x2qULLlj2/ZM9JM5Rc50wDQYJKoZIhvcNAQEL
37-
BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTI2MDQyMDE1NTI1NFoXDTI2MDQy
38-
MTE1NTI1NFowFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
39-
AAOCAQ8AMIIBCgKCAQEAuL74IosknUKo2HMpps6uH2OTrXPyHqewhGoHSNwkDMET
40-
ckH+HlEMlzVK3AEu5AlAqRAsRkSGxK8Izs9QMn/qyDYQXsATBzsxffNmTSo0TI/o
41-
x1UIP3XYxgVngwwxLdVdghtqs8gA3gRdcXPZZWpkiaCPX5jZmHRskm+dLzkdZaQz
42-
/86bQ9xICxM4KOB09mqpZDasHcmnCIynyd3xynkBRBOWL9WwFk0Vsas0nfs2faYP
43-
uJiyOfvMfm3g4DI7rpSctkBMpa0avAfF9EhXcFLRFVHW0kENka8SeIKcjYEsi5RU
44-
lbpWidCoSq86j2Q6uc0Eak4IYuqAS7OHnkt9QbwOnQIDAQABo1MwUTAdBgNVHQ4E
45-
FgQUeo9D4wu/qoOdXUqqMN8BwEDnXjowHwYDVR0jBBgwFoAUeo9D4wu/qoOdXUqq
46-
MN8BwEDnXjowDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEABJXp
47-
ICTZYUg4cQO9jbVJcmRCWolypBv83j84WXd1yzi28VWv9Avm6sL9anTBtMKNeTpY
48-
eFw/w74LEccYePHCHqe/U7h2ILV8DCB6eeshWJQQHRCn6MWV209bBwY5RJ8eN2HK
49-
A6mYTDZwJ9XwN5td0It99ZtnsHXwrWECwfOlh0G9+qGs+LvZHCyrTuxaoRvIUkjC
50-
0m3LBIVc0cjcGL9CdQ50H87fYZhN1VuvJI6BCXnLoTHvvqoJhH63+q3W2HMFf4Tc
51-
7FpoVc+bK0817d3h1Svr2FNNIFyiNDSNvdnUb2HZ38bQSoeBUvi8rCCvCgej1GG0
52-
dklOFYBZmnY49vEMUw==
53-
-----END CERTIFICATE-----`;
5+
import * as selfsigned from 'selfsigned';
546

557
describe('WebSocketClient', () => {
8+
let testKey: string;
9+
let testCert: string;
5610
let server: WebSocketServer;
5711
let port: number;
5812
let httpsServer: https.Server;
5913
let secureServer: WebSocketServer;
6014
let securePort: number;
6115

6216
beforeAll(async () => {
17+
const attrs = [{ name: 'commonName', value: 'localhost' }];
18+
const pems = await selfsigned.generate(attrs, { keySize: 2048 });
19+
testKey = pems.private;
20+
testCert = pems.cert;
21+
6322
await new Promise<void>((resolve) => {
6423
server = new WebSocketServer({ port: 0 }, () => {
6524
port = (server.address() as AddressInfo).port;

0 commit comments

Comments
 (0)