diff --git a/test/initialization.test.ts b/test/initialization.test.ts index e28747b926..dc1babd18c 100644 --- a/test/initialization.test.ts +++ b/test/initialization.test.ts @@ -13,7 +13,8 @@ function ensureExtensionIsActive(): Promise { } function waitForExtensionToBeActive(resolve): void { - if (!vscode.extensions.getExtension('Microsoft.mssql').isActive) { + if (typeof(vscode.extensions.getExtension('Microsoft.mssql')) === 'undefined' || + !vscode.extensions.getExtension('Microsoft.mssql').isActive) { setTimeout(waitForExtensionToBeActive.bind(this, resolve), 50); } else { resolve(); @@ -26,10 +27,11 @@ suite('Initialization Tests', () => { Telemetry.disable(); }); - test('Connection manager is initialized properly', (done) => { - // Trigger extension activation - let uri = vscode.Uri.parse('untitled:test.sql'); - vscode.workspace.openTextDocument(uri); + test('Connection manager is initialized properly', function(done): void { // Note: this can't be an arrow function (=>), otherwise this.timeout() breaks + this.timeout(10000); // Service installation usually takes a bit longer than the default 2000ms on a fresh install + + // Force the extension to activate by running one of our commands + vscode.commands.executeCommand('extension.connect'); // Wait for the extension to activate ensureExtensionIsActive().then(() => {