diff --git a/test/circuit.js b/test/circuit.js index 9ba273ba..2f829799 100644 --- a/test/circuit.js +++ b/test/circuit.js @@ -15,10 +15,12 @@ const browser = require('./circuit/browser') const isNode = require('detect-node') const send = require('./utils/circuit').send const connect = require('./utils/circuit').connect +const disconnect = require('./utils/circuit').disconnect const timeout = 80 * 1000 const baseTest = { connect, + disconnect, send, timeout } @@ -65,6 +67,18 @@ describe('circuit', () => { it('send', (done) => { tests[test].send(nodeA.ipfsd.api, nodeB.ipfsd.api, done) }) + + it('disconnect', (done) => { + tests[test].disconnect(nodeA, nodeB, done) + }) + + it('reconnect', (done) => { + tests[test].connect(nodeA, nodeB, relay, done) + }) + + it('resend', (done) => { + tests[test].send(nodeA.ipfsd.api, nodeB.ipfsd.api, done) + }) }) }) }) diff --git a/test/utils/circuit.js b/test/utils/circuit.js index 7c1e9ef6..2e33808b 100644 --- a/test/utils/circuit.js +++ b/test/utils/circuit.js @@ -95,8 +95,8 @@ exports.createGoNode = (addrs, callback) => { }) } -const data = crypto.randomBytes(128) exports.send = (nodeA, nodeB, callback) => { + const data = crypto.randomBytes(128) waterfall([ (cb) => nodeA.add(data, cb), (res, cb) => nodeB.cat(res[0].hash, cb), @@ -161,3 +161,9 @@ exports.connWithTimeout = (timeout) => { connect(nodeA, nodeB, relay, timeout, callback) } } + +const disconnect = (nodeA, nodeB, callback) => { + nodeA.ipfsd.api.swarm.disconnect(getCircuitAddr(nodeB.addrs), callback) +} + +exports.disconnect = disconnect