diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 73231510..a9f31430 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -100,3 +100,10 @@ jobs: - uses: actions/checkout@v2 - run: yarn - run: cd examples && yarn && npm run test -- discovery-mechanisms + test-pnet-example: + needs: check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - run: yarn + - run: cd examples && yarn && npm run test -- pnet diff --git a/examples/pnet/test.js b/examples/pnet/test.js new file mode 100644 index 00000000..129c883a --- /dev/null +++ b/examples/pnet/test.js @@ -0,0 +1,30 @@ +'use strict' + +const path = require('path') +const execa = require('execa') +const pDefer = require('p-defer') +const uint8ArrayToString = require('uint8arrays/to-string') + +async function test () { + const messageReceived = pDefer() + process.stdout.write('index.js\n') + + 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