mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-04-25 10:32:14 +00:00
chore: echo example test (#842)
This commit is contained in:
parent
0a02207116
commit
f45cd1c4b5
7
.github/workflows/main.yml
vendored
7
.github/workflows/main.yml
vendored
@ -72,6 +72,13 @@ jobs:
|
|||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: yarn
|
- run: yarn
|
||||||
- run: cd examples && yarn && npm run test -- chat
|
- run: cd examples && yarn && npm run test -- chat
|
||||||
|
test-echo-example:
|
||||||
|
needs: check
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: yarn
|
||||||
|
- run: cd examples && yarn && npm run test -- echo
|
||||||
test-libp2p-in-the-browser-example:
|
test-libp2p-in-the-browser-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
const createLibp2p = require('./libp2p-bundle')
|
const createLibp2p = require('./libp2p')
|
||||||
const pipe = require('it-pipe')
|
const pipe = require('it-pipe')
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
const createLibp2p = require('./libp2p-bundle')
|
const createLibp2p = require('./libp2p')
|
||||||
const pipe = require('it-pipe')
|
const pipe = require('it-pipe')
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
|
61
examples/echo/test.js
Normal file
61
examples/echo/test.js
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
const execa = require('execa')
|
||||||
|
const pDefer = require('p-defer')
|
||||||
|
const uint8ArrayToString = require('uint8arrays/to-string')
|
||||||
|
|
||||||
|
function startProcess(name) {
|
||||||
|
return execa('node', [path.join(__dirname, name)], {
|
||||||
|
cwd: path.resolve(__dirname),
|
||||||
|
all: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
async function test () {
|
||||||
|
const listenerReady = pDefer()
|
||||||
|
const messageReceived = pDefer()
|
||||||
|
|
||||||
|
// Step 1 process
|
||||||
|
process.stdout.write('node listener.js\n')
|
||||||
|
const listenerProc = startProcess('src/listener.js')
|
||||||
|
listenerProc.all.on('data', async (data) => {
|
||||||
|
process.stdout.write(data)
|
||||||
|
const s = uint8ArrayToString(data)
|
||||||
|
|
||||||
|
if (s.includes('Listener ready, listening on:')) {
|
||||||
|
listenerReady.resolve()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
await listenerReady.promise
|
||||||
|
process.stdout.write('==================================================================\n')
|
||||||
|
|
||||||
|
// Step 2 process
|
||||||
|
process.stdout.write('node dialer.js\n')
|
||||||
|
const dialerProc = startProcess('src/dialer.js')
|
||||||
|
dialerProc.all.on('data', async (data) => {
|
||||||
|
process.stdout.write(data)
|
||||||
|
const s = uint8ArrayToString(data)
|
||||||
|
|
||||||
|
if (s.includes('received echo:')) {
|
||||||
|
messageReceived.resolve()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
await messageReceived.promise
|
||||||
|
process.stdout.write('echo message received\n')
|
||||||
|
|
||||||
|
listenerProc.kill()
|
||||||
|
dialerProc.kill()
|
||||||
|
await Promise.all([
|
||||||
|
listenerProc,
|
||||||
|
dialerProc
|
||||||
|
]).catch((err) => {
|
||||||
|
if (err.signal !== 'SIGTERM') {
|
||||||
|
throw err
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = test
|
Loading…
x
Reference in New Issue
Block a user