Skip to content

Commit

Permalink
Fix unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Kartik Raj committed Oct 3, 2023
1 parent 6fbae88 commit b274029
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 16 deletions.
8 changes: 0 additions & 8 deletions src/client/interpreter/activation/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,3 @@ export interface IEnvironmentActivationService {
interpreter?: PythonEnvironment,
): Promise<string[] | undefined>;
}

export const ITerminalEnvVarCollectionService = Symbol('ITerminalEnvVarCollectionService');
export interface ITerminalEnvVarCollectionService {
/**
* Returns true if we know with high certainity the terminal prompt is set correctly for a particular resource.
*/
isTerminalPromptSetCorrectly(resource?: Resource): boolean;
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ import {
} from '../../common/types';
import { Common, Interpreters } from '../../common/utils/localize';
import { IExtensionSingleActivationService } from '../../activation/types';
import { ITerminalEnvVarCollectionService } from '../../interpreter/activation/types';
import { inTerminalEnvVarExperiment } from '../../common/experiments/helpers';
import { IInterpreterService } from '../../interpreter/contracts';
import { PythonEnvironment } from '../../pythonEnvironments/info';
import { ITerminalEnvVarCollectionService } from '../types';

export const terminalEnvCollectionPromptKey = 'TERMINAL_ENV_COLLECTION_PROMPT_KEY';

Expand Down
3 changes: 2 additions & 1 deletion src/client/terminals/envCollectionActivation/service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,15 @@ import { Interpreters } from '../../common/utils/localize';
import { traceDecoratorVerbose, traceError, traceVerbose, traceWarn } from '../../logging';
import { IInterpreterService } from '../../interpreter/contracts';
import { defaultShells } from '../../interpreter/activation/service';
import { IEnvironmentActivationService, ITerminalEnvVarCollectionService } from '../../interpreter/activation/types';
import { IEnvironmentActivationService } from '../../interpreter/activation/types';
import { EnvironmentType, PythonEnvironment } from '../../pythonEnvironments/info';
import { getSearchPathEnvVarNames } from '../../common/utils/exec';
import { EnvironmentVariables } from '../../common/variables/types';
import { TerminalShellType } from '../../common/terminal/types';
import { OSType } from '../../common/utils/platform';
import { normCase } from '../../common/platform/fs-paths';
import { PythonEnvType } from '../../pythonEnvironments/base/info';
import { ITerminalEnvVarCollectionService } from '../types';

@injectable()
export class TerminalEnvVarCollectionService implements IExtensionActivationService, ITerminalEnvVarCollectionService {
Expand Down
15 changes: 10 additions & 5 deletions src/client/terminals/serviceRegistry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,17 @@ import { DjangoShellCodeExecutionProvider } from './codeExecution/djangoShellCod
import { CodeExecutionHelper } from './codeExecution/helper';
import { ReplProvider } from './codeExecution/repl';
import { TerminalCodeExecutionProvider } from './codeExecution/terminalCodeExecution';
import { ICodeExecutionHelper, ICodeExecutionManager, ICodeExecutionService, ITerminalAutoActivation } from './types';
import { IExtensionActivationService, IExtensionSingleActivationService } from '../activation/types';
import { ITerminalEnvVarCollectionService } from '../interpreter/activation/types';
import { TerminalIndicatorPrompt } from './envCollectionActivation/indicatorPrompt';
import {
ICodeExecutionHelper,
ICodeExecutionManager,
ICodeExecutionService,
ITerminalAutoActivation,
ITerminalEnvVarCollectionService,
} from './types';
import { TerminalEnvVarCollectionService } from './envCollectionActivation/service';
import { IExtensionActivationService, IExtensionSingleActivationService } from '../activation/types';
import { TerminalDeactivateLimitationPrompt } from './envCollectionActivation/deactivatePrompt';
import { TerminalIndicatorPrompt } from './envCollectionActivation/indicatorPrompt';

export function registerTypes(serviceManager: IServiceManager): void {
serviceManager.addSingleton<ICodeExecutionHelper>(ICodeExecutionHelper, CodeExecutionHelper);
Expand All @@ -37,7 +42,6 @@ export function registerTypes(serviceManager: IServiceManager): void {
ITerminalEnvVarCollectionService,
TerminalEnvVarCollectionService,
);
serviceManager.addBinding(ITerminalEnvVarCollectionService, IExtensionActivationService);
serviceManager.addSingleton<IExtensionSingleActivationService>(
IExtensionSingleActivationService,
TerminalIndicatorPrompt,
Expand All @@ -46,4 +50,5 @@ export function registerTypes(serviceManager: IServiceManager): void {
IExtensionSingleActivationService,
TerminalDeactivateLimitationPrompt,
);
serviceManager.addBinding(ITerminalEnvVarCollectionService, IExtensionActivationService);
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ import {
IPythonSettings,
} from '../../../client/common/types';
import { TerminalIndicatorPrompt } from '../../../client/terminals/envCollectionActivation/indicatorPrompt';
import { ITerminalEnvVarCollectionService } from '../../../client/interpreter/activation/types';
import { Common, Interpreters } from '../../../client/common/utils/localize';
import { TerminalEnvVarActivation } from '../../../client/common/experiments/groups';
import { sleep } from '../../core';
import { IInterpreterService } from '../../../client/interpreter/contracts';
import { PythonEnvironment } from '../../../client/pythonEnvironments/info';
import { ITerminalEnvVarCollectionService } from '../../../client/terminals/types';

suite('Terminal Environment Variable Collection Prompt', () => {
let shell: IApplicationShell;
Expand Down
16 changes: 16 additions & 0 deletions src/test/terminals/serviceRegistry.unit.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,24 @@
// Licensed under the MIT License.

import * as typemoq from 'typemoq';
import { IExtensionActivationService, IExtensionSingleActivationService } from '../../client/activation/types';
import { IServiceManager } from '../../client/ioc/types';
import { TerminalAutoActivation } from '../../client/terminals/activation';
import { CodeExecutionManager } from '../../client/terminals/codeExecution/codeExecutionManager';
import { DjangoShellCodeExecutionProvider } from '../../client/terminals/codeExecution/djangoShellCodeExecution';
import { CodeExecutionHelper } from '../../client/terminals/codeExecution/helper';
import { ReplProvider } from '../../client/terminals/codeExecution/repl';
import { TerminalCodeExecutionProvider } from '../../client/terminals/codeExecution/terminalCodeExecution';
import { TerminalDeactivateLimitationPrompt } from '../../client/terminals/envCollectionActivation/deactivatePrompt';
import { TerminalIndicatorPrompt } from '../../client/terminals/envCollectionActivation/indicatorPrompt';
import { TerminalEnvVarCollectionService } from '../../client/terminals/envCollectionActivation/service';
import { registerTypes } from '../../client/terminals/serviceRegistry';
import {
ICodeExecutionHelper,
ICodeExecutionManager,
ICodeExecutionService,
ITerminalAutoActivation,
ITerminalEnvVarCollectionService,
} from '../../client/terminals/types';

suite('Terminal - Service Registry', () => {
Expand All @@ -27,6 +32,9 @@ suite('Terminal - Service Registry', () => {
[ICodeExecutionService, ReplProvider, 'repl'],
[ITerminalAutoActivation, TerminalAutoActivation],
[ICodeExecutionService, TerminalCodeExecutionProvider, 'standard'],
[ITerminalEnvVarCollectionService, TerminalEnvVarCollectionService],
[IExtensionSingleActivationService, TerminalIndicatorPrompt],
[IExtensionSingleActivationService, TerminalDeactivateLimitationPrompt],
].forEach((args) => {
if (args.length === 2) {
services
Expand All @@ -50,6 +58,14 @@ suite('Terminal - Service Registry', () => {
.verifiable(typemoq.Times.once());
}
});
services
.setup((s) =>
s.addBinding(
typemoq.It.is((v) => ITerminalEnvVarCollectionService === v),
typemoq.It.is((value) => IExtensionActivationService === value),
),
)
.verifiable(typemoq.Times.once());

registerTypes(services.object);

Expand Down

0 comments on commit b274029

Please sign in to comment.