We are looking at requiring the Kubernetes extension as a dependency for one of our extensions, so we are guaranteed that the kubectl CLI is installed ahead of time. That said, it doesn't seem to be enough to "activate" an extension in a test (though it seems to work at runtime) to bring the dependency into play.
If I have a test like this:
let extension = vscode.extensions.getExtension(extensionId);
if (extension !== null && extension !== undefined) {
extension.activate().then(() => {
assert.ok(true);
done();
});
}
And it returns this:
rejected promise not handled within 1 second: Error: Unknown dependency 'ms-kubernetes-tools.vscode-kubernetes-tools'
stack trace: Error: Unknown dependency 'ms-kubernetes-tools.vscode-kubernetes-tools'
at p._handleActivateRequest (/home/travis/build/camel-tooling/vscode-camelk/.vscode-test/vscode-1.37.1/VSCode-linux-x64/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:496:149)
at p._activateExtensions (/home/travis/build/camel-tooling/vscode-camelk/.vscode-test/vscode-1.37.1/VSCode-linux-x64/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:496:607)
at p.activateByEvent (/home/travis/build/camel-tooling/vscode-camelk/.vscode-test/vscode-1.37.1/VSCode-linux-x64/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:494:635)
at I._activateByEvent (/home/travis/build/camel-tooling/vscode-camelk/.vscode-test/vscode-1.37.1/VSCode-linux-x64/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:760:680)
at I._handleEagerExtensions (/home/travis/build/camel-tooling/vscode-camelk/.vscode-test/vscode-1.37.1/VSCode-linux-x64/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:764:710)
at define._startExtensionHost._readyToStartExtensionHost.wait.then.then (/home/travis/build/camel-tooling/vscode-camelk/.vscode-test/vscode-1.37.1/VSCode-linux-x64/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:768:386)
Is there a way to test that the dependent extension is pulled in correctly? Can we trigger an installation of the dependent extension prior to testing activate? Can we mock this somehow?
Thanks.
Aucun commentaire:
Enregistrer un commentaire