mirror of
https://github.com/binaricat/Netcatty.git
synced 2026-10-09 15:58:34 +00:00
50 lines
1.6 KiB
TypeScript
50 lines
1.6 KiB
TypeScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
import { 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,
|
|
);
|
|
});
|