mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-02-22 11:35:56 +00:00
local ws for unit test + touchups
This commit is contained in:
parent
492d9f503f
commit
5bca760d58
3 changed files with 8 additions and 4 deletions
|
@ -12,7 +12,6 @@ class WebSocketMonitorType extends MonitorType {
|
||||||
const [ message, code ] = await this.attemptUpgrade(monitor);
|
const [ message, code ] = await this.attemptUpgrade(monitor);
|
||||||
heartbeat.status = code === 1000 ? UP : DOWN;
|
heartbeat.status = code === 1000 ? UP : DOWN;
|
||||||
heartbeat.msg = message;
|
heartbeat.msg = message;
|
||||||
console.log(code, message); //temp unit testing
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -34,10 +33,12 @@ class WebSocketMonitorType extends MonitorType {
|
||||||
if (monitor.wsIgnoreHeaders && error.message === "Invalid Sec-WebSocket-Accept header") {
|
if (monitor.wsIgnoreHeaders && error.message === "Invalid Sec-WebSocket-Accept header") {
|
||||||
resolve([ "101 - OK", 1000 ]);
|
resolve([ "101 - OK", 1000 ]);
|
||||||
}
|
}
|
||||||
|
// Upgrade failed, return message to user
|
||||||
resolve([ error.message, error.code ]);
|
resolve([ error.message, error.code ]);
|
||||||
};
|
};
|
||||||
|
|
||||||
ws.onclose = (event) => {
|
ws.onclose = (event) => {
|
||||||
|
// Upgrade success, connection closed successfully
|
||||||
resolve([ "101 - OK", event.code ]);
|
resolve([ "101 - OK", event.code ]);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -86,7 +86,7 @@
|
||||||
"ignoreTLSError": "Ignore TLS/SSL errors for HTTPS websites",
|
"ignoreTLSError": "Ignore TLS/SSL errors for HTTPS websites",
|
||||||
"ignoreTLSErrorGeneral": "Ignore TLS/SSL error for connection",
|
"ignoreTLSErrorGeneral": "Ignore TLS/SSL error for connection",
|
||||||
"upsideDownModeDescription": "Flip the status upside down. If the service is reachable, it is DOWN.",
|
"upsideDownModeDescription": "Flip the status upside down. If the service is reachable, it is DOWN.",
|
||||||
"wsIgnoreHeadersDescription": "Test non compliant Websocket servers.",
|
"wsIgnoreHeadersDescription": "The websocket upgrade succeeds, but the server does not reply with Sec-WebSocket-Accept header.",
|
||||||
"Ignore Sec-WebSocket-Accept header": "Ignore Sec-WebSocket-Accept header",
|
"Ignore Sec-WebSocket-Accept header": "Ignore Sec-WebSocket-Accept header",
|
||||||
"maxRedirectDescription": "Maximum number of redirects to follow. Set to 0 to disable redirects.",
|
"maxRedirectDescription": "Maximum number of redirects to follow. Set to 0 to disable redirects.",
|
||||||
"Upside Down Mode": "Upside Down Mode",
|
"Upside Down Mode": "Upside Down Mode",
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
const { WebSocketServer } = require("ws");
|
||||||
const { describe, test } = require("node:test");
|
const { describe, test } = require("node:test");
|
||||||
const assert = require("node:assert");
|
const assert = require("node:assert");
|
||||||
const { WebSocketMonitorType } = require("../../server/monitor-types/websocket-upgrade");
|
const { WebSocketMonitorType } = require("../../server/monitor-types/websocket-upgrade");
|
||||||
|
@ -49,11 +50,13 @@ describe("Websocket Test", {
|
||||||
assert.deepStrictEqual(heartbeat, expected);
|
assert.deepStrictEqual(heartbeat, expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("Insecure Websocket", async () => {
|
test("Insecure Websocket", async (t) => {
|
||||||
|
t.after(() => wss.close());
|
||||||
const websocketMonitor = new WebSocketMonitorType();
|
const websocketMonitor = new WebSocketMonitorType();
|
||||||
|
const wss = new WebSocketServer({ port: 8080 });
|
||||||
|
|
||||||
const monitor = {
|
const monitor = {
|
||||||
wsurl: "ws://ws.ifelse.io",
|
wsurl: "ws://localhost:8080",
|
||||||
wsIgnoreHeaders: false,
|
wsIgnoreHeaders: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue