1
1
import * as underTest from '../src/transport.js' ;
2
2
import { UnimplementedError } from '../src/error.js' ;
3
- import { Components } from '@libp2p/components ' ;
3
+ import { webRTC } from '../src/index.js ' ;
4
4
import { mockUpgrader } from '@libp2p/interface-mocks' ;
5
5
import { CreateListenerOptions , symbol } from '@libp2p/interface-transport' ;
6
6
import { multiaddr , Multiaddr } from '@multiformats/multiaddr' ;
@@ -10,6 +10,7 @@ import {createLibp2p} from 'libp2p';
10
10
import { fromString as uint8arrayFromString } from 'uint8arrays/from-string' ;
11
11
import { pipe } from 'it-pipe' ;
12
12
import first from 'it-first' ;
13
+ import { createEd25519PeerId } from '@libp2p/peer-id-factory' ;
13
14
14
15
const { expect, assert} = require ( 'chai' ) . use ( require ( 'chai-bytes' ) ) ;
15
16
@@ -21,19 +22,21 @@ function ignoredDialOption(): CreateListenerOptions {
21
22
}
22
23
23
24
describe ( 'basic transport tests' , ( ) => {
25
+ let components : underTest . WebRTCTransportComponents
26
+
27
+ before ( async ( ) => {
28
+ components = {
29
+ peerId : await createEd25519PeerId ( )
30
+ }
31
+ } )
24
32
25
33
it ( 'Can construct' , ( ) => {
26
- let t = new underTest . WebRTCTransport ( ) ;
34
+ let t = new underTest . WebRTCTransport ( components ) ;
27
35
expect ( t . constructor . name ) . to . equal ( 'WebRTCTransport' ) ;
28
36
} ) ;
29
37
30
- it ( 'init does not throw' , ( ) => {
31
- let t = new underTest . WebRTCTransport ( ) ;
32
- t . init ( new Components ( ) ) ;
33
- } ) ;
34
-
35
38
it ( 'createListner does throw' , ( ) => {
36
- let t = new underTest . WebRTCTransport ( ) ;
39
+ let t = new underTest . WebRTCTransport ( components ) ;
37
40
try {
38
41
t . createListener ( ignoredDialOption ( ) ) ;
39
42
expect ( 'Should have thrown' ) . to . equal ( 'but did not' ) ;
@@ -43,19 +46,19 @@ describe('basic transport tests', () => {
43
46
} ) ;
44
47
45
48
it ( 'toString includes the toStringTag' , ( ) => {
46
- let t = new underTest . WebRTCTransport ( ) ;
49
+ let t = new underTest . WebRTCTransport ( components ) ;
47
50
let s = t . toString ( ) ;
48
51
expect ( s ) . to . contain ( '@libp2p/webrtc' ) ;
49
52
} ) ;
50
53
51
54
it ( 'toString property getter' , ( ) => {
52
- let t = new underTest . WebRTCTransport ( ) ;
55
+ let t = new underTest . WebRTCTransport ( components ) ;
53
56
let s = t [ Symbol . toStringTag ] ;
54
57
expect ( s ) . to . equal ( '@libp2p/webrtc' ) ;
55
58
} ) ;
56
59
57
60
it ( 'symbol property getter' , ( ) => {
58
- let t = new underTest . WebRTCTransport ( ) ;
61
+ let t = new underTest . WebRTCTransport ( components ) ;
59
62
let s = t [ symbol ] ;
60
63
expect ( s ) . to . equal ( true ) ;
61
64
} ) ;
@@ -69,7 +72,7 @@ describe('basic transport tests', () => {
69
72
] . map ( ( s ) => {
70
73
return multiaddr ( s ) ;
71
74
} ) ;
72
- let t = new underTest . WebRTCTransport ( ) ;
75
+ let t = new underTest . WebRTCTransport ( components ) ;
73
76
let result = t . filter ( mas ) ;
74
77
let expected : Multiaddr [ ] = [
75
78
multiaddr ( '/ip4/1.2.3.4/udp/1234/webrtc/certhash/uEiAUqV7kzvM1wI5DYDc1RbcekYVmXli_Qprlw3IkiEg6tQ/p2p/12D3KooWGDMwwqrpcYKpKCgxuKT2NfqPqa94QnkoBBpqvCaiCzWd' ) ,
@@ -83,7 +86,7 @@ describe('basic transport tests', () => {
83
86
84
87
it ( 'throws appropriate error when dialing someone without a peer ID' , async ( ) => {
85
88
let ma = multiaddr ( '/ip4/1.2.3.4/udp/1234/webrtc/certhash/uEiAUqV7kzvM1wI5DYDc1RbcekYVmXli_Qprlw3IkiEg6tQ' ) ;
86
- let t = new underTest . WebRTCTransport ( ) ;
89
+ let t = new underTest . WebRTCTransport ( components ) ;
87
90
try {
88
91
let conn = await t . dial ( ma , ignoredDialOption ( ) ) ;
89
92
expect ( conn . toString ( ) ) . to . equal ( 'Should have thrown' ) ;
@@ -105,10 +108,9 @@ describe('Transport interoperability tests', () => {
105
108
console . log ( 'Will not test connecting to an external server, as we do not appear to have one.' ) ;
106
109
return ;
107
110
}
108
- const tpt = new underTest . WebRTCTransport ( ) ;
109
111
const node = await createLibp2p ( {
110
- transports : [ tpt ] ,
111
- connectionEncryption : [ new Noise ( ) ] ,
112
+ transports : [ webRTC ( ) ] ,
113
+ connectionEncryption : [ ( ) => new Noise ( ) ] ,
112
114
} ) ;
113
115
await node . start ( )
114
116
const ma = multiaddr ( SERVER_MULTIADDR )
0 commit comments