Files
upstream-mirror e0c588ca1c
Some checks failed
build / lint (22) (push) Failing after 17s
build / test (22) (push) Failing after 8s
build / lint (23) (push) Failing after 2s
build / build (22) (push) Has been skipped
build / build (23) (push) Has been skipped
build / test (23) (push) Failing after 4s
docsearch / docsearch (push) Failing after 1s
snapshot of https://github.com/ueberdosis/hocuspocus.git @ cf3cfa355b4d3bb61c6b6c80071f71783e32470e (2026-09-15)
2026-09-15 17:21:35 +05:00

28 lines
644 B
TypeScript

import test from "ava";
import { Server } from "@hocuspocus/server";
test("destroy only runs once when called multiple times", async (t) => {
let destroyed = 0;
const server = new Server({
port: 0,
quiet: true,
stopOnSignals: false,
async onDestroy() {
destroyed += 1;
},
});
t.teardown(() => server.httpServer.close());
await server.listen();
// Concurrent and subsequent calls (e.g. from repeated SIGINT signals)
// must not re-run the shutdown, which would close already-closed
// resources in extensions.
await Promise.all([server.destroy(), server.destroy()]);
await server.destroy();
t.is(destroyed, 1);
});