From 3ecb0ab1612e0887193140b1a2f8a77872a6fac1 Mon Sep 17 00:00:00 2001 From: rinsuki <428rinsuki+git@gmail.com> Date: Thu, 9 Jan 2020 14:35:04 +0900 Subject: Add GitHub Actions (#5522) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add .github/workflows/nodejs.yml * fix * GitHub Actions: Node.js 8.xはサポートしない * add .github/workflows/docker.yml * Dockerビルドをキャッシュするように * Run test in github actions * 同リポジトリ内からのプルリクだと無駄に二回走るのを抑制 * 6925c00のdocker.ymlへの適応忘れ * fix .circleci/misskey/test.yml * test実行時にDBとかredisとか動かすように * fix * fix tests (#5544) * fix test * fix compile errors * PATH引き継ぎでchild_process.spawn時のENOENTを修正 * サーバー起動処理を共通化 * fix coding style * fd=4をipcに使うように * fix port * fix * fix ws port * #4033 にテストケースを追従 * fix? * fix?? * fix * fix * fix * maybe fix * fix * node 10.xサポートしてなかった * 11.10じゃないとだめだった * fix * remove chart test * fix * chart test復活 * fix * 一回一回コネクションを閉じる * Revert "一回一回コネクションを閉じる" This reverts commit 56e35cf4f83070744c8dd852f1a7075011d88828. * 一回一回sync→dropしてるのをやめてみる * fix * fix * … * キャッシュを切ってみる * add ts to require target * omg fix * Revert "キャッシュを切ってみる" This reverts commit 88161c59d2ea769ddf87143ba4fd4660a06afdf2. * done呼び忘れ * 実際の文字数リミットと違ってたので対応 * テストケースがバグってたので修正 * Revert "一回一回sync→dropしてるのをやめてみる" This reverts commit a9e543ba2eef790ac7a14ae8799b898765748e35. * fix * fix * fix * fix? * fix * chartのconnectionを分離する * fix * fix * fix tsconfig? * Revert "fix tsconfig?" This reverts commit ba9269eaf65507ff97ec1dd2e27260fb2cf0510b. * fix * TS_NODE_FILES を scripts の方で指定 * Windowsェ * Circle CIの実行条件をmasterへのpushのみに Co-authored-by: syuilo --- test/utils.ts | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'test/utils.ts') diff --git a/test/utils.ts b/test/utils.ts index f67baf0048..af190254ec 100644 --- a/test/utils.ts +++ b/test/utils.ts @@ -2,6 +2,7 @@ import * as fs from 'fs'; import * as WebSocket from 'ws'; const fetch = require('node-fetch'); import * as req from 'request'; +import * as childProcess from 'child_process'; export const async = (fn: Function) => (done: Function) => { fn().then(() => { @@ -17,7 +18,7 @@ export const request = async (endpoint: string, params: any, me?: any): Promise< } : {}; try { - const res = await fetch('http://localhost:80/api' + endpoint, { + const res = await fetch('http://localhost:8080/api' + endpoint, { method: 'POST', body: JSON.stringify(Object.assign(auth, params)) }); @@ -65,7 +66,7 @@ export const react = async (user: any, note: any, reaction: string): Promise => new Promise((ok, rej) => { req.post({ - url: 'http://localhost:80/api/drive/files/create', + url: 'http://localhost:8080/api/drive/files/create', formData: { i: user.token, file: fs.createReadStream(path || __dirname + '/resources/Lenna.png') @@ -78,7 +79,7 @@ export const uploadFile = (user: any, path?: string): Promise => new Promis export function connectStream(user: any, channel: string, listener: (message: Record) => any, params?: any): Promise { return new Promise((res, rej) => { - const ws = new WebSocket(`ws://localhost/streaming?i=${user.token}`); + const ws = new WebSocket(`ws://localhost:8080/streaming?i=${user.token}`); ws.on('open', () => { ws.on('message', data => { @@ -102,3 +103,16 @@ export function connectStream(user: any, channel: string, listener: (message: Re }); }); } + +export function launchServer(callbackSpawnedProcess: (p: childProcess.ChildProcess) => void, moreProcess: () => Promise = async () => {}) { + return (done: (err?: Error) => any) => { + const p = childProcess.spawn('node', [__dirname + '/../index.js'], { + stdio: ['inherit', 'inherit', 'inherit', 'ipc'], + env: { NODE_ENV: 'test', PATH: process.env.PATH } + }); + callbackSpawnedProcess(p); + p.on('message', message => { + if (message === 'ok') moreProcess().then(() => done()).catch(e => done(e)); + }); + }; +} -- cgit v1.2.3-freya