mirror of
https://github.com/binaricat/Netcatty.git
synced 2026-11-12 01:00:54 +00:00
58 lines
1.9 KiB
TypeScript
58 lines
1.9 KiB
TypeScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
import {
|
|
removeKeyboardInteractiveRequest,
|
|
shouldQueueKeyboardInteractiveRequest,
|
|
} from "./useAppStartupEffects.ts";
|
|
|
|
const sessions = [{ id: "terminal-1" }, { id: "terminal-2" }];
|
|
|
|
test("terminal-scoped keyboard-interactive requests are limited to owned sessions", () => {
|
|
assert.equal(
|
|
shouldQueueKeyboardInteractiveRequest({ scope: "terminal", sessionId: "terminal-1" }, sessions),
|
|
true,
|
|
);
|
|
assert.equal(
|
|
shouldQueueKeyboardInteractiveRequest({ scope: "terminal", sessionId: "foreign-terminal" }, sessions),
|
|
false,
|
|
);
|
|
});
|
|
|
|
test("external keyboard-interactive requests are not filtered by terminal session ids", () => {
|
|
assert.equal(
|
|
shouldQueueKeyboardInteractiveRequest({ scope: "external", sessionId: "sftp-conn-1" }, sessions),
|
|
true,
|
|
);
|
|
assert.equal(
|
|
shouldQueueKeyboardInteractiveRequest({ scope: "external", sessionId: "tunnel-1" }, sessions),
|
|
true,
|
|
);
|
|
});
|
|
|
|
test("disabled peer windows still queue sender-targeted external keyboard-interactive requests", () => {
|
|
assert.equal(
|
|
shouldQueueKeyboardInteractiveRequest({ scope: "external", sessionId: "sftp-conn-1" }, sessions),
|
|
true,
|
|
);
|
|
});
|
|
|
|
test("disabled peer windows can still queue owned terminal keyboard-interactive requests", () => {
|
|
assert.equal(
|
|
shouldQueueKeyboardInteractiveRequest({ scope: "terminal", sessionId: "terminal-1" }, sessions),
|
|
true,
|
|
);
|
|
});
|
|
|
|
test("legacy unscoped keyboard-interactive requests remain visible", () => {
|
|
assert.equal(
|
|
shouldQueueKeyboardInteractiveRequest({ sessionId: "legacy-conn" }, sessions),
|
|
true,
|
|
);
|
|
});
|
|
|
|
test("cancelled keyboard-interactive requests are removed from the renderer queue", () => {
|
|
const queue = [{ requestId: "keep" }, { requestId: "cancel" }];
|
|
assert.deepEqual(removeKeyboardInteractiveRequest(queue, "cancel"), [{ requestId: "keep" }]);
|
|
});
|