Skip to content
This repository was archived by the owner on Oct 26, 2022. It is now read-only.

Commit 88c84ed

Browse files
authored
Update tests, move maxNeighborsPerNode to parameter (#269)
1 parent b65e7e0 commit 88c84ed

File tree

2 files changed

+37
-31
lines changed

2 files changed

+37
-31
lines changed

bin/tracker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ const { startTracker } = require('../src/composition')
44

55
const port = process.argv[2] || 30300
66
const ip = process.argv[3] || '127.0.0.1'
7+
const maxNeighborsPerNode = process.argv[4] || 4
78
const id = `tracker-${port}`
8-
const maxNeighborsPerNode = 4
99

1010
startTracker(ip, port, id, maxNeighborsPerNode)
1111
.then(() => {})

test/unit/OverlayTopology.test.js

Lines changed: 36 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
const OverlayTopology = require('../../src/logic/OverlayTopology')
22

3+
const maxNeighborsPerNodeArray = [4, 8, 12, 16]
4+
35
test('forming overlay topology', () => {
46
const topology = new OverlayTopology(3, (arr) => arr, (arr) => arr[0])
57

@@ -226,41 +228,45 @@ test('forming overlay topology', () => {
226228
})
227229

228230
test('unknown nodes are discarded', () => {
229-
const topology = new OverlayTopology(3)
231+
maxNeighborsPerNodeArray.forEach((maxNeighborsPerNode) => {
232+
const topology = new OverlayTopology(maxNeighborsPerNode)
230233

231-
topology.update('node-1', [])
232-
topology.update('node-2', [])
233-
topology.update('node-3', [])
234+
topology.update('node-1', [])
235+
topology.update('node-2', [])
236+
topology.update('node-3', [])
234237

235-
topology.update('node-1', ['node-2', 'node-3', 'node-4'])
236-
expect(topology.state()).toEqual({
237-
'node-1': [
238-
'node-2',
239-
'node-3'
240-
],
241-
'node-2': [
242-
'node-1'
243-
],
244-
'node-3': [
245-
'node-1'
246-
]
238+
topology.update('node-1', ['node-2', 'node-3', 'node-4'])
239+
expect(topology.state()).toEqual({
240+
'node-1': [
241+
'node-2',
242+
'node-3'
243+
],
244+
'node-2': [
245+
'node-1'
246+
],
247+
'node-3': [
248+
'node-1'
249+
]
250+
})
247251
})
248252
})
249253

250254
// TODO: remove or write better, since not the best way to test randomness
251255
test('100 rounds of typical operation does not lead to invariant exception', () => {
252-
for (let i = 0; i < 100; ++i) {
253-
const topology = new OverlayTopology(4)
254-
topology.update('node-1', [])
255-
topology.update('node-2', [])
256-
topology.formInstructions('node-2')
257-
topology.update('node-3', [])
258-
topology.formInstructions('node-3')
259-
topology.update('node-4', [])
260-
topology.formInstructions('node-4')
261-
topology.update('node-5', [])
262-
topology.formInstructions('node-5')
263-
topology.update('node-0', [])
264-
topology.formInstructions('node-0')
265-
}
256+
maxNeighborsPerNodeArray.forEach((maxNeighborsPerNode) => {
257+
for (let i = 0; i < 100; ++i) {
258+
const topology = new OverlayTopology(maxNeighborsPerNode)
259+
topology.update('node-1', [])
260+
topology.update('node-2', [])
261+
topology.formInstructions('node-2')
262+
topology.update('node-3', [])
263+
topology.formInstructions('node-3')
264+
topology.update('node-4', [])
265+
topology.formInstructions('node-4')
266+
topology.update('node-5', [])
267+
topology.formInstructions('node-5')
268+
topology.update('node-0', [])
269+
topology.formInstructions('node-0')
270+
}
271+
})
266272
})

0 commit comments

Comments
 (0)