diff --git a/packages/compass-e2e-tests/tests/search-indexes.test.ts b/packages/compass-e2e-tests/tests/search-indexes.test.ts index 8a35bcd535b..dbe41df9ada 100644 --- a/packages/compass-e2e-tests/tests/search-indexes.test.ts +++ b/packages/compass-e2e-tests/tests/search-indexes.test.ts @@ -234,7 +234,10 @@ describe('Search Indexes', function () { await browser.dropIndex(indexName); }); - it('renders search indexes tab disabled', async function () { + // TODO(COMPASS-8220): Un-skip this test + (name === 'Atlas Free Cluster' + ? it.skip + : it)('renders search indexes tab disabled', async function () { const searchTab = await browser.$( Selectors.indexesSegmentedTab('search-indexes') ); diff --git a/packages/connection-storage/src/compass-main-connection-storage.spec.ts b/packages/connection-storage/src/compass-main-connection-storage.spec.ts index c7ed59e02e9..ddd518c16cd 100644 --- a/packages/connection-storage/src/compass-main-connection-storage.spec.ts +++ b/packages/connection-storage/src/compass-main-connection-storage.spec.ts @@ -786,6 +786,36 @@ describe('ConnectionStorage', function () { expect(JSON.parse(content).connectionInfo.id).to.be.equal(id); }); + it('saves a connection with all ConnectionOptions set', async function () { + const id = new UUID().toString(); + const connectionOptions: Required = { + connectionString: 'mongodb://localhost:27017/', + sshTunnel: { host: 'localhost', port: 2222, username: 'foobar' }, + useApplicationLevelProxy: true, + oidc: {}, + fleOptions: { storeCredentials: false }, + lookup: () => ({} as any), + }; + await connectionStorage.save({ + connectionInfo: { + id, + connectionOptions, + }, + }); + delete (connectionOptions as any).lookup; // intentionally not stored + + const content = await fs.readFile( + getConnectionFilePath(tmpDir, id), + 'utf-8' + ); + expect( + JSON.parse(content).connectionInfo.connectionOptions + ).to.deep.equal(connectionOptions); + expect( + (await connectionStorage.load({ id }))?.connectionOptions + ).to.deep.equal(connectionOptions); + }); + it('saves a connection with arbitrary authMechanism', async function () { const id = new UUID().toString(); await connectionStorage.save({ diff --git a/packages/connection-storage/src/compass-main-connection-storage.ts b/packages/connection-storage/src/compass-main-connection-storage.ts index 3a6233f4a75..ea88376b7e8 100644 --- a/packages/connection-storage/src/compass-main-connection-storage.ts +++ b/packages/connection-storage/src/compass-main-connection-storage.ts @@ -77,6 +77,7 @@ const ConnectionSchema: z.Schema = z useSystemCA: z.boolean().optional(), // Unused but may be present in legacy files oidc: z.any().optional(), fleOptions: z.any().optional(), + useApplicationLevelProxy: z.boolean().optional(), }), }) .optional(),