mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-12 23:04:52 +09:00
Merge branch 'master' into fix/terminate-deleted-user-sessions
This commit is contained in:
9 files changed
+174
-17
No files matched your search
@@ -1,12 +1,44 @@
|
||||
import assert from "node:assert/strict";
|
||||
import events from "node:events";
|
||||
import * as lib from "@clusterio/lib";
|
||||
import { ControlConnection, ControllerHooks } from "@clusterio/controller";
|
||||
import { Controller, ControlConnection, ControllerHooks } from "@clusterio/controller";
|
||||
import { MockConnector, MockController, MockLogger } from "../mock.js";
|
||||
|
||||
const addr = lib.Address.fromShorthand;
|
||||
|
||||
describe("controller/src/ControlConnection", function() {
|
||||
describe(".handleDebugDumpWsRequest()", function() {
|
||||
function makeConnection() {
|
||||
const controllerConfig = new lib.ControllerConfig("controller");
|
||||
const connector = new lib.VirtualConnector(
|
||||
lib.Address.fromShorthand("controller"),
|
||||
lib.Address.fromShorthand({ controlId: 1 }),
|
||||
);
|
||||
connector._socket = {};
|
||||
const controller = new Controller(lib.logger, [], controllerConfig);
|
||||
const user = controller.users.getOrCreateUser("test");
|
||||
return new ControlConnection({ version: "2.0.0" }, connector, controller, user, 1);
|
||||
}
|
||||
|
||||
it("re-applies clusterio_ignore_dump to the socket on resume", async function() {
|
||||
const connection = makeConnection();
|
||||
await connection.handleDebugDumpWsRequest(new lib.DebugDumpWsRequest());
|
||||
// A resume installs a fresh socket without the flag.
|
||||
const resumedSocket = {};
|
||||
connection.connector._socket = resumedSocket;
|
||||
connection.connector.emit("resume");
|
||||
assert.equal(resumedSocket.clusterio_ignore_dump, true);
|
||||
});
|
||||
|
||||
it("leaves the flag off on resume without a dumper", function() {
|
||||
const connection = makeConnection();
|
||||
const resumedSocket = {};
|
||||
connection.connector._socket = resumedSocket;
|
||||
connection.connector.emit("resume");
|
||||
assert.equal(resumedSocket.clusterio_ignore_dump, false);
|
||||
});
|
||||
});
|
||||
|
||||
describe(".handleControllerRestartRequest()", function() {
|
||||
let mockController;
|
||||
|
||||
|
||||
Reference in new issue
Block a user