mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-04-26 11:02:14 +00:00
chore: update example tests (#1126)
Remove some of the redundancy in the example tests
This commit is contained in:
parent
a0bfe8b534
commit
0264eb62ee
@ -1,30 +1,14 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const pDefer = require('p-defer')
|
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const messageReceived = pDefer()
|
|
||||||
process.stdout.write('1.js\n')
|
process.stdout.write('1.js\n')
|
||||||
|
|
||||||
const proc = execa('node', [path.join(__dirname, '1.js')], {
|
await waitForOutput('This information is sent out encrypted to the other peer', 'node', [path.join(__dirname, '1.js')], {
|
||||||
cwd: path.resolve(__dirname),
|
cwd: __dirname
|
||||||
all: true
|
|
||||||
})
|
})
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
|
|
||||||
const s = uint8ArrayToString(data)
|
|
||||||
if (s.includes('This information is sent out encrypted to the other peer')) {
|
|
||||||
messageReceived.resolve()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await messageReceived.promise
|
|
||||||
proc.kill()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = test
|
module.exports = test
|
||||||
|
@ -1,27 +1,13 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
process.stdout.write('1.js\n')
|
process.stdout.write('1.js\n')
|
||||||
|
|
||||||
const proc = execa('node', [path.join(__dirname, '1.js')], {
|
await waitForOutput('Connection established to:', 'node', [path.join(__dirname, '1.js')], {
|
||||||
cwd: path.resolve(__dirname),
|
cwd: __dirname
|
||||||
all: true
|
|
||||||
})
|
|
||||||
|
|
||||||
let output = ''
|
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
output += uint8ArrayToString(data)
|
|
||||||
|
|
||||||
// Discovered and connected
|
|
||||||
if (output.includes('Connection established to:')) {
|
|
||||||
proc.kill()
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,28 +1,13 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
process.stdout.write('1.js\n')
|
process.stdout.write('1.js\n')
|
||||||
|
|
||||||
const proc = execa('node', [path.join(__dirname, '1.js')], {
|
await waitForOutput('Found it, multiaddrs are:', 'node', [path.join(__dirname, '1.js')], {
|
||||||
cwd: path.resolve(__dirname),
|
cwd: __dirname
|
||||||
all: true
|
|
||||||
})
|
|
||||||
|
|
||||||
let output = ''
|
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
|
|
||||||
output += uint8ArrayToString(data)
|
|
||||||
|
|
||||||
// Discovered peers
|
|
||||||
if (output.includes('Found it, multiaddrs are:')) {
|
|
||||||
proc.kill()
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,27 +1,13 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
process.stdout.write('2.js\n')
|
process.stdout.write('2.js\n')
|
||||||
|
|
||||||
const proc = execa('node', [path.join(__dirname, '2.js')], {
|
await waitForOutput('Found provider:', 'node', [path.join(__dirname, '2.js')], {
|
||||||
cwd: path.resolve(__dirname),
|
cwd: __dirname
|
||||||
all: true
|
|
||||||
})
|
|
||||||
|
|
||||||
let output = ''
|
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
|
|
||||||
output += uint8ArrayToString(data)
|
|
||||||
|
|
||||||
if (output.includes('Found provider:')) {
|
|
||||||
proc.kill()
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,30 +1,13 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const pDefer = require('p-defer')
|
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const messageReceived = pDefer()
|
await waitForOutput('This message is sent on a private network', 'node', [path.join(__dirname, 'index.js')], {
|
||||||
process.stdout.write('index.js\n')
|
cwd: __dirname
|
||||||
|
|
||||||
const proc = execa('node', [path.join(__dirname, 'index.js')], {
|
|
||||||
cwd: path.resolve(__dirname),
|
|
||||||
all: true
|
|
||||||
})
|
})
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
|
|
||||||
const s = uint8ArrayToString(data)
|
|
||||||
if (s.includes('This message is sent on a private network')) {
|
|
||||||
messageReceived.resolve()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await messageReceived.promise
|
|
||||||
proc.kill()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = test
|
module.exports = test
|
||||||
|
|
||||||
|
@ -1,31 +1,14 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const pDefer = require('p-defer')
|
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const messageDefer = pDefer()
|
|
||||||
process.stdout.write('1.js\n')
|
process.stdout.write('1.js\n')
|
||||||
|
|
||||||
const proc = execa('node', [path.join(__dirname, '1.js')], {
|
await waitForOutput('my own protocol, wow!', 'node', [path.join(__dirname, '1.js')], {
|
||||||
cwd: path.resolve(__dirname),
|
cwd: __dirname
|
||||||
all: true
|
|
||||||
})
|
})
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
|
|
||||||
const line = uint8ArrayToString(data)
|
|
||||||
|
|
||||||
if (line.includes('my own protocol, wow!')) {
|
|
||||||
messageDefer.resolve()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await messageDefer.promise
|
|
||||||
proc.kill()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = test
|
module.exports = test
|
||||||
|
@ -1,38 +1,14 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const pWaitFor = require('p-wait-for')
|
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
const messages = [
|
|
||||||
'protocol (a)',
|
|
||||||
'protocol (b)',
|
|
||||||
'another stream on protocol (b)'
|
|
||||||
]
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
process.stdout.write('2.js\n')
|
process.stdout.write('2.js\n')
|
||||||
|
|
||||||
let count = 0
|
await waitForOutput('another stream on protocol (b)', 'node', [path.join(__dirname, '2.js')], {
|
||||||
const proc = execa('node', [path.join(__dirname, '2.js')], {
|
cwd: __dirname
|
||||||
cwd: path.resolve(__dirname),
|
|
||||||
all: true
|
|
||||||
})
|
})
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
|
|
||||||
const line = uint8ArrayToString(data)
|
|
||||||
|
|
||||||
if (messages.find((m) => line.includes(m))) {
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await pWaitFor(() => count === messages.length)
|
|
||||||
|
|
||||||
proc.kill()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = test
|
module.exports = test
|
||||||
|
@ -1,37 +1,14 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const pWaitFor = require('p-wait-for')
|
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
const messages = [
|
|
||||||
'from 1 to 2',
|
|
||||||
'from 2 to 1'
|
|
||||||
]
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
process.stdout.write('3.js\n')
|
process.stdout.write('3.js\n')
|
||||||
|
|
||||||
let count = 0
|
await waitForOutput('from 2 to 1', 'node', [path.join(__dirname, '3.js')], {
|
||||||
const proc = execa('node', [path.join(__dirname, '3.js')], {
|
cwd: __dirname
|
||||||
cwd: path.resolve(__dirname),
|
|
||||||
all: true
|
|
||||||
})
|
})
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
|
|
||||||
const line = uint8ArrayToString(data)
|
|
||||||
|
|
||||||
if (messages.find((m) => line.includes(m))) {
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await pWaitFor(() => count === messages.length)
|
|
||||||
|
|
||||||
proc.kill()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = test
|
module.exports = test
|
||||||
|
@ -1,38 +1,14 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const pDefer = require('p-defer')
|
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const deferStarted = pDefer()
|
|
||||||
const deferListen = pDefer()
|
|
||||||
|
|
||||||
process.stdout.write('1.js\n')
|
process.stdout.write('1.js\n')
|
||||||
|
|
||||||
const proc = execa('node', [path.join(__dirname, '1.js')], {
|
await waitForOutput('/p2p/', 'node', [path.join(__dirname, '1.js')], {
|
||||||
cwd: path.resolve(__dirname),
|
cwd: __dirname
|
||||||
all: true
|
|
||||||
})
|
})
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
const line = uint8ArrayToString(data)
|
|
||||||
|
|
||||||
|
|
||||||
if (line.includes('node has started (true/false): true')) {
|
|
||||||
deferStarted.resolve()
|
|
||||||
} else if (line.includes('p2p')) {
|
|
||||||
deferListen.resolve()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await Promise.all([
|
|
||||||
deferStarted.promise,
|
|
||||||
deferListen.promise
|
|
||||||
])
|
|
||||||
proc.kill()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = test
|
module.exports = test
|
||||||
|
@ -1,30 +1,14 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const pDefer = require('p-defer')
|
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const defer = pDefer()
|
|
||||||
process.stdout.write('2.js\n')
|
process.stdout.write('2.js\n')
|
||||||
|
|
||||||
const proc = execa('node', [path.join(__dirname, '2.js')], {
|
await waitForOutput('Hello p2p world!', 'node', [path.join(__dirname, '2.js')], {
|
||||||
cwd: path.resolve(__dirname),
|
cwd: __dirname
|
||||||
all: true
|
|
||||||
})
|
})
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
const line = uint8ArrayToString(data)
|
|
||||||
|
|
||||||
if (line.includes('Hello p2p world!')) {
|
|
||||||
defer.resolve()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await defer.promise
|
|
||||||
proc.kill()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = test
|
module.exports = test
|
||||||
|
@ -1,41 +1,14 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const pDefer = require('p-defer')
|
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const deferNode1 = pDefer()
|
|
||||||
const deferNode2 = pDefer()
|
|
||||||
const deferNode3 = pDefer()
|
|
||||||
|
|
||||||
process.stdout.write('3.js\n')
|
process.stdout.write('3.js\n')
|
||||||
|
|
||||||
const proc = execa('node', [path.join(__dirname, '3.js')], {
|
await waitForOutput('node 3 failed to dial to node 1 with:', 'node', [path.join(__dirname, '3.js')], {
|
||||||
cwd: path.resolve(__dirname),
|
cwd: __dirname
|
||||||
all: true
|
|
||||||
})
|
})
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
const line = uint8ArrayToString(data)
|
|
||||||
|
|
||||||
if (line.includes('node 1 dialed to node 2 successfully')) {
|
|
||||||
deferNode1.resolve()
|
|
||||||
} else if (line.includes('node 2 dialed to node 3 successfully')) {
|
|
||||||
deferNode2.resolve()
|
|
||||||
} else if (line.includes('node 3 failed to dial to node 1 with:')) {
|
|
||||||
deferNode3.resolve()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await Promise.all([
|
|
||||||
deferNode1.promise,
|
|
||||||
deferNode2.promise,
|
|
||||||
deferNode3.promise
|
|
||||||
])
|
|
||||||
proc.kill()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = test
|
module.exports = test
|
||||||
|
@ -1,33 +1,14 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const { waitForOutput } = require('../utils')
|
||||||
const pDefer = require('p-defer')
|
|
||||||
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const deferNode1 = pDefer()
|
|
||||||
|
|
||||||
process.stdout.write('4.js\n')
|
process.stdout.write('4.js\n')
|
||||||
|
|
||||||
const proc = execa('node', [path.join(__dirname, '4.js')], {
|
await waitForOutput('node 2 dialed to node 1 successfully', 'node', [path.join(__dirname, '4.js')], {
|
||||||
cwd: path.resolve(__dirname),
|
cwd: __dirname
|
||||||
all: true
|
|
||||||
})
|
})
|
||||||
|
|
||||||
proc.all.on('data', async (data) => {
|
|
||||||
process.stdout.write(data)
|
|
||||||
const line = uint8ArrayToString(data)
|
|
||||||
|
|
||||||
if (line.includes('node 2 dialed to node 1 successfully')) {
|
|
||||||
deferNode1.resolve()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await Promise.all([
|
|
||||||
deferNode1.promise,
|
|
||||||
])
|
|
||||||
proc.kill()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = test
|
module.exports = test
|
||||||
|
Loading…
x
Reference in New Issue
Block a user