diff --git a/packages/compass-e2e-tests/tests/connection.test.ts b/packages/compass-e2e-tests/tests/connection.test.ts index fccab62dc67..5043629c81e 100644 --- a/packages/compass-e2e-tests/tests/connection.test.ts +++ b/packages/compass-e2e-tests/tests/connection.test.ts @@ -429,6 +429,33 @@ describe('Connection screen', function () { expect(result).to.have.property('ok', 1); }); + it('can connect to an Atlas with tlsUseSystemCA', async function () { + if (!hasAtlasEnvironmentVariables()) { + return this.skip(); + } + + const username = process.env.E2E_TESTS_ATLAS_USERNAME ?? ''; + const password = process.env.E2E_TESTS_ATLAS_PASSWORD ?? ''; + const host = process.env.E2E_TESTS_ATLAS_HOST ?? ''; + + await browser.connectWithConnectionForm({ + scheme: 'MONGODB_SRV', + authMethod: 'DEFAULT', + defaultUsername: username, + defaultPassword: password, + hosts: [host], + sslConnection: 'ON', + useSystemCA: true, + }); + // NB: The fact that we can use the shell is a regression test for COMPASS-5802. + const result = await browser.shellEval( + 'db.runCommand({ connectionStatus: 1 })', + true + ); + await new Promise((resolve) => setTimeout(resolve, 10000)); + expect(result).to.have.property('ok', 1); + }); + it('can connect to Atlas Serverless', async function () { if (!hasAtlasEnvironmentVariables()) { return this.skip(); diff --git a/packages/compass/package.json b/packages/compass/package.json index e0785b7f95d..06718fdbcf4 100644 --- a/packages/compass/package.json +++ b/packages/compass/package.json @@ -110,6 +110,7 @@ "**/win-export-certificate-and-key/**", "**/macos-export-certificate-and-key/**", "**/system-ca/**", + "**/node-forge/**", "**/mongo_crypt_v1.*" ] },