diff --git a/src/sql/platform/connection/common/connectionProfile.ts b/src/sql/platform/connection/common/connectionProfile.ts index d98847b192..0b9c6ac906 100644 --- a/src/sql/platform/connection/common/connectionProfile.ts +++ b/src/sql/platform/connection/common/connectionProfile.ts @@ -43,7 +43,7 @@ export class ConnectionProfile extends ProviderConnectionInfo implements interfa this.saveProfile = model.saveProfile; this._id = model.id; this.azureTenantId = model.azureTenantId; - if (this.capabilitiesService) { + if (this.capabilitiesService && model.providerName) { const options = this.capabilitiesService.getCapabilities(model.providerName).connection.connectionOptions; let appNameOption = options.find(option => option.specialValueType === ConnectionOptionSpecialType.appName); if (appNameOption) { diff --git a/src/sqltest/parts/connection/connectionProfile.test.ts b/src/sqltest/parts/connection/connectionProfile.test.ts index 887c5eff31..b63c443770 100644 --- a/src/sqltest/parts/connection/connectionProfile.test.ts +++ b/src/sqltest/parts/connection/connectionProfile.test.ts @@ -214,4 +214,8 @@ suite('SQL ConnectionProfileInfo tests', () => { assert.notEqual(newProfile.id, conn.id); assert.equal(newProfile.databaseName, 'new db'); }); -}); \ No newline at end of file + + test('an empty connection profile does not cause issues', () => { + assert.doesNotThrow(() => new ConnectionProfile(capabilitiesService, {} as IConnectionProfile)); + }); +});