import { describe, expect, test } from "bun:test"; import { ReadonlyOpenLimiter } from "./room-throttle"; describe("ReadonlyOpenLimiter", () => { test("caps opens per socket per window and resets after it", () => { const limiter = new ReadonlyOpenLimiter(); const socket = {}; const other = {}; const limit = 30; for (let index = 0; index < limit; index++) expect(limiter.allow(socket, 1000)).toBe(true); expect(limiter.allow(socket, 1000)).toBe(false); expect(limiter.allow(other, 1000)).toBe(true); expect(limiter.allow(socket, 1000 + 61_000)).toBe(true); }); });