Skip to content
This repository was archived by the owner on Aug 1, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4,493 changes: 2,775 additions & 1,718 deletions package-lock.json

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
},
"homepage": "https://github.com/ipfs/interop#readme",
"dependencies": {
"aegir": "^20.0.0",
"aegir": "^20.3.1",
"async": "^2.6.2",
"base64url": "^3.0.0",
"bl": "^3.0.0",
Expand All @@ -52,13 +52,13 @@
"eslint-plugin-react": "^7.12.4",
"expose-loader": "~0.7.5",
"form-data": "^2.3.3",
"go-ipfs-dep": "~0.4.20",
"go-ipfs-dep": "~0.4.22",
"hat": "~0.0.3",
"ipfs": "^0.37.0",
"ipfs-http-client": "^33.1.0",
"ipfs": "^0.37.1",
"ipfs-http-client": "^37.0.1",
"ipfs-repo": "~0.26.6",
"ipfs-unixfs": "~0.1.16",
"ipfsd-ctl": "~0.42.4",
"ipfsd-ctl": "~0.47.1",
"ipns": "~0.5.1",
"is-ci": "^2.0.0",
"is-os": "^1.0.1",
Expand Down
18 changes: 10 additions & 8 deletions test/cid-version-agnostic.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ const expect = chai.expect
chai.use(dirtyChai)
const hat = require('hat')
const CID = require('cids')
const {
spawnInitAndStartGoDaemon,
spawnInitAndStartJsDaemon,
stopDaemon
} = require('./utils/daemon')
const { spawnInitAndStartGoDaemon, spawnInitAndStartJsDaemon } = require('./utils/daemon')

const jsDaemonOptions = {
config: {
Bootstrap: []
}
}

describe('CID version agnostic', () => {
const daemons = {}
Expand All @@ -20,8 +22,8 @@ describe('CID version agnostic', () => {
this.timeout(50 * 1000)

const [js0, js1, go0, go1] = await Promise.all([
spawnInitAndStartJsDaemon(),
spawnInitAndStartJsDaemon(),
spawnInitAndStartJsDaemon(jsDaemonOptions),
spawnInitAndStartJsDaemon(jsDaemonOptions),
Comment thread
PedroMiguelSS marked this conversation as resolved.
Outdated
spawnInitAndStartGoDaemon(),
spawnInitAndStartGoDaemon()
])
Expand All @@ -44,7 +46,7 @@ describe('CID version agnostic', () => {

after(function () {
this.timeout(30 * 1000)
return Promise.all(Object.values(daemons).map(stopDaemon))
return Promise.all(Object.values(daemons).map((daemon) => daemon.stop()))
})

it('should add v0 and cat v1 (go0 -> go0)', async () => {
Expand Down
20 changes: 7 additions & 13 deletions test/circuit.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,8 @@

const chai = require('chai')
const dirtyChai = require('dirty-chai')
const expect = chai.expect
chai.use(dirtyChai)

const parallel = require('async/parallel')

const all = require('./circuit/all')
const browser = require('./circuit/browser')

Expand Down Expand Up @@ -45,18 +42,15 @@ describe('circuit', () => {
dsc(test, function () {
this.timeout(tests[test].timeout)

before((done) => {
tests[test].create((err, _nodes) => {
expect(err).to.not.exist()
nodes = _nodes.map((n) => n.ipfsd)
nodeA = _nodes[0]
relay = _nodes[1]
nodeB = _nodes[2]
done()
})
before(async () => {
const _nodes = await tests[test].create()
nodes = _nodes.map((n) => n.ipfsd)
nodeA = _nodes[0]
relay = _nodes[1]
nodeB = _nodes[2]
})

after((done) => parallel(nodes.map((ipfsd) => (cb) => ipfsd.stop(cb)), done))
after(() => Promise.all(nodes.map((node) => node.stop())))

it('connect', (done) => {
tests[test].connect(nodeA, nodeB, relay, done)
Expand Down
82 changes: 40 additions & 42 deletions test/circuit/all.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
/* eslint-env mocha */
'use strict'

const series = require('async/series')

const utils = require('../utils/circuit')

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

module.exports = {
'go-go-go': {
create: (callback) => series([
(cb) => createGo([`${base}/ws`], cb),
(cb) => createGo([`${base}/ws`], cb),
(cb) => createGo([`${base}/ws`], cb)
], callback)
create: () => Promise.all([
createGo([`${base}/ws`]),
createGo([`${base}/ws`]),
createGo([`${base}/ws`])
])
},
'js-go-go': {
create: (callback) => series([
(cb) => createJs([`${base}/ws`], cb),
(cb) => createGo([`${base}/ws`], cb),
(cb) => createGo([`${base}/ws`], cb)
], callback)
create: () => Promise.all([
createJs([`${base}/ws`]),
createGo([`${base}/ws`]),
createGo([`${base}/ws`])
])
},
'go-go-js': {
create: (callback) => series([
(cb) => createGo([`${base}/ws`], cb),
(cb) => createGo([`${base}/ws`], cb),
(cb) => createJs([`${base}/ws`], cb)
], callback)
create: () => Promise.all([
createGo([`${base}/ws`]),
createGo([`${base}/ws`]),
createJs([`${base}/ws`])
])
},
'js-go-js': {
create: (callback) => series([
(cb) => createJs([`${base}/ws`], cb),
(cb) => createGo([`${base}/ws`], cb),
(cb) => createJs([`${base}/ws`], cb)
], callback)
create: () => Promise.all([
createJs([`${base}/ws`]),
createGo([`${base}/ws`]),
createJs([`${base}/ws`])
])
},
'go-js-go': {
create: (callback) => series([
(cb) => createGo([`${base}/ws`], cb),
(cb) => createJs([`${base}/ws`], cb),
(cb) => createGo([`${base}/ws`], cb)
], callback)
create: () => Promise.all([
createGo([`${base}/ws`]),
createJs([`${base}/ws`]),
createGo([`${base}/ws`])
])
},
'js-js-go': {
create: (callback) => series([
(cb) => createJs([`${base}/ws`], cb),
(cb) => createJs([`${base}/ws`], cb),
(cb) => createGo([`${base}/ws`], cb)
], callback)
create: () => Promise.all([
createJs([`${base}/ws`]),
createJs([`${base}/ws`]),
createGo([`${base}/ws`])
])
},
'go-js-js': {
create: (callback) => series([
(cb) => createGo([`${base}/ws`], cb),
(cb) => createJs([`${base}/ws`], cb),
(cb) => createJs([`${base}/ws`], cb)
], callback)
create: () => Promise.all([
createGo([`${base}/ws`]),
createJs([`${base}/ws`]),
createJs([`${base}/ws`])
])
},
'js-js-js': {
create: (callback) => series([
(cb) => createJs([`${base}/ws`], cb),
(cb) => createJs([`${base}/ws`], cb),
(cb) => createJs([`${base}/ws`], cb)
], callback)
create: () => Promise.all([
createJs([`${base}/ws`]),
createJs([`${base}/ws`]),
createJs([`${base}/ws`])
])
}
}
16 changes: 8 additions & 8 deletions test/circuit/browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ module.exports = {
'go-browser-browser': {
create: (callback) => series([
(cb) => createGo([`${base}/ws`], cb),
(cb) => createProc([`/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star`], cb),
(cb) => createProc([`/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star`], cb)
(cb) => createProc(['/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star'], cb),
(cb) => createProc(['/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star'], cb)
], callback),
connect: (nodeA, nodeB, relay, callback) => {
series([
Expand All @@ -103,8 +103,8 @@ module.exports = {
'js-browser-browser': {
create: (callback) => series([
(cb) => createJs([`${base}/ws`], cb),
(cb) => createProc([`/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star`], cb),
(cb) => createProc([`/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star`], cb)
(cb) => createProc(['/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star'], cb),
(cb) => createProc(['/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star'], cb)
], callback),
connect: (nodeA, nodeB, relay, callback) => {
series([
Expand All @@ -118,8 +118,8 @@ module.exports = {
},
'browser-browser-go': {
create: (callback) => series([
(cb) => createProc([`/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star`], cb),
(cb) => createProc([`/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star`], cb),
(cb) => createProc(['/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star'], cb),
(cb) => createProc(['/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star'], cb),
(cb) => createGo([`${base}/ws`], cb)
], callback),
connect: (nodeA, nodeB, relay, callback) => {
Expand All @@ -134,8 +134,8 @@ module.exports = {
},
'browser-browser-js': {
create: (callback) => series([
(cb) => createProc([`/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star`], cb),
(cb) => createProc([`/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star`], cb),
(cb) => createProc(['/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star'], cb),
(cb) => createProc(['/ip4/127.0.0.1/tcp/24642/ws/p2p-websocket-star'], cb),
(cb) => createJs([`${base}/ws`], cb)
], callback),
connect: (nodeA, nodeB, relay, callback) => {
Expand Down
57 changes: 14 additions & 43 deletions test/exchange-files.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@ const os = require('os')

const rmDir = promisify(rimraf)

const DaemonFactory = require('ipfsd-ctl')
const goDf = DaemonFactory.create()
const jsDf = DaemonFactory.create({ type: 'js' })
const { spawnInitAndStartGoDaemon, spawnInitAndStartJsDaemon } = require('./utils/daemon')

function tmpDir () {
return join(os.tmpdir(), `ipfs_${hat()}`)
Expand Down Expand Up @@ -99,41 +97,17 @@ if (isCi) {
const min = 60 * 1000
const timeout = isCi ? 8 * min : 5 * min

function createJs (cb) {
jsDf.spawn({
type: 'js',
initOptions: { bits: 512 },
config: {
Bootstrap: [],
Discovery: {
MDNS: {
Enabled: false
}
}
}
}, cb)
}

function createGo (cb) {
goDf.spawn({
initOptions: { bits: 1024 },
config: {
Bootstrap: [],
Discovery: {
MDNS: {
Enabled: false
}
}
}
}, cb)
const jsDaemonOptions = {
Comment thread
PedroMiguelSS marked this conversation as resolved.
initOptions: { bits: 512 },
config: { Bootstrap: [] }
}

describe('exchange files', () => {
const tests = {
'go -> js': [createGo, createJs],
'go -> go2': [createGo, createGo],
'js -> go': [createJs, createGo],
'js -> js2': [createJs, createJs]
'go -> js': [() => spawnInitAndStartGoDaemon(), () => spawnInitAndStartJsDaemon(jsDaemonOptions)],
'go -> go2': [() => spawnInitAndStartGoDaemon(), () => spawnInitAndStartGoDaemon()],
'js -> go': [() => spawnInitAndStartJsDaemon(jsDaemonOptions), () => spawnInitAndStartGoDaemon()],
'js -> js2': [() => spawnInitAndStartJsDaemon(jsDaemonOptions), () => spawnInitAndStartJsDaemon(jsDaemonOptions)]
}

Object.keys(tests).forEach((name) => {
Expand All @@ -143,15 +117,12 @@ describe('exchange files', () => {
let id1
let id2

before('spawn nodes', function (done) {
before('spawn nodes', async function () {
this.timeout(timeout)

parallel(tests[name], (err, nodes) => {
expect(err).to.not.exist()
daemon1 = nodes[0]
daemon2 = nodes[1]
done()
})
const nodes = await Promise.all(tests[name].map(fn => fn()))
daemon1 = nodes[0]
daemon2 = nodes[1]
})

before('connect', function (done) {
Expand Down Expand Up @@ -181,10 +152,10 @@ describe('exchange files', () => {
], done)
})

after('stop nodes', function (done) {
after('stop nodes', function () {
this.timeout(timeout)

parallel([daemon1, daemon2].map((node) => (cb) => node.stop(cb)), done)
return Promise.all([daemon1, daemon2].map((node) => node.stop()))
})

describe('cat file', () => sizes.forEach((size) => {
Expand Down
Loading