@@ -38,13 +38,15 @@ func TestHungRequest(t *testing.T) {
3838 if err != nil {
3939 t .Fatal (err )
4040 }
41- // Hang on every request.
42- hosts [1 ].SetStreamHandler (d .protocols [0 ], func (s network.Stream ) {
43- defer s .Reset () //nolint
44- <- ctx .Done ()
45- })
41+ for _ , proto := range d .serverProtocols {
42+ // Hang on every request.
43+ hosts [1 ].SetStreamHandler (proto , func (s network.Stream ) {
44+ defer s .Reset () //nolint
45+ <- ctx .Done ()
46+ })
47+ }
4648
47- require .NoError (t , hosts [0 ].Peerstore ().AddProtocols (hosts [1 ].ID (), protocol .ConvertToStrings (d .protocols )... ))
49+ require .NoError (t , hosts [0 ].Peerstore ().AddProtocols (hosts [1 ].ID (), protocol .ConvertToStrings (d .serverProtocols )... ))
4850 d .peerFound (ctx , hosts [1 ].ID (), true )
4951
5052 ctx1 , cancel1 := context .WithTimeout (ctx , 1 * time .Second )
@@ -91,10 +93,12 @@ func TestGetFailures(t *testing.T) {
9193 }
9294
9395 // Reply with failures to every message
94- host2 .SetStreamHandler (d .protocols [0 ], func (s network.Stream ) {
95- time .Sleep (400 * time .Millisecond )
96- s .Close ()
97- })
96+ for _ , proto := range d .serverProtocols {
97+ host2 .SetStreamHandler (proto , func (s network.Stream ) {
98+ time .Sleep (400 * time .Millisecond )
99+ s .Close ()
100+ })
101+ }
98102
99103 host1 .Peerstore ().AddAddrs (host2 .ID (), host2 .Addrs (), peerstore .ConnectedAddrTTL )
100104 _ , err = host1 .Network ().DialPeer (ctx , host2 .ID ())
@@ -120,24 +124,26 @@ func TestGetFailures(t *testing.T) {
120124
121125 t .Log ("Timeout test passed." )
122126
123- // Reply with failures to every message
124- host2 .SetStreamHandler (d .protocols [0 ], func (s network.Stream ) {
125- defer s .Close ()
127+ for _ , proto := range d .serverProtocols {
128+ // Reply with failures to every message
129+ host2 .SetStreamHandler (proto , func (s network.Stream ) {
130+ defer s .Close ()
126131
127- pbr := ggio .NewDelimitedReader (s , network .MessageSizeMax )
128- pbw := ggio .NewDelimitedWriter (s )
132+ pbr := ggio .NewDelimitedReader (s , network .MessageSizeMax )
133+ pbw := ggio .NewDelimitedWriter (s )
129134
130- pmes := new (pb.Message )
131- if err := pbr .ReadMsg (pmes ); err != nil {
132- // user gave up
133- return
134- }
135+ pmes := new (pb.Message )
136+ if err := pbr .ReadMsg (pmes ); err != nil {
137+ // user gave up
138+ return
139+ }
135140
136- resp := & pb.Message {
137- Type : pmes .Type ,
138- }
139- _ = pbw .WriteMsg (resp )
140- })
141+ resp := & pb.Message {
142+ Type : pmes .Type ,
143+ }
144+ _ = pbw .WriteMsg (resp )
145+ })
146+ }
141147
142148 // This one should fail with NotFound.
143149 // long context timeout to ensure we dont end too early.
@@ -172,7 +178,7 @@ func TestGetFailures(t *testing.T) {
172178 Record : rec ,
173179 }
174180
175- s , err := host2 .NewStream (context .Background (), host1 .ID (), d .protocols [ 0 ] )
181+ s , err := host2 .NewStream (context .Background (), host1 .ID (), d .protocols ... )
176182 if err != nil {
177183 t .Fatal (err )
178184 }
@@ -224,36 +230,38 @@ func TestNotFound(t *testing.T) {
224230 // Reply with random peers to every message
225231 for _ , host := range hosts {
226232 host := host // shadow loop var
227- host .SetStreamHandler (d .protocols [0 ], func (s network.Stream ) {
228- defer s .Close ()
233+ for _ , proto := range d .serverProtocols {
234+ host .SetStreamHandler (proto , func (s network.Stream ) {
235+ defer s .Close ()
229236
230- pbr := ggio .NewDelimitedReader (s , network .MessageSizeMax )
231- pbw := ggio .NewDelimitedWriter (s )
232-
233- pmes := new (pb.Message )
234- if err := pbr .ReadMsg (pmes ); err != nil {
235- panic (err )
236- }
237-
238- switch pmes .GetType () {
239- case pb .Message_GET_VALUE :
240- resp := & pb.Message {Type : pmes .Type }
237+ pbr := ggio .NewDelimitedReader (s , network .MessageSizeMax )
238+ pbw := ggio .NewDelimitedWriter (s )
241239
242- ps := []peer.AddrInfo {}
243- for i := 0 ; i < 7 ; i ++ {
244- p := hosts [rand .Intn (len (hosts ))].ID ()
245- pi := host .Peerstore ().PeerInfo (p )
246- ps = append (ps , pi )
240+ pmes := new (pb.Message )
241+ if err := pbr .ReadMsg (pmes ); err != nil {
242+ panic (err )
247243 }
248244
249- resp .CloserPeers = pb .PeerInfosToPBPeers (d .host .Network (), ps )
250- if err := pbw .WriteMsg (resp ); err != nil {
251- panic (err )
245+ switch pmes .GetType () {
246+ case pb .Message_GET_VALUE :
247+ resp := & pb.Message {Type : pmes .Type }
248+
249+ ps := []peer.AddrInfo {}
250+ for i := 0 ; i < 7 ; i ++ {
251+ p := hosts [rand .Intn (len (hosts ))].ID ()
252+ pi := host .Peerstore ().PeerInfo (p )
253+ ps = append (ps , pi )
254+ }
255+
256+ resp .CloserPeers = pb .PeerInfosToPBPeers (d .host .Network (), ps )
257+ if err := pbw .WriteMsg (resp ); err != nil {
258+ panic (err )
259+ }
260+ default :
261+ panic ("Shouldnt recieve this." )
252262 }
253- default :
254- panic ("Shouldnt recieve this." )
255- }
256- })
263+ })
264+ }
257265 }
258266
259267 // long timeout to ensure timing is not at play.
@@ -304,33 +312,35 @@ func TestLessThanKResponses(t *testing.T) {
304312 // Reply with random peers to every message
305313 for _ , host := range hosts {
306314 host := host // shadow loop var
307- host .SetStreamHandler (d .protocols [0 ], func (s network.Stream ) {
308- defer s .Close ()
315+ for _ , proto := range d .serverProtocols {
316+ host .SetStreamHandler (proto , func (s network.Stream ) {
317+ defer s .Close ()
309318
310- pbr := ggio .NewDelimitedReader (s , network .MessageSizeMax )
311- pbw := ggio .NewDelimitedWriter (s )
312-
313- pmes := new (pb.Message )
314- if err := pbr .ReadMsg (pmes ); err != nil {
315- panic (err )
316- }
319+ pbr := ggio .NewDelimitedReader (s , network .MessageSizeMax )
320+ pbw := ggio .NewDelimitedWriter (s )
317321
318- switch pmes .GetType () {
319- case pb .Message_GET_VALUE :
320- pi := host .Peerstore ().PeerInfo (hosts [1 ].ID ())
321- resp := & pb.Message {
322- Type : pmes .Type ,
323- CloserPeers : pb .PeerInfosToPBPeers (d .host .Network (), []peer.AddrInfo {pi }),
322+ pmes := new (pb.Message )
323+ if err := pbr .ReadMsg (pmes ); err != nil {
324+ panic (err )
324325 }
325326
326- if err := pbw .WriteMsg (resp ); err != nil {
327- panic (err )
327+ switch pmes .GetType () {
328+ case pb .Message_GET_VALUE :
329+ pi := host .Peerstore ().PeerInfo (hosts [1 ].ID ())
330+ resp := & pb.Message {
331+ Type : pmes .Type ,
332+ CloserPeers : pb .PeerInfosToPBPeers (d .host .Network (), []peer.AddrInfo {pi }),
333+ }
334+
335+ if err := pbw .WriteMsg (resp ); err != nil {
336+ panic (err )
337+ }
338+ default :
339+ panic ("Shouldnt recieve this." )
328340 }
329- default :
330- panic ("Shouldnt recieve this." )
331- }
332341
333- })
342+ })
343+ }
334344 }
335345
336346 ctx , cancel := context .WithTimeout (ctx , time .Second * 30 )
@@ -369,34 +379,36 @@ func TestMultipleQueries(t *testing.T) {
369379
370380 d .peerFound (ctx , hosts [1 ].ID (), true )
371381
372- // It would be nice to be able to just get a value and succeed but then
373- // we'd need to deal with selectors and validators...
374- hosts [1 ].SetStreamHandler (d .protocols [0 ], func (s network.Stream ) {
375- defer s .Close ()
376-
377- pbr := ggio .NewDelimitedReader (s , network .MessageSizeMax )
378- pbw := ggio .NewDelimitedWriter (s )
382+ for _ , proto := range d .serverProtocols {
383+ // It would be nice to be able to just get a value and succeed but then
384+ // we'd need to deal with selectors and validators...
385+ hosts [1 ].SetStreamHandler (proto , func (s network.Stream ) {
386+ defer s .Close ()
379387
380- pmes := new (pb.Message )
381- if err := pbr .ReadMsg (pmes ); err != nil {
382- panic (err )
383- }
388+ pbr := ggio .NewDelimitedReader (s , network .MessageSizeMax )
389+ pbw := ggio .NewDelimitedWriter (s )
384390
385- switch pmes .GetType () {
386- case pb .Message_GET_VALUE :
387- pi := hosts [1 ].Peerstore ().PeerInfo (hosts [0 ].ID ())
388- resp := & pb.Message {
389- Type : pmes .Type ,
390- CloserPeers : pb .PeerInfosToPBPeers (d .host .Network (), []peer.AddrInfo {pi }),
391+ pmes := new (pb.Message )
392+ if err := pbr .ReadMsg (pmes ); err != nil {
393+ panic (err )
391394 }
392395
393- if err := pbw .WriteMsg (resp ); err != nil {
394- panic (err )
396+ switch pmes .GetType () {
397+ case pb .Message_GET_VALUE :
398+ pi := hosts [1 ].Peerstore ().PeerInfo (hosts [0 ].ID ())
399+ resp := & pb.Message {
400+ Type : pmes .Type ,
401+ CloserPeers : pb .PeerInfosToPBPeers (d .host .Network (), []peer.AddrInfo {pi }),
402+ }
403+
404+ if err := pbw .WriteMsg (resp ); err != nil {
405+ panic (err )
406+ }
407+ default :
408+ panic ("Shouldnt recieve this." )
395409 }
396- default :
397- panic ("Shouldnt recieve this." )
398- }
399- })
410+ })
411+ }
400412
401413 // long timeout to ensure timing is not at play.
402414 ctx , cancel := context .WithTimeout (ctx , time .Second * 20 )
0 commit comments