Skip to content
This repository was archived by the owner on Aug 1, 2023. It is now read-only.

Commit b7aa313

Browse files
PedroMiguelSSachingbrain
authored andcommitted
refactor: update ipfsd-ctl version and use daemon.js util file (#86)
* chore: update ipfsd-ctl version and use daemon.js util file * chore: code review changes * chore: code review changes * fix: fix browser tests * fix: remove pubsub flag from js daemon * fix: make sure local http client is used * chore: update deps * fix: update rendezvous code to async/await * fix: update new ctl * chore: increase the timeout * chore: move ctl to released version * chore: code review changes * fix: give each invocation it's own data stream With all the added promises I think the order of execution had changed so one invocation would not recieve all the data events. * fix: increase test timeout * chore: upgrade http client
1 parent 4e1127b commit b7aa313

16 files changed

Lines changed: 499 additions & 758 deletions

.aegir.js

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
'use strict'
22

33
const createServer = require('ipfsd-ctl').createServer
4-
const parallel = require('async/parallel')
54
const rendezvous = require('libp2p-websocket-star-rendezvous')
65

76
let rzserver
8-
97
const server = createServer()
108
module.exports = {
119
karma: {
@@ -20,27 +18,15 @@ module.exports = {
2018
},
2119
hooks: {
2220
browser: {
23-
pre: (done) => {
24-
parallel([
25-
(cb) => server.start(cb),
26-
(cb) => {
27-
rendezvous.start({
28-
port: 24642
29-
}, (err, _rzserver) => {
30-
if (err) {
31-
return done(err)
32-
}
33-
rzserver = _rzserver
34-
cb()
35-
})
36-
}
37-
], done)
21+
pre: async () => {
22+
await server.start()
23+
rzserver = await rendezvous.start({
24+
port: 24642
25+
})
3826
},
39-
post: (done) => {
40-
parallel([
41-
(cb) => server.stop(cb),
42-
(cb) => rzserver.stop(cb)
43-
], done)
27+
post: async () => {
28+
await server.stop()
29+
await rzserver.stop()
4430
}
4531
}
4632
}

package.json

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,32 +38,33 @@
3838
},
3939
"homepage": "https://github.com/ipfs/interop#readme",
4040
"dependencies": {
41-
"aegir": "^20.0.0",
41+
"aegir": "^20.3.1",
4242
"async": "^2.6.2",
4343
"base64url": "^3.0.0",
4444
"bl": "^3.0.0",
4545
"bs58": "^4.0.1",
4646
"chai": "^4.2.0",
4747
"cids": "~0.7.1",
4848
"cross-env": "^5.2.0",
49+
"delay": "^4.3.0",
4950
"detect-node": "^2.0.4",
5051
"dir-compare": "^1.7.1",
5152
"dirty-chai": "^2.0.1",
5253
"eslint-plugin-react": "^7.12.4",
5354
"expose-loader": "~0.7.5",
5455
"form-data": "^2.3.3",
55-
"go-ipfs-dep": "~0.4.20",
56+
"go-ipfs-dep": "~0.4.22",
5657
"hat": "~0.0.3",
5758
"ipfs": "^0.38.0",
58-
"ipfs-http-client": "^33.1.0",
59+
"ipfs-http-client": "^38.2.1",
5960
"ipfs-repo": "~0.26.6",
6061
"ipfs-unixfs": "~0.1.16",
61-
"ipfsd-ctl": "~0.42.4",
62+
"ipfsd-ctl": "~0.47.4",
6263
"ipns": "~0.5.1",
6364
"is-ci": "^2.0.0",
6465
"is-os": "^1.0.1",
6566
"left-pad": "^1.3.0",
66-
"libp2p-websocket-star-rendezvous": "~0.3.0",
67+
"libp2p-websocket-star-rendezvous": "~0.4.1",
6768
"lodash": "^4.17.11",
6869
"merge-options": "^1.0.1",
6970
"mocha": "^5.2.0",
@@ -77,5 +78,8 @@
7778
"stream-to-promise": "^2.2.0",
7879
"transform-loader": "~0.2.4"
7980
},
80-
"contributors": []
81+
"contributors": [],
82+
"devDependencies": {
83+
"karma-mocha-webworker": "^1.3.0"
84+
}
8185
}

test/cid-version-agnostic.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,24 @@ const expect = chai.expect
77
chai.use(dirtyChai)
88
const hat = require('hat')
99
const CID = require('cids')
10-
const {
11-
spawnInitAndStartGoDaemon,
12-
spawnInitAndStartJsDaemon,
13-
stopDaemon
14-
} = require('./utils/daemon')
10+
const { spawnGoDaemon, spawnJsDaemon } = require('./utils/daemon')
1511

16-
describe('CID version agnostic', () => {
12+
const jsDaemonOptions = {
13+
config: {
14+
Bootstrap: []
15+
}
16+
}
17+
18+
describe('CID version agnostic', function () {
19+
this.timeout(50 * 1000)
1720
const daemons = {}
1821

1922
before(async function () {
20-
this.timeout(50 * 1000)
21-
2223
const [js0, js1, go0, go1] = await Promise.all([
23-
spawnInitAndStartJsDaemon(),
24-
spawnInitAndStartJsDaemon(),
25-
spawnInitAndStartGoDaemon(),
26-
spawnInitAndStartGoDaemon()
24+
spawnJsDaemon(jsDaemonOptions),
25+
spawnJsDaemon(jsDaemonOptions),
26+
spawnGoDaemon(),
27+
spawnGoDaemon()
2728
])
2829
Object.assign(daemons, { js0, js1, go0, go1 })
2930

@@ -43,8 +44,7 @@ describe('CID version agnostic', () => {
4344
})
4445

4546
after(function () {
46-
this.timeout(30 * 1000)
47-
return Promise.all(Object.values(daemons).map(stopDaemon))
47+
return Promise.all(Object.values(daemons).map((daemon) => daemon.stop()))
4848
})
4949

5050
it('should add v0 and cat v1 (go0 -> go0)', async () => {

test/circuit.js

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,8 @@
44

55
const chai = require('chai')
66
const dirtyChai = require('dirty-chai')
7-
const expect = chai.expect
87
chai.use(dirtyChai)
98

10-
const parallel = require('async/parallel')
11-
129
const all = require('./circuit/all')
1310
const browser = require('./circuit/browser')
1411

@@ -45,21 +42,18 @@ describe('circuit', () => {
4542
dsc(test, function () {
4643
this.timeout(tests[test].timeout)
4744

48-
before((done) => {
49-
tests[test].create((err, _nodes) => {
50-
expect(err).to.not.exist()
51-
nodes = _nodes.map((n) => n.ipfsd)
52-
nodeA = _nodes[0]
53-
relay = _nodes[1]
54-
nodeB = _nodes[2]
55-
done()
56-
})
45+
before(async () => {
46+
const _nodes = await tests[test].create()
47+
nodes = _nodes.map((n) => n.ipfsd)
48+
nodeA = _nodes[0]
49+
relay = _nodes[1]
50+
nodeB = _nodes[2]
5751
})
5852

59-
after((done) => parallel(nodes.map((ipfsd) => (cb) => ipfsd.stop(cb)), done))
53+
after(() => Promise.all(nodes.map((node) => node.stop())))
6054

61-
it('connect', (done) => {
62-
tests[test].connect(nodeA, nodeB, relay, done)
55+
it('connect', () => {
56+
return tests[test].connect(nodeA, nodeB, relay)
6357
})
6458

6559
it('send', (done) => {

test/circuit/all.js

Lines changed: 40 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
/* eslint-env mocha */
33
'use strict'
44

5-
const series = require('async/series')
6-
75
const utils = require('../utils/circuit')
86

97
const createJs = utils.createJsNode
@@ -13,59 +11,59 @@ const base = '/ip4/127.0.0.1/tcp/0'
1311

1412
module.exports = {
1513
'go-go-go': {
16-
create: (callback) => series([
17-
(cb) => createGo([`${base}/ws`], cb),
18-
(cb) => createGo([`${base}/ws`], cb),
19-
(cb) => createGo([`${base}/ws`], cb)
20-
], callback)
14+
create: () => Promise.all([
15+
createGo([`${base}/ws`]),
16+
createGo([`${base}/ws`]),
17+
createGo([`${base}/ws`])
18+
])
2119
},
2220
'js-go-go': {
23-
create: (callback) => series([
24-
(cb) => createJs([`${base}/ws`], cb),
25-
(cb) => createGo([`${base}/ws`], cb),
26-
(cb) => createGo([`${base}/ws`], cb)
27-
], callback)
21+
create: () => Promise.all([
22+
createJs([`${base}/ws`]),
23+
createGo([`${base}/ws`]),
24+
createGo([`${base}/ws`])
25+
])
2826
},
2927
'go-go-js': {
30-
create: (callback) => series([
31-
(cb) => createGo([`${base}/ws`], cb),
32-
(cb) => createGo([`${base}/ws`], cb),
33-
(cb) => createJs([`${base}/ws`], cb)
34-
], callback)
28+
create: () => Promise.all([
29+
createGo([`${base}/ws`]),
30+
createGo([`${base}/ws`]),
31+
createJs([`${base}/ws`])
32+
])
3533
},
3634
'js-go-js': {
37-
create: (callback) => series([
38-
(cb) => createJs([`${base}/ws`], cb),
39-
(cb) => createGo([`${base}/ws`], cb),
40-
(cb) => createJs([`${base}/ws`], cb)
41-
], callback)
35+
create: () => Promise.all([
36+
createJs([`${base}/ws`]),
37+
createGo([`${base}/ws`]),
38+
createJs([`${base}/ws`])
39+
])
4240
},
4341
'go-js-go': {
44-
create: (callback) => series([
45-
(cb) => createGo([`${base}/ws`], cb),
46-
(cb) => createJs([`${base}/ws`], cb),
47-
(cb) => createGo([`${base}/ws`], cb)
48-
], callback)
42+
create: () => Promise.all([
43+
createGo([`${base}/ws`]),
44+
createJs([`${base}/ws`]),
45+
createGo([`${base}/ws`])
46+
])
4947
},
5048
'js-js-go': {
51-
create: (callback) => series([
52-
(cb) => createJs([`${base}/ws`], cb),
53-
(cb) => createJs([`${base}/ws`], cb),
54-
(cb) => createGo([`${base}/ws`], cb)
55-
], callback)
49+
create: () => Promise.all([
50+
createJs([`${base}/ws`]),
51+
createJs([`${base}/ws`]),
52+
createGo([`${base}/ws`])
53+
])
5654
},
5755
'go-js-js': {
58-
create: (callback) => series([
59-
(cb) => createGo([`${base}/ws`], cb),
60-
(cb) => createJs([`${base}/ws`], cb),
61-
(cb) => createJs([`${base}/ws`], cb)
62-
], callback)
56+
create: () => Promise.all([
57+
createGo([`${base}/ws`]),
58+
createJs([`${base}/ws`]),
59+
createJs([`${base}/ws`])
60+
])
6361
},
6462
'js-js-js': {
65-
create: (callback) => series([
66-
(cb) => createJs([`${base}/ws`], cb),
67-
(cb) => createJs([`${base}/ws`], cb),
68-
(cb) => createJs([`${base}/ws`], cb)
69-
], callback)
63+
create: () => Promise.all([
64+
createJs([`${base}/ws`]),
65+
createJs([`${base}/ws`]),
66+
createJs([`${base}/ws`])
67+
])
7068
}
7169
}

0 commit comments

Comments
 (0)