22/* eslint-env mocha */
33'use strict'
44
5- const chai = require ( 'chai' )
6- const dirtyChai = require ( 'dirty-chai' )
7- const expect = chai . expect
8- chai . use ( dirtyChai )
9-
10- const series = require ( 'async/series' )
11- const parallel = require ( 'async/parallel' )
12- const waterfall = require ( 'async/waterfall' )
135const crypto = require ( 'crypto' )
146const pretty = require ( 'pretty-bytes' )
157const randomFs = require ( 'random-fs' )
@@ -20,8 +12,8 @@ const hat = require('hat')
2012const isCi = require ( 'is-ci' )
2113const isWindows = require ( 'is-os' ) . isWindows
2214const os = require ( 'os' )
23-
2415const rmDir = promisify ( rimraf )
16+ const { expect } = require ( './utils/chai' )
2517
2618const { spawnGoDaemon, spawnJsDaemon } = require ( './utils/daemon' )
2719
@@ -119,74 +111,66 @@ describe('exchange files', function () {
119111 let id2
120112
121113 before ( 'spawn nodes' , async function ( ) {
122- const nodes = await Promise . all ( tests [ name ] . map ( fn => fn ( ) ) )
123- daemon1 = nodes [ 0 ]
124- daemon2 = nodes [ 1 ]
114+ [ daemon1 , daemon2 ] = await Promise . all ( tests [ name ] . map ( fn => fn ( ) ) )
125115 } )
126116
127- before ( 'connect' , function ( done ) {
128- series ( [
129- ( cb ) => parallel ( [
130- ( cb ) => daemon1 . api . id ( cb ) ,
131- ( cb ) => daemon2 . api . id ( cb )
132- ] , ( err , ids ) => {
133- expect ( err ) . to . not . exist ( )
134- id1 = ids [ 0 ]
135- id2 = ids [ 1 ]
136- cb ( )
137- } ) ,
138- ( cb ) => daemon1 . api . swarm . connect ( id2 . addresses [ 0 ] , cb ) ,
139- ( cb ) => daemon2 . api . swarm . connect ( id1 . addresses [ 0 ] , cb ) ,
140- ( cb ) => parallel ( [
141- ( cb ) => daemon1 . api . swarm . peers ( cb ) ,
142- ( cb ) => daemon2 . api . swarm . peers ( cb )
143- ] , ( err , peers ) => {
144- expect ( err ) . to . not . exist ( )
145- expect ( peers [ 0 ] . map ( ( p ) => p . peer . toB58String ( ) ) ) . to . include ( id2 . id )
146- expect ( peers [ 1 ] . map ( ( p ) => p . peer . toB58String ( ) ) ) . to . include ( id1 . id )
147- cb ( )
148- } )
149- ] , done )
117+ before ( 'connect' , async function ( ) {
118+ this . timeout ( timeout ) ; // eslint-disable-line
119+
120+ [ id1 , id2 ] = await Promise . all ( [
121+ daemon1 . api . id ( ) ,
122+ daemon2 . api . id ( )
123+ ] )
124+
125+ await daemon1 . api . swarm . connect ( id2 . addresses [ 0 ] )
126+ await daemon2 . api . swarm . connect ( id1 . addresses [ 0 ] )
127+
128+ const [ peer1 , peer2 ] = await Promise . all ( [
129+ daemon1 . api . swarm . peers ( ) ,
130+ daemon2 . api . swarm . peers ( )
131+ ] )
132+
133+ expect ( peer1 . map ( ( p ) => p . peer . toB58String ( ) ) ) . to . include ( id2 . id )
134+ expect ( peer2 . map ( ( p ) => p . peer . toB58String ( ) ) ) . to . include ( id1 . id )
150135 } )
151136
152137 after ( 'stop nodes' , function ( ) {
153138 return Promise . all ( [ daemon1 , daemon2 ] . map ( ( node ) => node . stop ( ) ) )
154139 } )
155140
156141 describe ( 'cat file' , ( ) => sizes . forEach ( ( size ) => {
157- it ( `${ name } : ${ pretty ( size ) } ` , function ( done ) {
142+ it ( `${ name } : ${ pretty ( size ) } ` , async function ( ) {
143+ this . timeout ( timeout )
144+
158145 const data = crypto . randomBytes ( size )
159146
160- waterfall ( [
161- ( cb ) => daemon1 . api . add ( data , cb ) ,
162- ( res , cb ) => daemon2 . api . cat ( res [ 0 ] . hash , cb )
163- ] , ( err , file ) => {
164- expect ( err ) . to . not . exist ( )
165- expect ( file ) . to . eql ( data )
166- done ( )
167- } )
147+ const res = await daemon1 . api . add ( data )
148+ const file = await daemon2 . api . cat ( res [ 0 ] . hash )
149+
150+ expect ( file ) . to . eql ( data )
168151 } )
169152 } ) )
170153
171154 if ( isWindows ( ) ) { return }
172155 // TODO fix dir tests on Windows
173156
174157 describe ( 'get directory' , ( ) => depth . forEach ( ( d ) => dirs . forEach ( ( num ) => {
175- it ( `${ name } : depth: ${ d } , num: ${ num } ` , function ( ) {
158+ it ( `${ name } : depth: ${ d } , num: ${ num } ` , async function ( ) {
159+ this . timeout ( timeout )
160+
176161 const dir = tmpDir ( )
177- return randomFs ( {
162+
163+ await randomFs ( {
178164 path : dir ,
179165 depth : d ,
180166 number : num
181- } ) . then ( ( ) => {
182- return daemon1 . api . addFromFs ( dir , { recursive : true } )
183- } ) . then ( ( res ) => {
184- const hash = res [ res . length - 1 ] . hash
185- return daemon2 . api . get ( hash )
186- } ) . then ( ( res ) => {
187- expect ( res ) . to . exist ( )
188- return rmDir ( dir )
189167 } )
168+ const res = await daemon1 . api . addFromFs ( dir , { recursive : true } )
169+ const hash = res [ res . length - 1 ] . hash
170+ const getRes = await daemon2 . api . get ( hash )
171+ expect ( getRes ) . to . exist ( )
172+
173+ return rmDir ( dir )
190174 } )
191175 } ) ) )
192176 } )
0 commit comments