teach tests about the new way we fail websockets
This commit is contained in:
parent
e111d8aa55
commit
77852b8cce
3 changed files with 11 additions and 2 deletions
|
|
@ -237,8 +237,8 @@ describe('API', () => {
|
|||
'homeTimeline',
|
||||
() => { },
|
||||
), (err: IncomingMessage) => {
|
||||
assert.strictEqual(err.statusCode, 401);
|
||||
assert.ok(err.headers['www-authenticate']?.startsWith('Bearer realm="Misskey", error="invalid_token", error_description'));
|
||||
assert.strictEqual(err.statusCode, 4000);
|
||||
assert.ok(err.reason?.startsWith('Failed to authenticate'));
|
||||
return true;
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -734,6 +734,9 @@ describe('Streaming', () => {
|
|||
const socket = new WebSocket(`ws://127.0.0.1:${port}/streaming?i=${application}`);
|
||||
const established = await new Promise<boolean>((resolve, reject) => {
|
||||
socket.on('error', () => resolve(false));
|
||||
socket.on('close', (code, reason) => {
|
||||
if (code === 4000) resolve(false);
|
||||
});
|
||||
socket.on('unexpected-response', () => resolve(false));
|
||||
setTimeout(() => resolve(true), 3000);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -377,6 +377,12 @@ export function connectStream<C extends keyof misskey.Channels>(user: UserToken,
|
|||
const ws = new WebSocket(url, options);
|
||||
|
||||
ws.on('unexpected-response', (req, res) => rej(res));
|
||||
ws.on('close', (code, reason) => {
|
||||
rej({
|
||||
statusCode: code,
|
||||
reason: reason.toString('utf8'),
|
||||
});
|
||||
});
|
||||
ws.on('open', () => {
|
||||
ws.on('message', data => {
|
||||
const msg = JSON.parse(data.toString());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue