service.js 911 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import {fork} from 'child_process';
  2. import tape from 'tape';
  3. import _test from 'tape-promise';
  4. import fetch from 'isomorphic-fetch';
  5. const tapetest = _test(tape);
  6. const randomPort = Math.floor(Math.random() * 10000) + 20000,
  7. server = fork('build/service.js', [], {env: {port: randomPort}}),
  8. connstring = `http://localhost:${randomPort}`;
  9. tapetest('service', async function testService(assert) {
  10. try {
  11. await waitPro();
  12. const ret = await fetch(connstring + '/'),
  13. data = await ret.text();
  14. console.log('data', data);
  15. }
  16. catch(e) {
  17. console.log('error in', assert.name, e);
  18. assert.fail(`error in ${assert.name}`);
  19. }
  20. assert.end();
  21. });
  22. tapetest.onFinish(async function cleanup() {
  23. server.kill();
  24. });
  25. function waitPro(n = 1000) {
  26. return new Promise(function pro(resolve, reject) {
  27. setTimeout(resolve, n);
  28. });
  29. }