(disposables: IDisposable[] | DisposableStore)
| 21 | import type { DeepPartial } from '../platform/common/utils/misc'; |
| 22 | |
| 23 | export function crateMockedPythonApi(disposables: IDisposable[] | DisposableStore) { |
| 24 | const disposableStore = new DisposableStore(); |
| 25 | const mockedApi = mock<PythonExtension>(); |
| 26 | sinon.stub(PythonExtension, 'api').resolves(resolvableInstance(mockedApi)); |
| 27 | disposableStore.add({ dispose: () => sinon.restore() }); |
| 28 | const environments = mock<PythonExtension['environments']>(); |
| 29 | when(mockedApi.environments).thenReturn(instance(environments)); |
| 30 | when(environments.known).thenReturn([]); |
| 31 | setPythonApi(instance(mockedApi)); |
| 32 | disposableStore.add({ dispose: () => setPythonApi(undefined as any) }); |
| 33 | if (Array.isArray(disposables)) { |
| 34 | disposables.push(disposableStore); |
| 35 | } else { |
| 36 | disposables.add(disposableStore); |
| 37 | } |
| 38 | return { dispose: () => disposableStore.dispose(), environments }; |
| 39 | } |
| 40 | export function whenKnownEnvironments(environments: PythonExtension['environments']) { |
| 41 | return { |
| 42 | thenReturn: (items: DeepPartial<Environment>[]) => { |
no test coverage detected