From 30929339a53790b81eb0a7b6d0e154859d998df2 Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Thu, 26 Sep 2024 14:14:02 +0200 Subject: [PATCH 01/13] Run CI From 13214d5749e439a2a3037044fb5dc3244da88cac Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Thu, 26 Sep 2024 14:15:20 +0200 Subject: [PATCH 02/13] Allow end-to-end workflow dispatch --- .github/workflows/e2e-browser.yml | 4 +++- .github/workflows/e2e-node.yml | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e-browser.yml b/.github/workflows/e2e-browser.yml index 59bdb56e0f..1c248b9f45 100644 --- a/.github/workflows/e2e-browser.yml +++ b/.github/workflows/e2e-browser.yml @@ -1,6 +1,8 @@ name: End-to-end browser tests -on: [push] +on: + push: + workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true diff --git a/.github/workflows/e2e-node.yml b/.github/workflows/e2e-node.yml index 334a9fcf02..68ce989657 100644 --- a/.github/workflows/e2e-node.yml +++ b/.github/workflows/e2e-node.yml @@ -2,6 +2,7 @@ name: End-to-end node tests on: push: + workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true From bd9077df53773c0b07fc67fd28ef29edfaf3ce43 Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Thu, 26 Sep 2024 14:21:40 +0200 Subject: [PATCH 03/13] Lint --- .github/workflows/e2e-browser.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-browser.yml b/.github/workflows/e2e-browser.yml index 1c248b9f45..f60564afde 100644 --- a/.github/workflows/e2e-browser.yml +++ b/.github/workflows/e2e-browser.yml @@ -1,6 +1,6 @@ name: End-to-end browser tests -on: +on: push: workflow_dispatch: concurrency: From 8d73406d7a7f20bc065fed31b7d3095cb3e46a6c Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Thu, 26 Sep 2024 10:22:13 +0200 Subject: [PATCH 04/13] Add rollup to dev dependencies --- package-lock.json | 252 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 1 + 2 files changed, 249 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3610e5b5dc..ddadfe3ba9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,6 +41,7 @@ "license-checker": "^25.0.1", "prettier": "^3.3.3", "rimraf": "^6.0.1", + "rollup": "^4.22.4", "ts-jest": "^29.2.5", "ts-node": "^10.9.2", "typedoc": "^0.26.7", @@ -5887,6 +5888,230 @@ } } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -19819,19 +20044,38 @@ } }, "node_modules/rollup": { - "version": "3.29.2", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=14.18.0", + "node": ">=18.0.0", "npm": ">=8.0.0" }, "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", "fsevents": "~2.3.2" } }, diff --git a/package.json b/package.json index 07bbf24fc6..fe201ad0ec 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,7 @@ "license-checker": "^25.0.1", "prettier": "^3.3.3", "rimraf": "^6.0.1", + "rollup": "^4.22.4", "ts-jest": "^29.2.5", "ts-node": "^10.9.2", "typedoc": "^0.26.7", From d6d584cfef7ecb590687a259beae4bdbdd00ce80 Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Thu, 26 Sep 2024 14:50:13 +0200 Subject: [PATCH 05/13] Try skipping lib checks in tests --- jest.config.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jest.config.ts b/jest.config.ts index d76ce6cadd..9de9b7d511 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -32,6 +32,11 @@ const baseConfig: ArrayElement> = { clearMocks: true, injectGlobals: false, setupFilesAfterEnv: ["/jest.setup.ts"], + globals: { + "ts-jest": { + tsConfig: "tsconfig.test.json", + }, + }, }; // Required by @peculiar/webcrypto, which comes from the polyfills From 28999d909b2c2fce7fd56a94cc9b35005c90c706 Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Mon, 30 Sep 2024 11:56:21 +0200 Subject: [PATCH 06/13] fixup! Try skipping lib checks in tests --- tsconfig.test.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tsconfig.test.json diff --git a/tsconfig.test.json b/tsconfig.test.json new file mode 100644 index 0000000000..5c65a7fcf6 --- /dev/null +++ b/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.build.json", + + "compilerOptions": { + "skipLibCheck": true + } +} From 01d0bebcefc2919c1b4ad4eb15c40040195d5a03 Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Mon, 30 Sep 2024 12:02:13 +0200 Subject: [PATCH 07/13] fixup! fixup! Try skipping lib checks in tests --- jest.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jest.config.ts b/jest.config.ts index 9de9b7d511..6020e7b398 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -34,7 +34,7 @@ const baseConfig: ArrayElement> = { setupFilesAfterEnv: ["/jest.setup.ts"], globals: { "ts-jest": { - tsConfig: "tsconfig.test.json", + tsConfig: "/tsconfig.test.json", }, }, }; From 4140b24492d8f26c71433cf13ddc81c15be818ca Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Mon, 30 Sep 2024 13:07:57 +0200 Subject: [PATCH 08/13] Fix casing --- jest.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jest.config.ts b/jest.config.ts index 6020e7b398..a93b3aa81c 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -34,7 +34,7 @@ const baseConfig: ArrayElement> = { setupFilesAfterEnv: ["/jest.setup.ts"], globals: { "ts-jest": { - tsConfig: "/tsconfig.test.json", + tsconfig: "/tsconfig.test.json", }, }, }; From 1c524515228dafdb2246c834cf9ca31790eff644 Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Mon, 30 Sep 2024 13:08:18 +0200 Subject: [PATCH 09/13] Fix import --- e2e/node/server/e2e-browser-script.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/node/server/e2e-browser-script.spec.ts b/e2e/node/server/e2e-browser-script.spec.ts index 9cb02649ba..c026a96379 100644 --- a/e2e/node/server/e2e-browser-script.spec.ts +++ b/e2e/node/server/e2e-browser-script.spec.ts @@ -26,7 +26,7 @@ import { import { afterAll, beforeAll, describe, expect, it, jest } from "@jest/globals"; import type { Request } from "@playwright/test"; import { firefox } from "@playwright/test"; -import type { ILogoutOptions } from "core"; +import type { ILogoutOptions } from "@inrupt/solid-client-authn-core"; import { custom } from "openid-client"; // Here we want to test how the local code behaves, not the already published one. // eslint-disable-next-line import/no-relative-packages From f0b77552d26bbf58e2b6a424f4c4972b61f0254a Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Mon, 30 Sep 2024 13:25:51 +0200 Subject: [PATCH 10/13] Fix TS errors --- e2e/node/server/express.ts | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/e2e/node/server/express.ts b/e2e/node/server/express.ts index 3dde982517..4ec11b35ef 100644 --- a/e2e/node/server/express.ts +++ b/e2e/node/server/express.ts @@ -40,18 +40,18 @@ export function createApp( // Initialised when the server comes up and is running... let session: Session; - app.get("/", async (req, res) => { - return res.status(200).end(); + app.get("/", (_req, res) => { + res.status(200).end(); }); app.get("/login", async (req, res) => { const { oidcIssuer, clientId } = req.query; if (typeof oidcIssuer !== "string") { - return res.status(400).send("oidcIssuer is required").end(); + res.status(400).send("oidcIssuer is required").end(); } - return session.login({ + await session.login({ redirectUrl: `http://localhost:${CONSTANTS.CLIENT_AUTHN_TEST_PORT}/redirect`, oidcIssuer, clientId: typeof clientId === "string" ? clientId : undefined, @@ -65,24 +65,21 @@ export function createApp( ); if (info?.isLoggedIn) { - return res.redirect("/"); + res.redirect("/"); } - return res.status(400).send("could not log in").end(); + res.status(400).send("could not log in").end(); }); app.get("/fetch", async (req, res) => { const { resource } = req.query; if (typeof resource !== "string") { - return res - .status(400) - .send("resource must be provided as a string") - .end(); + res.status(400).send("resource must be provided as a string").end(); } const response = await session.fetch(resource); - return res + res .status(response.status) .send(await response.text()) .end(); @@ -91,19 +88,19 @@ export function createApp( app.get("/logout", async (_req, res) => { try { await session.logout(); - return res.status(200).send("successful logout").end(); + res.status(200).send("successful logout").end(); } catch (error) { - return res.status(400).send(`Logout processing failed: [${error}]`).end(); + res.status(400).send(`Logout processing failed: [${error}]`).end(); } }); app.get("/postLogoutUrl", async (_req, res) => { - return res.status(200).send("successfully at post logout").end(); + res.status(200).send("successfully at post logout").end(); }); app.get("/idplogout", async (_req, res) => { try { - return await session.logout({ + await session.logout({ logoutType: "idp", postLogoutUrl: `http://localhost:${CONSTANTS.CLIENT_AUTHN_TEST_PORT}/postLogoutUrl`, handleRedirect: (url) => { @@ -111,7 +108,7 @@ export function createApp( }, }); } catch (error) { - return res.status(400).send(`Logout processing failed: [${error}]`).end(); + res.status(400).send(`Logout processing failed: [${error}]`).end(); } }); From 94847df7f16eba10511a9b9f5c480adaa75bbe49 Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Mon, 30 Sep 2024 13:26:45 +0200 Subject: [PATCH 11/13] Remove unnecessary Jest configuration --- jest.config.ts | 5 ----- tsconfig.test.json | 7 ------- 2 files changed, 12 deletions(-) delete mode 100644 tsconfig.test.json diff --git a/jest.config.ts b/jest.config.ts index a93b3aa81c..d76ce6cadd 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -32,11 +32,6 @@ const baseConfig: ArrayElement> = { clearMocks: true, injectGlobals: false, setupFilesAfterEnv: ["/jest.setup.ts"], - globals: { - "ts-jest": { - tsconfig: "/tsconfig.test.json", - }, - }, }; // Required by @peculiar/webcrypto, which comes from the polyfills diff --git a/tsconfig.test.json b/tsconfig.test.json deleted file mode 100644 index 5c65a7fcf6..0000000000 --- a/tsconfig.test.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig.build.json", - - "compilerOptions": { - "skipLibCheck": true - } -} From c5ee5ed5f5bd03858226650186333953db869f09 Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Mon, 30 Sep 2024 13:34:58 +0200 Subject: [PATCH 12/13] fixup! Remove unnecessary Jest configuration --- e2e/node/server/express.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/e2e/node/server/express.ts b/e2e/node/server/express.ts index 4ec11b35ef..8c424c5f7b 100644 --- a/e2e/node/server/express.ts +++ b/e2e/node/server/express.ts @@ -49,6 +49,7 @@ export function createApp( if (typeof oidcIssuer !== "string") { res.status(400).send("oidcIssuer is required").end(); + return; } await session.login({ @@ -76,6 +77,7 @@ export function createApp( if (typeof resource !== "string") { res.status(400).send("resource must be provided as a string").end(); + return; } const response = await session.fetch(resource); From ec6c4e7ad5ea369bb994e780efb956acc7359781 Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Mon, 30 Sep 2024 13:42:52 +0200 Subject: [PATCH 13/13] fixup! fixup! Remove unnecessary Jest configuration --- e2e/node/server/express.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/e2e/node/server/express.ts b/e2e/node/server/express.ts index 8c424c5f7b..4d2b678e92 100644 --- a/e2e/node/server/express.ts +++ b/e2e/node/server/express.ts @@ -67,6 +67,7 @@ export function createApp( if (info?.isLoggedIn) { res.redirect("/"); + return; } res.status(400).send("could not log in").end();