diff --git a/src/test/api.test.ts b/src/test/api.test.ts new file mode 100644 index 000000000000..24eb78c11bf0 --- /dev/null +++ b/src/test/api.test.ts @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import { expect } from 'chai'; +import { IExtensionApi } from '../client/apiTypes'; +import { ProposedExtensionAPI } from '../client/proposedApiTypes'; +import { initialize } from './initialize'; + +suite('Python API tests', () => { + let api: IExtensionApi & ProposedExtensionAPI; + suiteSetup(async () => { + api = await initialize(); + }); + test('Active environment is defined', async () => { + const environmentPath = api.environments.getActiveEnvironmentPath(); + const environment = await api.environments.resolveEnvironment(environmentPath); + expect(environment).to.not.equal( + undefined, + `Active environment is not defined, envPath: ${JSON.stringify(environmentPath)}, env: ${JSON.stringify( + environment, + )}`, + ); + }); +}); diff --git a/src/test/common.ts b/src/test/common.ts index e58830b7f236..0a76c495830a 100644 --- a/src/test/common.ts +++ b/src/test/common.ts @@ -14,6 +14,7 @@ import type { IExtensionApi } from '../client/apiTypes'; import { IProcessService } from '../client/common/process/types'; import { IDisposable } from '../client/common/types'; import { IServiceContainer, IServiceManager } from '../client/ioc/types'; +import { ProposedExtensionAPI } from '../client/proposedApiTypes'; import { EXTENSION_ROOT_DIR_FOR_TESTS, IS_MULTI_ROOT_TEST, IS_PERF_TEST, IS_SMOKE_TEST } from './constants'; import { noop, sleep } from './core'; @@ -437,7 +438,7 @@ export async function isPythonVersion(...versions: string[]): Promise { } } -export interface IExtensionTestApi extends IExtensionApi { +export interface IExtensionTestApi extends IExtensionApi, ProposedExtensionAPI { serviceContainer: IServiceContainer; serviceManager: IServiceManager; }