From 484480c1464a4fabf14201cbb04d5791202c728c Mon Sep 17 00:00:00 2001 From: William Killerud Date: Mon, 18 Nov 2024 11:08:14 +0100 Subject: [PATCH] test: configure fastify to force-close connections on close --- test/alias.test.mjs | 5 +++- test/integration/alias-legacy.test.mjs | 5 +++- test/integration/alias.test.mjs | 5 +++- test/integration/integrity.test.mjs | 5 +++- test/integration/login.test.mjs | 5 +++- test/integration/map.test.mjs | 5 +++- test/integration/meta.test.mjs | 5 +++- test/integration/package.test.mjs | 5 +++- test/integration/version.test.mjs | 5 +++- test/integrity.test.mjs | 5 +++- test/login.test.mjs | 5 +++- test/meta.test.mjs | 5 +++- test/publish-files-definitions.test.mjs | 5 +++- test/publish.map.test.mjs | 5 +++- test/publish.package.test.mjs | 5 +++- test/utils.test.mjs | 40 ++++++++++++++++++++----- test/version.test.mjs | 5 +++- 17 files changed, 96 insertions(+), 24 deletions(-) diff --git a/test/alias.test.mjs b/test/alias.test.mjs index 7d3cb801..ed476c33 100644 --- a/test/alias.test.mjs +++ b/test/alias.test.mjs @@ -14,7 +14,10 @@ const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); beforeEach(async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const memSink = new Sink(); const service = new EikService({ sink: memSink }); await server.register(service.api()); diff --git a/test/integration/alias-legacy.test.mjs b/test/integration/alias-legacy.test.mjs index bc2a70c2..16e2b8a1 100644 --- a/test/integration/alias-legacy.test.mjs +++ b/test/integration/alias-legacy.test.mjs @@ -22,7 +22,10 @@ function exec(cmd) { } beforeEach(async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const memSink = new Sink(); const service = new EikService({ sink: memSink }); await server.register(service.api()); diff --git a/test/integration/alias.test.mjs b/test/integration/alias.test.mjs index aeb97a90..f3bceed2 100644 --- a/test/integration/alias.test.mjs +++ b/test/integration/alias.test.mjs @@ -22,7 +22,10 @@ function exec(cmd) { } beforeEach(async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const memSink = new Sink(); const service = new EikService({ sink: memSink }); await server.register(service.api()); diff --git a/test/integration/integrity.test.mjs b/test/integration/integrity.test.mjs index a79f7e20..70970069 100644 --- a/test/integration/integrity.test.mjs +++ b/test/integration/integrity.test.mjs @@ -23,7 +23,10 @@ function exec(cmd) { beforeEach(async (t) => { const memSink = new Sink(); - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const service = new EikService({ sink: memSink }); await server.register(service.api()); const address = await server.listen({ diff --git a/test/integration/login.test.mjs b/test/integration/login.test.mjs index 4208d238..fb7e59c0 100644 --- a/test/integration/login.test.mjs +++ b/test/integration/login.test.mjs @@ -22,7 +22,10 @@ function exec(cmd) { beforeEach(async (t) => { const memSink = new Sink(); - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const service = new EikService({ sink: memSink }); await server.register(service.api()); const address = await server.listen({ diff --git a/test/integration/map.test.mjs b/test/integration/map.test.mjs index c43debfa..c47d5b3c 100644 --- a/test/integration/map.test.mjs +++ b/test/integration/map.test.mjs @@ -23,7 +23,10 @@ function exec(cmd) { beforeEach(async (t) => { const memSink = new Sink(); - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const service = new EikService({ sink: memSink }); await server.register(service.api()); const address = await server.listen({ diff --git a/test/integration/meta.test.mjs b/test/integration/meta.test.mjs index f0039529..3a97f2ae 100644 --- a/test/integration/meta.test.mjs +++ b/test/integration/meta.test.mjs @@ -23,7 +23,10 @@ function exec(cmd) { beforeEach(async (t) => { const memSink = new Sink(); - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const service = new EikService({ sink: memSink }); await server.register(service.api()); const address = await server.listen({ diff --git a/test/integration/package.test.mjs b/test/integration/package.test.mjs index aa99d14a..b19f692d 100644 --- a/test/integration/package.test.mjs +++ b/test/integration/package.test.mjs @@ -23,7 +23,10 @@ function exec(cmd) { beforeEach(async (t) => { const memSink = new Sink(); - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const service = new EikService({ sink: memSink }); await server.register(service.api()); const address = await server.listen({ diff --git a/test/integration/version.test.mjs b/test/integration/version.test.mjs index e09763ce..5ebeae72 100644 --- a/test/integration/version.test.mjs +++ b/test/integration/version.test.mjs @@ -29,7 +29,10 @@ function exec(cmd, opts = {}) { beforeEach(async (t) => { const memSink = new Sink(); - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const service = new EikService({ sink: memSink }); await server.register(service.api()); const address = await server.listen({ diff --git a/test/integrity.test.mjs b/test/integrity.test.mjs index e2621f80..70eb3d32 100644 --- a/test/integrity.test.mjs +++ b/test/integrity.test.mjs @@ -14,7 +14,10 @@ const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); beforeEach(async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const memSink = new Sink(); const service = new EikService({ sink: memSink }); await server.register(service.api()); diff --git a/test/login.test.mjs b/test/login.test.mjs index dfcaaedf..f8ae7114 100644 --- a/test/login.test.mjs +++ b/test/login.test.mjs @@ -15,7 +15,10 @@ const __dirname = dirname(__filename); beforeEach(async (t) => { const memSink = new Sink(); - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const service = new EikService({ sink: memSink }); await server.register(service.api()); const address = await server.listen({ diff --git a/test/meta.test.mjs b/test/meta.test.mjs index 9044622a..2c9e61fd 100644 --- a/test/meta.test.mjs +++ b/test/meta.test.mjs @@ -14,7 +14,10 @@ const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); beforeEach(async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const memSink = new Sink(); const service = new EikService({ sink: memSink }); await server.register(service.api()); diff --git a/test/publish-files-definitions.test.mjs b/test/publish-files-definitions.test.mjs index 73e79ed0..cb98107a 100644 --- a/test/publish-files-definitions.test.mjs +++ b/test/publish-files-definitions.test.mjs @@ -26,7 +26,10 @@ const config = (files, server, token, cwd) => ({ beforeEach(async (t) => { const memSink = new Sink(); - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const service = new EikService({ sink: memSink }); await server.register(service.api()); const address = await server.listen({ diff --git a/test/publish.map.test.mjs b/test/publish.map.test.mjs index 5cf3771f..db8c1a6c 100644 --- a/test/publish.map.test.mjs +++ b/test/publish.map.test.mjs @@ -15,7 +15,10 @@ const __dirname = dirname(__filename); beforeEach(async (t) => { const memSink = new Sink(); - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const service = new EikService({ sink: memSink }); await server.register(service.api()); const address = await server.listen({ diff --git a/test/publish.package.test.mjs b/test/publish.package.test.mjs index 0246bc2d..8327a945 100644 --- a/test/publish.package.test.mjs +++ b/test/publish.package.test.mjs @@ -15,7 +15,10 @@ const __dirname = dirname(__filename); beforeEach(async (t) => { const memSink = new Sink(); - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const service = new EikService({ sink: memSink }); await server.register(service.api()); const address = await server.listen({ diff --git a/test/utils.test.mjs b/test/utils.test.mjs index d68976a9..02cb9071 100644 --- a/test/utils.test.mjs +++ b/test/utils.test.mjs @@ -73,7 +73,10 @@ test("compare hashes - false", async (t) => { }); test("fetch latest version for a given published bundle", async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); server.get("/pkg/foo", async () => ({ versions: [ [1, { version: "1.3.2" }], @@ -93,7 +96,10 @@ test("fetch latest version for a given published bundle", async (t) => { }); test("fetch latest version, filtered by major, for a given published bundle", async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); server.get("/pkg/foo", async () => ({ versions: [ [1, { version: "1.3.2" }], @@ -113,7 +119,10 @@ test("fetch latest version, filtered by major, for a given published bundle", as }); test("fetch latest version for a given published bundle, non existant bundle on server", async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const address = await server.listen({ host: "127.0.0.1", port: 0, @@ -133,7 +142,10 @@ test("fetch latest version for a given published bundle, non existant bundle on }); test("fetch latest version, filtered by major, for a given published bundle", async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); server.get("/pkg/foo", async () => ""); const address = await server.listen({ host: "127.0.0.1", @@ -154,7 +166,10 @@ test("fetch latest version, filtered by major, for a given published bundle", as }); test("fetch latest version, invalid versions returned by server", async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); server.get("/pkg/foo", async () => ({ versions: 1 })); const address = await server.listen({ host: "127.0.0.1", @@ -170,7 +185,10 @@ test("fetch latest version, invalid versions returned by server", async (t) => { }); test("fetch latest version, invalid versions keys returned by server", async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); server.get("/pkg/foo", async () => ({ versions: [ ["not a number", 1], @@ -191,7 +209,10 @@ test("fetch latest version, invalid versions keys returned by server", async (t) }); test("fetch latest version, no bundles yet published", async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); server.get("/pkg/foo", async () => ({ latest: {}, versions: [], @@ -209,7 +230,10 @@ test("fetch latest version, no bundles yet published", async (t) => { }); test("fetch remote hash for a given version", async (t) => { - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); server.get("/pkg/foo/1.0.0", async () => ({ integrity: "sha512-36Ug1lJ/p/H0n5+or1HDLrqLaI3nvB7j2f7PC9RIzWd3T5GE4CfOuClEZRiNsf/F4BjT5FnS9mz0EzeDHpu3uw==", diff --git a/test/version.test.mjs b/test/version.test.mjs index 276df0d1..ac00b406 100644 --- a/test/version.test.mjs +++ b/test/version.test.mjs @@ -14,7 +14,10 @@ const __dirname = dirname(__filename); beforeEach(async (t) => { const memSink = new Sink(); - const server = fastify({ ignoreTrailingSlash: true }); + const server = fastify({ + ignoreTrailingSlash: true, + forceCloseConnections: true, + }); const service = new EikService({ sink: memSink }); await server.register(service.api()); const address = await server.listen({