Skip to content

Commit f0d38e7

Browse files
committed
wip: tests cleaup
1 parent 19ff1f4 commit f0d38e7

File tree

7 files changed

+314
-379
lines changed

7 files changed

+314
-379
lines changed

src/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class Node extends EventEmitter {
4444
this.swarm.connection.reuse()
4545

4646
// If muxer exists, we can use Relay for listening/dialing
47-
this.swarm.connection.enableRelayDialing(_options.relay)
47+
this.swarm.connection.enableCircuitRelay(_options.relay)
4848

4949
// Received incommind dial and muxer upgrade happened,
5050
// reuse this muxed connection

test/nodejs-bundle/circuit/dial-over-any-relay.js

Lines changed: 69 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -13,87 +13,86 @@ chai.use(require('dirty-chai'))
1313

1414
const expect = chai.expect
1515

16-
describe('test connecting over any relay', function () {
17-
this.timeout(500000)
16+
describe(`dial over any relay`, function () {
17+
describe('test connecting over any relay', function () {
18+
this.timeout(500000)
1819

19-
let portBase = 9010 // TODO: randomize or mock sockets
20-
let testNodes
20+
let portBase = 9010 // TODO: randomize or mock sockets
21+
let testNodes
2122

22-
function setUpNodes (muxer, done) {
23-
utils.createNodes(
24-
{
25-
relayNode: {
26-
transports: [new TCP(), new WS()],
27-
muxer: muxer,
28-
addrs: [
29-
`/ip4/0.0.0.0/tcp/${portBase++}`,
30-
`/ip4/0.0.0.0/tcp/${portBase++}/ws`
31-
],
32-
isCrypto: true,
33-
config: {
34-
relay: {
35-
circuit: {
36-
enabled: true
23+
function setUpNodes (muxer, done) {
24+
utils.createNodes(
25+
{
26+
relayNode: {
27+
transports: [new TCP(), new WS()],
28+
muxer: muxer,
29+
addrs: [
30+
`/ip4/0.0.0.0/tcp/${portBase++}`,
31+
`/ip4/0.0.0.0/tcp/${portBase++}/ws`
32+
],
33+
isCrypto: true,
34+
config: {
35+
relay: {
36+
circuit: {
37+
enabled: true
38+
}
3739
}
3840
}
41+
},
42+
nodeA: {
43+
transports: [new TCP()],
44+
isCrypto: true,
45+
muxer: muxer,
46+
addrs: [
47+
`/ip4/0.0.0.0/tcp/${portBase++}`
48+
]
49+
},
50+
nodeB: {
51+
transports: [new WS()],
52+
isCrypto: true,
53+
muxer: muxer,
54+
addrs: [
55+
`/ip4/0.0.0.0/tcp/${portBase++}/ws`
56+
]
3957
}
4058
},
41-
nodeA: {
42-
transports: [new TCP()],
43-
isCrypto: true,
44-
muxer: muxer,
45-
addrs: [
46-
`/ip4/0.0.0.0/tcp/${portBase++}`
47-
]
48-
},
49-
nodeB: {
50-
transports: [new WS()],
51-
isCrypto: true,
52-
muxer: muxer,
53-
addrs: [
54-
`/ip4/0.0.0.0/tcp/${portBase++}/ws`
55-
]
56-
}
57-
},
58-
(err, nodes) => {
59-
if (err) {
60-
return done(err)
61-
}
59+
(err, nodes) => {
60+
if (err) {
61+
return done(err)
62+
}
6263

63-
testNodes = nodes
64-
done()
65-
})
66-
}
64+
testNodes = nodes
65+
done()
66+
})
67+
}
6768

68-
beforeEach(function (done) {
69-
setUpNodes(multiplex, () => {
70-
let nodeA = testNodes['nodeA']
71-
let nodeB = testNodes['nodeB']
72-
let relayNode = testNodes['relayNode']
69+
beforeEach(function (done) {
70+
setUpNodes(multiplex, () => {
71+
let nodeA = testNodes['nodeA']
72+
let nodeB = testNodes['nodeB']
73+
let relayNode = testNodes['relayNode']
7374

74-
waterfall([
75-
(cb) => nodeA.dial(relayNode.peerInfo, cb),
76-
(conn, cb) => nodeB.dial(relayNode.peerInfo, cb)
77-
], () => setTimeout(done, 1000)) // WS needs some time to initialize
75+
waterfall([
76+
(cb) => nodeA.dial(relayNode.peerInfo, cb),
77+
(conn, cb) => nodeB.dial(relayNode.peerInfo, cb)
78+
], () => setTimeout(done, 1000)) // WS needs some time to initialize
79+
})
7880
})
79-
})
8081

81-
afterEach(function circuitTests (done) {
82-
utils.stopNodes(testNodes, () => done())
83-
})
82+
afterEach(function circuitTests (done) {
83+
utils.stopNodes(testNodes, () => done())
84+
})
8485

85-
it('dial to a node over a relay and write values', function (done) {
86-
utils.dialAndReverse(
87-
testNodes.nodeB,
88-
testNodes.nodeA,
89-
['hello', 'hello1', 'hello2', 'hello3'],
90-
(err, result) => {
91-
expect(err).to.be.null()
92-
expect(result[0]).to.equal('hello'.split('').reverse('').join(''))
93-
expect(result[1]).to.equal('hello1'.split('').reverse('').join(''))
94-
expect(result[2]).to.equal('hello2'.split('').reverse('').join(''))
95-
expect(result[3]).to.equal('hello3'.split('').reverse('').join(''))
96-
done()
97-
})
86+
it('dial to a node over a relay and write values', function (done) {
87+
utils.dialAndReverse(
88+
testNodes.nodeB,
89+
testNodes.nodeA,
90+
['hello'],
91+
(err, result) => {
92+
expect(err).to.be.null()
93+
expect(result[0]).to.equal('hello'.split('').reverse('').join(''))
94+
done()
95+
})
96+
})
9897
})
9998
})

test/nodejs-bundle/circuit/dial-over-specific-relay-transport.js

Lines changed: 108 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -18,124 +18,126 @@ const expect = chai.expect
1818
const nodeKeys = require('./fixtures/nodes')
1919
const Circuit = require('libp2p-circuit')
2020

21-
describe(`listen on an explicit chained relay addr`, function () {
22-
this.timeout(500000)
23-
24-
let portBase = 9030 // TODO: randomize or mock sockets
25-
let testNodes
26-
27-
let relaySpy1
28-
let relaySpy2
29-
30-
function setUpNodes (muxer, done) {
31-
utils.createNodes(
32-
{
33-
relayNode1: {
34-
id: nodeKeys.node1,
35-
transports: [new TCP(), new WS()],
36-
muxer: muxer,
37-
addrs: [
38-
`/ip4/0.0.0.0/tcp/${portBase++}`,
39-
`/ip4/0.0.0.0/tcp/${portBase++}/ws`
40-
],
41-
isCrypto: true,
42-
config: {
43-
relay: {
44-
circuit: {
45-
enabled: true,
46-
active: true
21+
describe(`dial over specific relay and transport`, function () {
22+
describe(`listen on an explicit chained relay addr`, function () {
23+
this.timeout(500000)
24+
25+
let portBase = 9030 // TODO: randomize or mock sockets
26+
let testNodes
27+
28+
let relaySpy1
29+
let relaySpy2
30+
31+
function setUpNodes (muxer, done) {
32+
utils.createNodes(
33+
{
34+
relayNode1: {
35+
id: nodeKeys.node1,
36+
transports: [new TCP(), new WS()],
37+
muxer: muxer,
38+
addrs: [
39+
`/ip4/0.0.0.0/tcp/${portBase++}`,
40+
`/ip4/0.0.0.0/tcp/${portBase++}/ws`
41+
],
42+
isCrypto: true,
43+
config: {
44+
relay: {
45+
circuit: {
46+
enabled: true,
47+
active: true
48+
}
4749
}
4850
}
49-
}
50-
},
51-
relayNode2: {
52-
id: nodeKeys.node2,
53-
transports: [new TCP(), new WS()],
54-
muxer: muxer,
55-
addrs: [
56-
`/ip4/0.0.0.0/tcp/${portBase++}`,
57-
`/ip4/0.0.0.0/tcp/${portBase++}/ws`
58-
],
59-
isCrypto: true,
60-
config: {
61-
relay: {
62-
circuit: {
63-
enabled: true,
64-
active: true
51+
},
52+
relayNode2: {
53+
id: nodeKeys.node2,
54+
transports: [new TCP(), new WS()],
55+
muxer: muxer,
56+
addrs: [
57+
`/ip4/0.0.0.0/tcp/${portBase++}`,
58+
`/ip4/0.0.0.0/tcp/${portBase++}/ws`
59+
],
60+
isCrypto: true,
61+
config: {
62+
relay: {
63+
circuit: {
64+
enabled: true,
65+
active: true
66+
}
6567
}
6668
}
69+
},
70+
nodeA: {
71+
id: nodeKeys.node3,
72+
transports: [new TCP()],
73+
isCrypto: true,
74+
muxer: muxer,
75+
addrs: [
76+
`/ip4/0.0.0.0/tcp/${portBase++}`
77+
]
78+
},
79+
nodeB: {
80+
id: nodeKeys.node4,
81+
transports: [new WS()],
82+
isCrypto: true,
83+
muxer: muxer,
84+
addrs: [
85+
`/ip4/0.0.0.0/tcp/9031/ws/ipfs/${nodeKeys.node1.id}/p2p-circuit`
86+
]
6787
}
6888
},
69-
nodeA: {
70-
id: nodeKeys.node3,
71-
transports: [new TCP()],
72-
isCrypto: true,
73-
muxer: muxer,
74-
addrs: [
75-
`/ip4/0.0.0.0/tcp/${portBase++}`
76-
]
77-
},
78-
nodeB: {
79-
id: nodeKeys.node4,
80-
transports: [new WS()],
81-
isCrypto: true,
82-
muxer: muxer,
83-
addrs: [
84-
`/ip4/0.0.0.0/tcp/9031/ws/ipfs/${nodeKeys.node1.id}/p2p-circuit`
85-
]
86-
}
87-
},
88-
(err, nodes) => {
89-
if (err) {
90-
return done(err)
91-
}
92-
93-
testNodes = nodes
94-
relaySpy1 = sinon.spy(testNodes['relayNode1'].swarm.transports[Circuit.tag].listeners[0].hopHandler, 'handle')
95-
relaySpy2 = sinon.spy(testNodes['relayNode2'].swarm.transports[Circuit.tag].listeners[0].hopHandler, 'handle')
96-
97-
done()
89+
(err, nodes) => {
90+
if (err) {
91+
return done(err)
92+
}
93+
94+
testNodes = nodes
95+
relaySpy1 = sinon.spy(testNodes['relayNode1'].swarm.transports[Circuit.tag].listeners[0].hopHandler, 'handle')
96+
relaySpy2 = sinon.spy(testNodes['relayNode2'].swarm.transports[Circuit.tag].listeners[0].hopHandler, 'handle')
97+
98+
done()
99+
})
100+
}
101+
102+
beforeEach(function (done) {
103+
setUpNodes(multiplex, () => {
104+
let nodeA = testNodes['nodeA']
105+
let nodeB = testNodes['nodeB']
106+
let relayNode1 = testNodes['relayNode1']
107+
let relayNode2 = testNodes['relayNode2']
108+
109+
waterfall([
110+
(cb) => nodeA.dial(relayNode1.peerInfo, cb),
111+
(conn, cb) => nodeA.dial(relayNode2.peerInfo, cb),
112+
(conn, cb) => nodeB.dial(relayNode1.peerInfo, cb),
113+
(conn, cb) => nodeB.dial(relayNode2.peerInfo, cb),
114+
(conn, cb) => relayNode1.dial(relayNode2.peerInfo, cb),
115+
(conn, cb) => relayNode2.dial(relayNode1.peerInfo, cb)
116+
], () => setTimeout(done, 1000)) // WS needs some time to initialize
98117
})
99-
}
100-
101-
beforeEach(function (done) {
102-
setUpNodes(multiplex, () => {
103-
let nodeA = testNodes['nodeA']
104-
let nodeB = testNodes['nodeB']
105-
let relayNode1 = testNodes['relayNode1']
106-
let relayNode2 = testNodes['relayNode2']
107-
108-
waterfall([
109-
(cb) => nodeA.dial(relayNode1.peerInfo, cb),
110-
(conn, cb) => nodeA.dial(relayNode2.peerInfo, cb),
111-
(conn, cb) => nodeB.dial(relayNode1.peerInfo, cb),
112-
(conn, cb) => nodeB.dial(relayNode2.peerInfo, cb),
113-
(conn, cb) => relayNode1.dial(relayNode2.peerInfo, cb),
114-
(conn, cb) => relayNode2.dial(relayNode1.peerInfo, cb)
115-
], () => setTimeout(done, 1000)) // WS needs some time to initialize
116118
})
117-
})
118119

119-
afterEach(function circuitTests (done) {
120-
relaySpy1.reset()
121-
relaySpy2.reset()
122-
utils.stopNodes(testNodes, done)
123-
})
120+
afterEach(function circuitTests (done) {
121+
relaySpy1.reset()
122+
relaySpy2.reset()
123+
utils.stopNodes(testNodes, done)
124+
})
124125

125-
it('dial over the correct chained relay addr', function (done) {
126-
utils.dialAndReverse(testNodes['nodeA'], testNodes['nodeB'], ['hello'], (err, result) => {
127-
expect(err).to.be.null()
128-
expect(relaySpy1.called).to.be.ok()
129-
expect(relaySpy2.called).to.be.ok()
126+
it('dial over the correct chained relay addr', function (done) {
127+
utils.dialAndReverse(testNodes['nodeA'], testNodes['nodeB'], ['hello'], (err, result) => {
128+
expect(err).to.be.null()
129+
expect(relaySpy1.called).to.be.ok()
130+
expect(relaySpy2.called).to.be.ok()
130131

131-
expect(relaySpy1.args.some((a) => {
132-
return a[0] &&
133-
a[0].dstPeer &&
134-
multiaddr(a[0].dstPeer.addrs[0]).toString() === `/ipfs/${testNodes['nodeB'].peerInfo.id.toB58String()}`
135-
})).to.be.ok()
132+
expect(relaySpy1.args.some((a) => {
133+
return a[0] &&
134+
a[0].dstPeer &&
135+
multiaddr(a[0].dstPeer.addrs[0]).toString() === `/ipfs/${testNodes['nodeB'].peerInfo.id.toB58String()}`
136+
})).to.be.ok()
136137

137-
expect(result[0]).to.equal('hello'.split('').reverse('').join(''))
138-
done(err)
138+
expect(result[0]).to.equal('hello'.split('').reverse('').join(''))
139+
done(err)
140+
})
139141
})
140142
})
141143
})

0 commit comments

Comments
 (0)