@@ -25,27 +25,21 @@ describe('high level API (swarm with spdy + webrtc-star)', () => {
25
25
before ( ( done ) => {
26
26
series ( [
27
27
( cb ) => peerId . create ( ( err , id1 ) => {
28
- if ( err ) {
29
- return cb ( err )
30
- }
28
+ expect ( err ) . to . not . exist
31
29
peer1 = new PeerInfo ( id1 )
32
30
const mh1 = multiaddr ( '/libp2p-webrtc-star/ip4/127.0.0.1/tcp/15555/ws/ipfs/' + id1 . toB58String ( ) )
33
31
peer1 . multiaddr . add ( mh1 )
34
32
cb ( )
35
33
} ) ,
36
34
( cb ) => peerId . create ( ( err , id2 ) => {
37
- if ( err ) {
38
- return cb ( err )
39
- }
35
+ expect ( err ) . to . not . exist
40
36
peer2 = new PeerInfo ( id2 )
41
37
const mh2 = multiaddr ( '/libp2p-webrtc-star/ip4/127.0.0.1/tcp/15555/ws/ipfs/' + id2 . toB58String ( ) )
42
38
peer2 . multiaddr . add ( mh2 )
43
39
cb ( )
44
40
} )
45
41
] , ( err ) => {
46
- if ( err ) {
47
- return done ( err )
48
- }
42
+ expect ( err ) . to . not . exist
49
43
50
44
swarm1 = new Swarm ( peer1 )
51
45
swarm2 = new Swarm ( peer2 )
@@ -106,44 +100,49 @@ describe('high level API (swarm with spdy + webrtc-star)', () => {
106
100
} )
107
101
108
102
it ( 'create a third node and check that discovery works' , ( done ) => {
109
- wstar1 . discovery . on ( 'peer' , ( peerInfo ) => {
110
- expect ( Object . keys ( swarm1 . muxedConns ) . length ) . to . equal ( 1 )
111
- swarm1 . dial ( peerInfo , ( ) => {
112
- expect ( Object . keys ( swarm1 . muxedConns ) . length ) . to . equal ( 2 )
113
- } )
114
- } )
115
- wstar2 . discovery . on ( 'peer' , ( peerInfo ) => {
116
- swarm2 . dial ( peerInfo )
117
- } )
103
+ let counter = 0
104
+
105
+ let swarm3
106
+
107
+ function check ( ) {
108
+ if ( ++ counter === 4 ) {
109
+ const s1n = Object . keys ( swarm1 . muxedConns ) . length
110
+ const s2n = Object . keys ( swarm2 . muxedConns ) . length
111
+ const s3n = Object . keys ( swarm3 . muxedConns ) . length
112
+ console . log ( '->' , s1n , s2n , s3n )
113
+ expect ( s1n ) . to . equal ( 2 )
114
+ expect ( s2n ) . to . equal ( 2 )
115
+ expect ( s3n ) . to . equal ( 2 )
116
+ swarm3 . close ( done )
117
+ }
118
+ if ( counter === 3 ) {
119
+ setTimeout ( check , 2000 )
120
+ }
121
+ }
122
+
123
+ wstar1 . discovery . on ( 'peer' , ( peerInfo ) => swarm1 . dial ( peerInfo , check ) )
124
+ wstar2 . discovery . on ( 'peer' , ( peerInfo ) => swarm2 . dial ( peerInfo , check ) )
118
125
119
126
peerId . create ( ( err , id3 ) => {
120
- if ( err ) {
121
- return done ( err )
122
- }
127
+ expect ( err ) . to . not . exist
128
+
123
129
const peer3 = new PeerInfo ( id3 )
124
130
const mh3 = multiaddr ( '/libp2p-webrtc-star/ip4/127.0.0.1/tcp/15555/ws/ipfs/' + id3 . toB58String ( ) )
125
131
peer3 . multiaddr . add ( mh3 )
126
132
127
- const swarm3 = new Swarm ( peer3 )
133
+ swarm3 = new Swarm ( peer3 )
128
134
const wstar3 = new WebRTCStar ( )
129
135
swarm3 . transport . add ( 'wstar' , wstar3 )
130
136
swarm3 . connection . addStreamMuxer ( spdy )
131
137
swarm3 . connection . reuse ( )
132
- swarm3 . listen ( ( ) => {
133
- setTimeout ( ( ) => {
134
- expect ( Object . keys ( swarm1 . muxedConns ) . length ) . to . equal ( 2 )
135
- expect ( Object . keys ( swarm2 . muxedConns ) . length ) . to . equal ( 2 )
136
- expect ( Object . keys ( swarm3 . muxedConns ) . length ) . to . equal ( 2 )
137
- swarm3 . close ( done )
138
- } , 8000 )
139
- } )
138
+ swarm3 . listen ( check )
140
139
} )
141
140
} )
142
141
143
142
it ( 'close' , ( done ) => {
144
143
parallel ( [
145
- swarm1 . close ,
146
- swarm2 . close
144
+ ( cb ) => swarm1 . close ( cb ) ,
145
+ ( cb ) => swarm2 . close ( cb )
147
146
] , done )
148
147
} )
149
148
} )
0 commit comments