diff options
| author | rinsuki <428rinsuki+git@gmail.com> | 2020-01-09 14:35:04 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2020-01-09 14:35:04 +0900 |
| commit | 3ecb0ab1612e0887193140b1a2f8a77872a6fac1 (patch) | |
| tree | d8592afad5c26ca26a6d9975a78478aee4db1c29 /test/utils.ts | |
| parent | 11.37.1 (diff) | |
| download | sharkey-3ecb0ab1612e0887193140b1a2f8a77872a6fac1.tar.gz sharkey-3ecb0ab1612e0887193140b1a2f8a77872a6fac1.tar.bz2 sharkey-3ecb0ab1612e0887193140b1a2f8a77872a6fac1.zip | |
Add GitHub Actions (#5522)
* 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 <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'test/utils.ts')
| -rw-r--r-- | test/utils.ts | 20 |
1 files changed, 17 insertions, 3 deletions
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<any export const uploadFile = (user: any, path?: string): Promise<any> => 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<any> => new Promis export function connectStream(user: any, channel: string, listener: (message: Record<string, any>) => any, params?: any): Promise<WebSocket> { 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<void> = 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)); + }); + }; +} |