-
Notifications
You must be signed in to change notification settings - Fork 530
/
connector.test-d.ts
36 lines (33 loc) · 1.12 KB
/
connector.test-d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import {expectAssignable} from 'tsd'
import { Client, buildConnector } from '../..'
import {ConnectionOptions, TLSSocket} from 'tls'
import {Socket} from 'net'
import {IpcNetConnectOpts, NetConnectOpts, TcpNetConnectOpts} from "net";
const connector = buildConnector({ rejectUnauthorized: false })
expectAssignable<Client>(new Client('', {
connect (opts: buildConnector.Options, cb: buildConnector.Callback) {
connector(opts, (...args) => {
if (args[0]) {
return cb(args[0], null)
}
if (args[1] instanceof TLSSocket) {
if (args[1].getPeerCertificate().fingerprint256 !== 'FO:OB:AR') {
args[1].destroy()
return cb(new Error('Fingerprint does not match'), null)
}
}
return cb(null, args[1])
})
}
}))
expectAssignable<buildConnector.BuildOptions>({
checkServerIdentity: () => undefined, // Test if ConnectionOptions is assignable
localPort: 1234, // Test if TcpNetConnectOpts is assignable
});
expectAssignable<buildConnector.Options>({
protocol: "http",
hostname: "example.com",
port: "",
localAddress: "127.0.0.1",
httpSocket: new Socket(),
});