mirror of
https://github.com/wassname/pi-plan.git
synced 2026-10-03 12:42:00 +08:00
Fix completed recovery and steer payload validation
This commit is contained in:
1 parent
9350d9f54b
commit
f49be72a30
10 files changed
+139
-4
No files matched your search
@@ -106,6 +106,22 @@ it("retries an unanswered active-binding hello twice after delayed channel regis
|
||||
vi.useRealTimers();
|
||||
});
|
||||
|
||||
it("rejects an oversize steer before retaining it whether connected or disconnected", async () => {
|
||||
const runtime = setup("supervisor");
|
||||
runtime.link.markReady();
|
||||
await runtime.link.waitReady();
|
||||
const oversized = "x".repeat(16_000);
|
||||
for (const connected of [true, false]) {
|
||||
if (!connected) runtime.fixture.connect(false);
|
||||
const entriesBefore = runtime.entries.length;
|
||||
const sentBefore = runtime.fixture.sent.length;
|
||||
expect(() => runtime.link.steer(oversized)).toThrow("16 KB payload limit; no instruction was retained");
|
||||
expect(runtime.entries).toHaveLength(entriesBefore);
|
||||
expect(runtime.fixture.sent).toHaveLength(sentBefore);
|
||||
}
|
||||
await runtime.hooks.get("session_shutdown")();
|
||||
});
|
||||
|
||||
it("retains only the newest disconnected steer across a supervisor reload", async () => {
|
||||
const first = setup("supervisor");
|
||||
first.link.markReady();
|
||||
|
||||
Reference in new issue
Block a user