@@ -2,64 +2,23 @@ import { WebSocketServer } from 'ws';
22import { WebSocketClient } from './ws' ;
33import { AddressInfo } from 'net' ;
44import * 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
557describe ( '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