@@ -477,16 +477,16 @@ describe('conn upgrades', function () {
477
477
this . timeout ( 20000 )
478
478
479
479
describe ( 'secio on tcp' , ( ) => {
480
- // before((done) => { done() })
481
- // after((done) => { done() })
480
+ before ( ( done ) => { done ( ) } )
481
+ after ( ( done ) => { done ( ) } )
482
482
483
483
it . skip ( 'add' , ( done ) => { } )
484
484
it . skip ( 'dial' , ( done ) => { } )
485
485
it . skip ( 'tls on a muxed stream (not the full conn)' , ( done ) => { } )
486
486
} )
487
487
describe ( 'tls on tcp' , ( ) => {
488
- // before((done) => { done() })
489
- // after((done) => { done() })
488
+ before ( ( done ) => { done ( ) } )
489
+ after ( ( done ) => { done ( ) } )
490
490
491
491
it . skip ( 'add' , ( done ) => { } )
492
492
it . skip ( 'dial' , ( done ) => { } )
@@ -497,11 +497,126 @@ describe('conn upgrades', function () {
497
497
describe ( 'high level API - with everything mixed all together!' , function ( ) {
498
498
this . timeout ( 20000 )
499
499
500
- // before((done) => { done() })
501
- // after((done) => { done() })
500
+ var swarmA // tcp
501
+ var peerA
502
+ var swarmB // tcp+ws
503
+ var peerB
504
+ var swarmC // tcp+ws
505
+ var peerC
506
+
507
+ before ( ( done ) => {
508
+ peerA = new Peer ( )
509
+ peerB = new Peer ( )
510
+ peerC = new Peer ( )
511
+
512
+ // console.log('peer A', peerA.id.toB58String())
513
+ // console.log('peer B', peerB.id.toB58String())
514
+ // console.log('peer C', peerC.id.toB58String())
515
+
516
+ swarmA = new Swarm ( peerA )
517
+ swarmB = new Swarm ( peerB )
518
+ swarmC = new Swarm ( peerC )
519
+
520
+ done ( )
521
+ } )
522
+
523
+ after ( ( done ) => {
524
+ var counter = 0
525
+
526
+ swarmA . close ( closed )
527
+ swarmB . close ( closed )
528
+ swarmC . close ( closed )
529
+
530
+ function closed ( ) {
531
+ if ( ++ counter === 3 ) {
532
+ done ( )
533
+ }
534
+ }
535
+ } )
536
+
537
+ it ( 'add tcp' , ( done ) => {
538
+ peerA . multiaddr . add ( multiaddr ( '/ip4/127.0.0.1/tcp/9011' ) )
539
+ peerB . multiaddr . add ( multiaddr ( '/ip4/127.0.0.1/tcp/9021' ) )
540
+ peerC . multiaddr . add ( multiaddr ( '/ip4/127.0.0.1/tcp/9031' ) )
541
+
542
+ swarmA . transport . add ( 'tcp' , new TCP ( ) )
543
+ swarmA . transport . listen ( 'tcp' , { } , null , ready )
544
+
545
+ swarmB . transport . add ( 'tcp' , new TCP ( ) )
546
+ swarmB . transport . listen ( 'tcp' , { } , null , ready )
547
+
548
+ swarmC . transport . add ( 'tcp' , new TCP ( ) )
549
+ swarmC . transport . listen ( 'tcp' , { } , null , ready )
550
+
551
+ var counter = 0
552
+
553
+ function ready ( ) {
554
+ if ( ++ counter === 3 ) {
555
+ done ( )
556
+ }
557
+ }
558
+ } )
502
559
503
- it . skip ( 'add tcp' , ( done ) => { } )
504
560
it . skip ( 'add utp' , ( done ) => { } )
505
- it . skip ( 'add websockets' , ( done ) => { } )
506
- it . skip ( 'dial' , ( done ) => { } )
561
+
562
+ it ( 'add websockets' , ( done ) => {
563
+ peerB . multiaddr . add ( multiaddr ( '/ip4/127.0.0.1/tcp/9022/websockets' ) )
564
+ peerC . multiaddr . add ( multiaddr ( '/ip4/127.0.0.1/tcp/9032/websockets' ) )
565
+
566
+ swarmB . transport . add ( 'ws' , new WebSockets ( ) )
567
+ swarmB . transport . listen ( 'ws' , { } , null , ready )
568
+
569
+ swarmC . transport . add ( 'ws' , new WebSockets ( ) )
570
+ swarmC . transport . listen ( 'ws' , { } , null , ready )
571
+
572
+ var counter = 0
573
+
574
+ function ready ( ) {
575
+ if ( ++ counter === 2 ) {
576
+ done ( )
577
+ }
578
+ }
579
+ } )
580
+
581
+ it ( 'add spdy' , ( done ) => {
582
+ swarmA . connection . addStreamMuxer ( spdy )
583
+ swarmB . connection . addStreamMuxer ( spdy )
584
+ swarmC . connection . addStreamMuxer ( spdy )
585
+ swarmA . connection . reuse ( )
586
+ swarmB . connection . reuse ( )
587
+ swarmC . connection . reuse ( )
588
+ done ( )
589
+ } )
590
+
591
+ it . skip ( 'add multiplex' , ( done ) => { } )
592
+
593
+ it ( 'dial from tcp to tcp+ws' , ( done ) => {
594
+ swarmB . handle ( '/anona/1.0.0' , ( conn ) => {
595
+ conn . pipe ( conn )
596
+ } )
597
+
598
+ swarmA . dial ( peerB , '/anona/1.0.0' , ( err , conn ) => {
599
+ expect ( err ) . to . not . exist
600
+ expect ( Object . keys ( swarmA . muxedConns ) . length ) . to . equal ( 1 )
601
+ conn . end ( )
602
+
603
+ conn . on ( 'data' , ( ) => { } ) // let it flow.. let it flooooow
604
+ conn . on ( 'end' , done )
605
+ } )
606
+ } )
607
+
608
+ it ( 'dial from tcp+ws to tcp+ws' , ( done ) => {
609
+ swarmC . handle ( '/mamao/1.0.0' , ( conn ) => {
610
+ conn . pipe ( conn )
611
+ } )
612
+
613
+ swarmA . dial ( peerC , '/mamao/1.0.0' , ( err , conn ) => {
614
+ expect ( err ) . to . not . exist
615
+ expect ( Object . keys ( swarmA . muxedConns ) . length ) . to . equal ( 2 )
616
+ conn . end ( )
617
+
618
+ conn . on ( 'data' , ( ) => { } ) // let it flow.. let it flooooow
619
+ conn . on ( 'end' , done )
620
+ } )
621
+ } )
507
622
} )
0 commit comments