提交 9456d2b1 编写于 作者: S Sandeep Somavarapu

enable reload action test

上级 f030ce94
......@@ -1465,41 +1465,40 @@ suite('ExtensionsActions Test', () => {
assert.equal(testObject.tooltip, 'Please reload Visual Studio Code to enable this extension.');
});
// test('Test ReloadAction when ui extension is disabled on remote server and installed in local server', async () => {
// // multi server setup
// const gallery = aGalleryExtension('a');
// const localExtensionManagementService = createExtensionManagementService([]);
// const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
// localExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
// const remoteExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
// const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, localExtensionManagementService, createExtensionManagementService([remoteExtension]));
// instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
// instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
// const workbenchService: IExtensionsWorkbenchService = instantiationService.createInstance(ExtensionsWorkbenchService);
// instantiationService.set(IExtensionsWorkbenchService, workbenchService);
// const onDidChangeExtensionsEmitter: Emitter<void> = new Emitter<void>();
// instantiationService.stub(IExtensionService, <Partial<IExtensionService>>{
// getExtensions: () => Promise.resolve([]),
// onDidChangeExtensions: onDidChangeExtensionsEmitter.event,
// canAddExtension: (extension) => false
// });
// const testObject: ExtensionsActions.ReloadAction = instantiationService.createInstance(ExtensionsActions.ReloadAction);
// instantiationService.createInstance(ExtensionContainers, [testObject]);
// instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage(gallery));
// await workbenchService.queryGallery(CancellationToken.None);
// const extensions = await workbenchService.queryLocal(extensionManagementServerService.remoteExtensionManagementServer!);
// testObject.extension = extensions[0];
// assert.ok(testObject.extension);
// assert.ok(!testObject.enabled);
// const localExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file('pub.a') });
// onDidInstallEvent.fire({ identifier: localExtension.identifier, local: localExtension, operation: InstallOperation.Install });
// assert.ok(testObject.enabled);
// assert.equal(testObject.tooltip, 'Please reload Visual Studio Code to enable this extension.');
// });
test('Test ReloadAction is disabled when remote ui extension is installed in local server', async () => {
// multi server setup
const gallery = aGalleryExtension('a');
const localExtensionManagementService = createExtensionManagementService([]);
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
localExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
const remoteExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, localExtensionManagementService, createExtensionManagementService([remoteExtension]));
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
const workbenchService: IExtensionsWorkbenchService = instantiationService.createInstance(ExtensionsWorkbenchService);
instantiationService.set(IExtensionsWorkbenchService, workbenchService);
const onDidChangeExtensionsEmitter: Emitter<void> = new Emitter<void>();
instantiationService.stub(IExtensionService, <Partial<IExtensionService>>{
getExtensions: () => Promise.resolve([ExtensionsActions.toExtensionDescription(remoteExtension)]),
onDidChangeExtensions: onDidChangeExtensionsEmitter.event,
canAddExtension: (extension) => false
});
const testObject: ExtensionsActions.ReloadAction = instantiationService.createInstance(ExtensionsActions.ReloadAction);
instantiationService.createInstance(ExtensionContainers, [testObject]);
instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage(gallery));
await workbenchService.queryGallery(CancellationToken.None);
const extensions = await workbenchService.queryLocal(extensionManagementServerService.remoteExtensionManagementServer!);
testObject.extension = extensions[0];
assert.ok(testObject.extension);
assert.ok(!testObject.enabled);
const localExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file('pub.a') });
onDidInstallEvent.fire({ identifier: localExtension.identifier, local: localExtension, operation: InstallOperation.Install });
assert.ok(!testObject.enabled);
});
test('Test remote install action is enabled for local workspace extension', async () => {
// multi server setup
......@@ -1897,7 +1896,7 @@ suite('ExtensionsActions Test', () => {
assert.ok(!testObject.enabled);
});
test('Test local install action is disabled for remote ui extension', async () => {
test('Test local install action is disabled for disabled remote ui extension', async () => {
// multi server setup
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
......@@ -2014,7 +2013,7 @@ suite('ExtensionsActions Test', () => {
assert.ok(!testObject.enabled);
});
test('Test local install action is disabled for remoteUI extension', async () => {
test('Test local install action is disabled for remote UI extension if it uninstalled locally', async () => {
// multi server setup
const extensionManagementService = instantiationService.get(IExtensionManagementService);
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), extensionManagementService);
......@@ -2033,9 +2032,12 @@ suite('ExtensionsActions Test', () => {
await workbenchService.queryGallery(CancellationToken.None);
testObject.extension = extensions[0];
assert.ok(!testObject.enabled);
uninstallEvent.fire(remoteUIExtension.identifier);
assert.ok(!testObject.enabled);
});
test('Test local install action is disabled for remote UI extension', async () => {
test('Test local install action is disabled for remote UI extension if it has gallery', async () => {
// multi server setup
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册