From 1569afd8cd3f280e1290a86866133ccf0e9d2a76 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Fri, 16 Aug 2024 14:34:48 +0200 Subject: [PATCH 1/3] feat(connection-form): add option to prefer ID token over access token COMPASS-8107 --- package-lock.json | 53 ++++++++++--------- packages/atlas-service/package.json | 5 +- .../authentication-oidc.spec.tsx | 21 ++++++++ .../authentication-oidc.tsx | 32 +++++++++++ packages/data-service/package.json | 4 +- 5 files changed, 86 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0e7dece11ab..b601a8f4921 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7750,16 +7750,16 @@ "link": true }, "node_modules/@mongodb-js/devtools-connect": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.5.tgz", - "integrity": "sha512-L9GKPo119VpTt7K4DA99T9D+lpZTQNfUdKTLSgHCtoJa81bHu/bOneSlDA23dfT2ET3GNVNICWzNwOn2sXEA1Q==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.2.5.tgz", + "integrity": "sha512-hAYy39Dhss7ObSt21YJ30HKCod7lsO/mOQCHIaVHv9uNNAr02dFQHVA/Zd75wikcbpYybYxOM2Ou0zznvr8Jzg==", "license": "Apache-2.0", "dependencies": { + "@mongodb-js/devtools-proxy-support": "^0.3.5", "@mongodb-js/oidc-http-server-pages": "1.1.2", "lodash.merge": "^4.6.2", "mongodb-connection-string-url": "^3.0.0", - "socks": "^2.7.3", - "system-ca": "^2.0.0" + "socks": "^2.7.3" }, "optionalDependencies": { "kerberos": "^2.1.0", @@ -7768,7 +7768,7 @@ "resolve-mongodb-srv": "^1.1.1" }, "peerDependencies": { - "@mongodb-js/oidc-plugin": "^1.0.0", + "@mongodb-js/oidc-plugin": "^1.1.0", "mongodb": "^6.8.0", "mongodb-log-writer": "^1.4.2" } @@ -8428,9 +8428,10 @@ } }, "node_modules/@mongodb-js/oidc-plugin": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", - "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", + "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", + "license": "Apache-2.0", "dependencies": { "express": "^4.18.2", "open": "^9.1.0", @@ -44331,8 +44332,9 @@ "@mongodb-js/compass-telemetry": "^1.1.3", "@mongodb-js/compass-user-data": "^0.3.3", "@mongodb-js/compass-utils": "^0.6.9", - "@mongodb-js/devtools-connect": "^3.0.1", - "@mongodb-js/oidc-plugin": "^1.0.0", + "@mongodb-js/devtools-connect": "^3.2.5", + "@mongodb-js/devtools-proxy-support": "^0.3.5", + "@mongodb-js/oidc-plugin": "^1.1.1", "compass-preferences-model": "^2.26.0", "electron": "^29.4.5", "hadron-app-registry": "^9.2.2", @@ -48309,7 +48311,7 @@ "dependencies": { "@mongodb-js/compass-logging": "^1.4.3", "@mongodb-js/compass-utils": "^0.6.9", - "@mongodb-js/devtools-connect": "^3.0.1", + "@mongodb-js/devtools-connect": "^3.2.5", "@mongodb-js/ssh-tunnel": "^2.3.3", "bson": "^6.7.0", "lodash": "^4.17.21", @@ -48323,7 +48325,7 @@ "@mongodb-js/devtools-docker-test-envs": "^1.3.2", "@mongodb-js/eslint-config-compass": "^1.1.4", "@mongodb-js/mocha-config-compass": "^1.3.10", - "@mongodb-js/oidc-plugin": "^1.0.0", + "@mongodb-js/oidc-plugin": "^1.1.1", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.4", "@types/lodash": "^4.14.188", @@ -56171,10 +56173,11 @@ "@mongodb-js/compass-telemetry": "^1.1.3", "@mongodb-js/compass-user-data": "^0.3.3", "@mongodb-js/compass-utils": "^0.6.9", - "@mongodb-js/devtools-connect": "^3.0.1", + "@mongodb-js/devtools-connect": "^3.2.5", + "@mongodb-js/devtools-proxy-support": "^0.3.5", "@mongodb-js/eslint-config-compass": "^1.1.4", "@mongodb-js/mocha-config-compass": "^1.3.10", - "@mongodb-js/oidc-plugin": "^1.0.0", + "@mongodb-js/oidc-plugin": "^1.1.1", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.4", "@testing-library/react": "^12.1.5", @@ -59408,10 +59411,11 @@ } }, "@mongodb-js/devtools-connect": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.5.tgz", - "integrity": "sha512-L9GKPo119VpTt7K4DA99T9D+lpZTQNfUdKTLSgHCtoJa81bHu/bOneSlDA23dfT2ET3GNVNICWzNwOn2sXEA1Q==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.2.5.tgz", + "integrity": "sha512-hAYy39Dhss7ObSt21YJ30HKCod7lsO/mOQCHIaVHv9uNNAr02dFQHVA/Zd75wikcbpYybYxOM2Ou0zznvr8Jzg==", "requires": { + "@mongodb-js/devtools-proxy-support": "^0.3.5", "@mongodb-js/oidc-http-server-pages": "1.1.2", "kerberos": "^2.1.0", "lodash.merge": "^4.6.2", @@ -59419,8 +59423,7 @@ "mongodb-connection-string-url": "^3.0.0", "os-dns-native": "^1.2.0", "resolve-mongodb-srv": "^1.1.1", - "socks": "^2.7.3", - "system-ca": "^2.0.0" + "socks": "^2.7.3" } }, "@mongodb-js/devtools-docker-test-envs": { @@ -60080,9 +60083,9 @@ } }, "@mongodb-js/oidc-plugin": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", - "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", + "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", "requires": { "express": "^4.18.2", "open": "^9.1.0", @@ -80812,11 +80815,11 @@ "@mongodb-js/compass-logging": "^1.4.3", "@mongodb-js/compass-test-server": "^0.1.19", "@mongodb-js/compass-utils": "^0.6.9", - "@mongodb-js/devtools-connect": "^3.0.1", + "@mongodb-js/devtools-connect": "^3.2.5", "@mongodb-js/devtools-docker-test-envs": "^1.3.2", "@mongodb-js/eslint-config-compass": "^1.1.4", "@mongodb-js/mocha-config-compass": "^1.3.10", - "@mongodb-js/oidc-plugin": "^1.0.0", + "@mongodb-js/oidc-plugin": "^1.1.1", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/ssh-tunnel": "^2.3.3", "@mongodb-js/tsconfig-compass": "^1.0.4", diff --git a/packages/atlas-service/package.json b/packages/atlas-service/package.json index 37092b712b7..0b19e1b0556 100644 --- a/packages/atlas-service/package.json +++ b/packages/atlas-service/package.json @@ -78,8 +78,9 @@ "@mongodb-js/compass-telemetry": "^1.1.3", "@mongodb-js/compass-user-data": "^0.3.3", "@mongodb-js/compass-utils": "^0.6.9", - "@mongodb-js/devtools-connect": "^3.0.1", - "@mongodb-js/oidc-plugin": "^1.0.0", + "@mongodb-js/devtools-connect": "^3.2.5", + "@mongodb-js/devtools-proxy-support": "^0.3.5", + "@mongodb-js/oidc-plugin": "^1.1.1", "hadron-app-registry": "^9.2.2", "compass-preferences-model": "^2.26.0", "electron": "^29.4.5", diff --git a/packages/connection-form/src/components/advanced-options-tabs/authentication-tab/authentication-oidc.spec.tsx b/packages/connection-form/src/components/advanced-options-tabs/authentication-tab/authentication-oidc.spec.tsx index 5117c361731..99cae4de99f 100644 --- a/packages/connection-form/src/components/advanced-options-tabs/authentication-tab/authentication-oidc.spec.tsx +++ b/packages/connection-form/src/components/advanced-options-tabs/authentication-tab/authentication-oidc.spec.tsx @@ -118,6 +118,27 @@ describe('Authentication OIDC Connection Form', function () { }); }); + it('handles the Use ID token instead of Access Token checkbox', async function () { + fireEvent.click(screen.getByText('Use ID token instead of Access Token')); + await expectToConnectWith({ + connectionString: + 'mongodb://localhost:27017/?authMechanism=MONGODB-OIDC&authSource=%24external', + oidc: { + passIdTokenAsAccessToken: true, + }, + }); + }); + + it('handles the Use ID token instead of Access Token checkbox on and off', async function () { + fireEvent.click(screen.getByText('Use ID token instead of Access Token')); + fireEvent.click(screen.getByText('Use ID token instead of Access Token')); + await expectToConnectWith({ + connectionString: + 'mongodb://localhost:27017/?authMechanism=MONGODB-OIDC&authSource=%24external', + oidc: {}, + }); + }); + it('handles the Consider Target Endpoint Trusted checkbox', async function () { fireEvent.click(screen.getByText('Consider Target Endpoint Trusted')); await expectToConnectWith({ diff --git a/packages/connection-form/src/components/advanced-options-tabs/authentication-tab/authentication-oidc.tsx b/packages/connection-form/src/components/advanced-options-tabs/authentication-tab/authentication-oidc.tsx index 9ac91596774..48dd18cc8a8 100644 --- a/packages/connection-form/src/components/advanced-options-tabs/authentication-tab/authentication-oidc.tsx +++ b/packages/connection-form/src/components/advanced-options-tabs/authentication-tab/authentication-oidc.tsx @@ -121,6 +121,38 @@ function AuthenticationOIDC({ /> + + ) => { + if (checked) { + return handleFieldChanged('passIdTokenAsAccessToken', true); + } + + return handleFieldChanged( + 'passIdTokenAsAccessToken', + undefined + ); + }} + data-testid="oidc-pass-id-token-as-access-token" + id="oidc-pass-id-token-as-access-token" + label={ + <> + + + Use ID tokens instead of access tokens to work around + misconfigured or broken identity providers. This will only + work if the server is configured correspondingly. + + + } + checked={!!connectionOptions.oidc?.passIdTokenAsAccessToken} + /> + + {showOIDCDeviceAuthFlow && ( Date: Fri, 16 Aug 2024 15:56:33 +0200 Subject: [PATCH 2/3] fixup: regen package-lock.json --- package-lock.json | 272 ++++++++++++++++++---------------------------- 1 file changed, 108 insertions(+), 164 deletions(-) diff --git a/package-lock.json b/package-lock.json index be09746aa43..ca44930fce3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8428,6 +8428,50 @@ "node": ">=12" } }, + "node_modules/@mongodb-js/oidc-plugin": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", + "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", + "license": "Apache-2.0", + "dependencies": { + "express": "^4.18.2", + "open": "^9.1.0", + "openid-client": "^5.6.4" + }, + "engines": { + "node": ">= 16.20.1" + } + }, + "node_modules/@mongodb-js/oidc-plugin/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@mongodb-js/oidc-plugin/node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "license": "MIT", + "dependencies": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@mongodb-js/prettier-config-compass": { "resolved": "configs/prettier-config-compass", "link": true @@ -17187,9 +17231,10 @@ "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" }, "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "license": "Unlicense", "engines": { "node": ">=0.6" } @@ -17367,6 +17412,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "license": "MIT", "dependencies": { "big-integer": "^1.6.44" }, @@ -17646,6 +17692,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "license": "MIT", "dependencies": { "run-applescript": "^5.0.0" }, @@ -20043,6 +20090,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "license": "MIT", "dependencies": { "bundle-name": "^3.0.0", "default-browser-id": "^3.0.0", @@ -20060,6 +20108,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "license": "MIT", "dependencies": { "bplist-parser": "^0.2.0", "untildify": "^4.0.0" @@ -20072,9 +20121,10 @@ } }, "node_modules/default-browser/node_modules/execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.1", @@ -20097,6 +20147,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "license": "Apache-2.0", "engines": { "node": ">=14.18.0" } @@ -20105,6 +20156,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -20116,6 +20168,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -20124,9 +20177,10 @@ } }, "node_modules/default-browser/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -20141,6 +20195,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -20155,6 +20210,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -20166,6 +20222,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -27514,6 +27571,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", "dependencies": { "is-docker": "^3.0.0" }, @@ -27531,6 +27589,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -39098,6 +39157,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "license": "MIT", "dependencies": { "execa": "^5.0.0" }, @@ -41557,6 +41617,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -42462,6 +42523,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -44311,32 +44373,6 @@ "typescript": "^5.0.4" } }, - "packages/atlas-service/node_modules/@mongodb-js/oidc-plugin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", - "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", - "license": "Apache-2.0", - "dependencies": { - "express": "^4.18.2", - "open": "^9.1.0", - "openid-client": "^5.6.4" - }, - "engines": { - "node": ">= 16.20.1" - } - }, - "packages/atlas-service/node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "packages/atlas-service/node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -44365,24 +44401,6 @@ } } }, - "packages/atlas-service/node_modules/open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", - "license": "MIT", - "dependencies": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "packages/atlas-service/node_modules/sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -48335,53 +48353,6 @@ "mongodb-client-encryption": "6.0.0" } }, - "packages/data-service/node_modules/@mongodb-js/oidc-plugin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", - "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "express": "^4.18.2", - "open": "^9.1.0", - "openid-client": "^5.6.4" - }, - "engines": { - "node": ">= 16.20.1" - } - }, - "packages/data-service/node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/data-service/node_modules/open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "packages/data-service/node_modules/sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -56242,21 +56213,6 @@ "typescript": "^5.0.4" }, "dependencies": { - "@mongodb-js/oidc-plugin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", - "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", - "requires": { - "express": "^4.18.2", - "open": "^9.1.0", - "openid-client": "^5.6.4" - } - }, - "define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==" - }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -56271,17 +56227,6 @@ "whatwg-url": "^5.0.0" } }, - "open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", - "requires": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - } - }, "sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -60145,6 +60090,34 @@ } } }, + "@mongodb-js/oidc-plugin": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", + "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", + "requires": { + "express": "^4.18.2", + "open": "^9.1.0", + "openid-client": "^5.6.4" + }, + "dependencies": { + "define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==" + }, + "open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "requires": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + } + } + } + }, "@mongodb-js/prettier-config-compass": { "version": "file:configs/prettier-config-compass", "requires": { @@ -67579,9 +67552,9 @@ "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" }, "big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==" + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==" }, "big.js": { "version": "5.2.2", @@ -70113,9 +70086,9 @@ }, "dependencies": { "execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "requires": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.1", @@ -70144,9 +70117,9 @@ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" }, "npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "requires": { "path-key": "^4.0.0" } @@ -80875,35 +80848,6 @@ "typescript": "^5.0.4" }, "dependencies": { - "@mongodb-js/oidc-plugin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", - "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", - "dev": true, - "requires": { - "express": "^4.18.2", - "open": "^9.1.0", - "openid-client": "^5.6.4" - } - }, - "define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true - }, - "open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", - "dev": true, - "requires": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - } - }, "sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", From 8bf5b801ee0067abcc1cc2ad60cff304cbfdf826 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Fri, 16 Aug 2024 16:35:12 +0200 Subject: [PATCH 3/3] fixup: fix test event listener count assertion --- packages/atlas-service/src/main.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/atlas-service/src/main.spec.ts b/packages/atlas-service/src/main.spec.ts index 8fa186d89d2..0a122d2f9f5 100644 --- a/packages/atlas-service/src/main.spec.ts +++ b/packages/atlas-service/src/main.spec.ts @@ -348,7 +348,7 @@ describe('CompassAuthServiceMain', function () { } as any; await CompassAuthService.init(preferences); CompassAuthService['config'] = defaultConfig; - expect(getListenerCount(logger)).to.eq(27); + expect(getListenerCount(logger)).to.eq(30); // We did all preparations, reset sinon history for easier assertions sandbox.resetHistory();