123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { fork } from 'child_process';
- import tape from 'tape';
- import _test from 'tape-promise';
- import fetch from 'isomorphic-fetch';
- import socketclient from 'socket.io-client';
- const tapetest = _test(tape);
- const serverhost = 'localhost',
- serverport = 2424,
- server = fork('build/server.js');
- tapetest('test server', async function testServer(assert) {
- let client;
- try {
- await waitPro();
- const ret = await fetch(`http://${serverhost}:${serverport}`),
- data = await ret.text();
- assert.equal(data, 'working', 'received message from server');
- }
- catch(e) {
- console.log('error somewhere', e);
- assert.fail('error somewhere');
- }
- assert.end();
- });
- tapetest.onFinish(async function cleanup() {
- server.kill();
- });
- function waitPro(n = 1000) {
- return new Promise(function pro(resolve, reject) {
- setTimeout(resolve, n);
- });
- }
- function responsePro(socket, evt, wait = 3000) {
- return new Promise(function pro(resolve, reject) {
- let to = setTimeout(reject.bind(null, 'socket event TIMEOUT ' + evt), wait);
- socket.once(evt, function (a) {
- clearTimeout(to);
- resolve(a);
- });
- });
- }
|