Skip to content

Commit

Permalink
Drop envType from tests
Browse files Browse the repository at this point in the history
  • Loading branch information
DonJayamanne committed Feb 27, 2024
1 parent f768886 commit 7096d13
Show file tree
Hide file tree
Showing 21 changed files with 320 additions and 137 deletions.
1 change: 0 additions & 1 deletion src/api.unstable.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ declare module './api' {
displayName?: string;
uri: Uri;
version?: PythonVersion;
envType?: EnvironmentType;
envName?: string;
envPath?: Uri;
};
Expand Down
29 changes: 28 additions & 1 deletion src/kernels/errors/kernelErrorHandler.unit.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -705,12 +705,25 @@ Failed to run jupyter as observable with args notebook --no-browser --notebook-d
when(dependencyManager.installMissingDependencies(anything())).thenResolve(
JupyterInterpreterDependencyResponse.cancel
);
when(environments.known).thenReturn([
{
id: kernelConnection.interpreter!.id,
version: {
major: 3,
minor: 12,
micro: 7,
release: undefined,
sysVersion: '3.12.7'
},
tools: [EnvironmentType.Conda]
} as any
]);

const result = await dataScienceErrorHandler.getErrorMessageForDisplayInCell(
new KernelDiedError('Kaboom', 'hello word does not have attribute named abc', undefined, {
...kernelConnection,
interpreter: {
...kernelConnection.interpreter!,
envType: EnvironmentType.Conda,
envName: 'condaEnv1'
}
}),
Expand All @@ -733,6 +746,20 @@ Failed to run jupyter as observable with args notebook --no-browser --notebook-d
when(dependencyManager.installMissingDependencies(anything())).thenResolve(
JupyterInterpreterDependencyResponse.cancel
);
when(environments.known).thenReturn([
{
id: kernelConnection.interpreter!.id,
version: {
major: 3,
minor: 12,
micro: 7,
release: undefined,
sysVersion: '3.12.7'
},
tools: [EnvironmentType.Venv]
} as any
]);

const result = await dataScienceErrorHandler.getErrorMessageForDisplayInCell(
new KernelDiedError(
'Kaboom',
Expand Down
8 changes: 3 additions & 5 deletions src/kernels/execution/helpers.unit.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { assert } from 'chai';
import { Uri } from 'vscode';
import { cellOutputToVSCCellOutput, getNotebookCellOutputMetadata, updateNotebookMetadata } from './helpers';
import { IJupyterKernelSpec, PythonKernelConnectionMetadata } from '../types';
import { EnvironmentType, PythonEnvironment } from '../../platform/pythonEnvironments/info';
import { PythonEnvironment } from '../../platform/pythonEnvironments/info';
import { PythonExtension } from '@vscode/python-extension';
import { instance, mock, when } from 'ts-mockito';
import { resolvableInstance } from '../../test/datascience/helpers';
Expand All @@ -20,8 +20,7 @@ suite(`UpdateNotebookMetadata`, () => {
const python36Global: PythonEnvironment = {
uri: Uri.file('/usr/bin/python36'),
id: Uri.file('/usr/bin/python36').fsPath,
displayName: 'Python 3.6',
envType: EnvironmentType.Unknown
displayName: 'Python 3.6'
};
const pythonDefaultKernelSpec: IJupyterKernelSpec = {
argv: ['python', '-f', '{connection_file}'],
Expand All @@ -32,8 +31,7 @@ suite(`UpdateNotebookMetadata`, () => {
const python37Global: PythonEnvironment = {
uri: Uri.file('/usr/bin/python37'),
id: Uri.file('/usr/bin/python37').fsPath,
displayName: 'Python 3.7',
envType: EnvironmentType.Unknown
displayName: 'Python 3.7'
};
let environments: PythonExtension['environments'];
let disposables: { dispose: () => void }[] = [];
Expand Down
84 changes: 46 additions & 38 deletions src/kernels/helpers.unit.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,7 @@ suite('Kernel Connection Helpers', () => {
},
interpreter: {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envType: EnvironmentType.Unknown
id: Uri.file('pyPath').fsPath
}
})
);
Expand All @@ -135,8 +134,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '',
displayName: 'Something',
envType: EnvironmentType.Pipenv
displayName: 'Something'
}
})
);
Expand All @@ -156,14 +154,26 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '',
displayName: 'Something 64-bit',
envType: EnvironmentType.Pipenv
displayName: 'Something 64-bit'
}
})
);
assert.strictEqual(name, 'kspecname');
});
test('Prefixed with `<env name>` kernel is inside a non-global Python environment', () => {
when(environments.known).thenReturn([
{
id: Uri.file('pyPath').fsPath,
version: {
major: 9,
minor: 8,
micro: 7,
release: undefined,
sysVersion: '9.8.7'
},
tools: [EnvironmentType.Conda]
} as any
]);
const name = getDisplayNameOrNameOfKernelConnection(
LocalKernelSpecConnectionMetadata.create({
id: '',
Expand All @@ -177,14 +187,26 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '.env',
displayName: 'Something',
envType: EnvironmentType.Conda
displayName: 'Something'
}
})
);
assert.strictEqual(name, 'kspecname (.env)');
});
test('Prefixed with `<env name>` kernel is inside a non-global 64-bit Python environment', () => {
when(environments.known).thenReturn([
{
id: Uri.file('pyPath').fsPath,
version: {
major: 9,
minor: 8,
micro: 7,
release: undefined,
sysVersion: '9.8.7'
},
tools: [EnvironmentType.Conda]
} as any
]);
const name = getDisplayNameOrNameOfKernelConnection(
LocalKernelSpecConnectionMetadata.create({
id: '',
Expand All @@ -198,8 +220,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '.env',
displayName: 'Something 64-bit',
envType: EnvironmentType.Conda
displayName: 'Something 64-bit'
}
})
);
Expand Down Expand Up @@ -259,8 +280,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '.env',
displayName: 'Something 64-bit',
envType: EnvironmentType.Unknown
displayName: 'Something 64-bit'
}
})
);
Expand All @@ -281,8 +301,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '',
displayName: 'Something',
envType: EnvironmentType.Pipenv
displayName: 'Something'
}
})
);
Expand All @@ -303,8 +322,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '',
displayName: 'Something 64-bit',
envType: EnvironmentType.Pipenv
displayName: 'Something 64-bit'
}
})
);
Expand All @@ -325,8 +343,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '',
displayName: 'Something 64-bit',
envType: EnvironmentType.Conda
displayName: 'Something 64-bit'
}
})
);
Expand All @@ -343,7 +360,7 @@ suite('Kernel Connection Helpers', () => {
release: undefined,
sysVersion: '9.8.7.6-pre'
},
tools: []
tools: [EnvironmentType.Conda]
} as any
]);
const name = getDisplayNameOrNameOfKernelConnection(
Expand All @@ -360,8 +377,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '.env',
displayName: 'Something 64-bit',
envType: EnvironmentType.Conda
displayName: 'Something 64-bit'
}
})
);
Expand All @@ -378,7 +394,7 @@ suite('Kernel Connection Helpers', () => {
release: undefined,
sysVersion: '9.8.7'
},
tools: []
tools: [EnvironmentType.Conda]
} as any
]);
const name = getDisplayNameOrNameOfKernelConnection(
Expand All @@ -395,8 +411,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '.env',
displayName: 'Something 64-bit',
envType: EnvironmentType.Conda
displayName: 'Something 64-bit'
}
})
);
Expand Down Expand Up @@ -440,8 +455,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '',
displayName: 'Something 64-bit',
envType: EnvironmentType.Unknown
displayName: 'Something 64-bit'
}
})
);
Expand All @@ -458,7 +472,7 @@ suite('Kernel Connection Helpers', () => {
release: undefined,
sysVersion: '1.2.3'
},
tools: []
tools: [EnvironmentType.Unknown]
} as any
]);
const name = getDisplayNameOrNameOfKernelConnection(
Expand All @@ -475,8 +489,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '',
displayName: 'Something 64-bit',
envType: EnvironmentType.Unknown
displayName: 'Something 64-bit'
}
})
);
Expand All @@ -497,8 +510,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '',
displayName: 'Something',
envType: EnvironmentType.Pipenv
displayName: 'Something'
}
})
);
Expand All @@ -519,8 +531,7 @@ suite('Kernel Connection Helpers', () => {
uri: Uri.file('pyPath'),
id: Uri.file('pyPath').fsPath,
envName: '',
displayName: 'Something 64-bit',
envType: EnvironmentType.Pipenv
displayName: 'Something 64-bit'
}
})
);
Expand All @@ -533,7 +544,6 @@ suite('Kernel Connection Helpers', () => {
when(interpreter.id).thenReturn('xyz');
when(interpreter.envName).thenReturn('');
when(interpreter.displayName).thenReturn('Something 64-bit');
when(interpreter.envType).thenReturn(EnvironmentType.Pipenv);
when(environments.known).thenReturn([
{
id: instance(interpreter).id,
Expand Down Expand Up @@ -564,7 +574,6 @@ suite('Kernel Connection Helpers', () => {
when(interpreter.id).thenReturn('xyz');
when(interpreter.envName).thenReturn('.env');
when(interpreter.displayName).thenReturn('Something');
when(interpreter.envType).thenReturn(EnvironmentType.Conda);
when(environments.known).thenReturn([
{
id: instance(interpreter).id,
Expand All @@ -575,7 +584,7 @@ suite('Kernel Connection Helpers', () => {
release: undefined,
sysVersion: '9.8.7.6-pre'
},
tools: []
tools: [EnvironmentType.Venv]
} as any
]);

Expand All @@ -595,7 +604,6 @@ suite('Kernel Connection Helpers', () => {
when(interpreter.id).thenReturn('xyz');
when(interpreter.envName).thenReturn('.env');
when(interpreter.displayName).thenReturn('Something 64-bit');
when(interpreter.envType).thenReturn(EnvironmentType.Conda);
when(environments.known).thenReturn([
{
id: instance(interpreter).id,
Expand All @@ -606,7 +614,7 @@ suite('Kernel Connection Helpers', () => {
release: undefined,
sysVersion: '9.8.7.6-pre'
},
tools: []
tools: [EnvironmentType.Venv]
} as any
]);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

import * as sinon from 'sinon';
import { assert } from 'chai';
import { anything, deepEqual, instance, mock, verify, when } from 'ts-mockito';
import { DataScience } from '../../../platform/common/utils/localize';
Expand All @@ -14,6 +15,9 @@ import { IJupyterCommand, IJupyterCommandFactory } from '../types.node';
import { Disposable, Uri } from 'vscode';
import { mockedVSCodeNamespaces, resetVSCodeMocks } from '../../../test/vscode-mock';
import { dispose } from '../../../platform/common/utils/lifecycle';
import { PythonExtension } from '@vscode/python-extension';
import { resolvableInstance } from '../../../test/datascience/helpers';
import { setPythonApi } from '../../../platform/interpreter/helpers';

/* eslint-disable , @typescript-eslint/no-explicit-any */

Expand All @@ -27,6 +31,8 @@ suite('Jupyter Interpreter Configuration', () => {
id: Uri.file('').fsPath
};
let disposables: Disposable[] = [];
let environments: PythonExtension['environments'];

setup(() => {
resetVSCodeMocks();
disposables.push(new Disposable(() => resetVSCodeMocks()));
Expand All @@ -42,6 +48,15 @@ suite('Jupyter Interpreter Configuration', () => {
when(command.exec(anything(), anything())).thenResolve({ stdout: '' });

configuration = new JupyterInterpreterDependencyService(instance(installer), instance(commandFactory));

const mockedApi = mock<PythonExtension>();
sinon.stub(PythonExtension, 'api').resolves(resolvableInstance(mockedApi));
disposables.push({ dispose: () => sinon.restore() });
environments = mock<PythonExtension['environments']>();
when(mockedApi.environments).thenReturn(instance(environments));
when(environments.known).thenReturn([]);
setPythonApi(instance(mockedApi));
disposables.push({ dispose: () => setPythonApi(undefined as any) });
});
teardown(() => (disposables = dispose(disposables)));
test('Return ok if all dependencies are installed', async () => {
Expand Down
Loading

0 comments on commit 7096d13

Please sign in to comment.