Fix queryDocument.connect (#20682)

* Fix queryEditor.connect

* Remove decorator

* undo

* fix test

* Use connectionProfile for comparison

* remove unused

* Remove helper method
This commit is contained in:
Charles Gagnon
2022-09-28 11:28:58 -07:00
committed by GitHub
parent 02697105f5
commit 603ae9b94c
5 changed files with 105 additions and 71 deletions

View File

@@ -15,7 +15,7 @@ suite('SQL ConnectionProfileInfo tests', () => {
let msSQLCapabilities: ConnectionProviderProperties;
let capabilitiesService: TestCapabilitiesService;
let connectionProfile: IConnectionProfile = {
let iConnectionProfile: IConnectionProfile = {
connectionName: 'new name',
serverName: 'new server',
databaseName: 'database',
@@ -33,6 +33,22 @@ suite('SQL ConnectionProfileInfo tests', () => {
id: undefined!
};
let connectionProfile: azdata.connection.ConnectionProfile = {
connectionName: 'new name',
serverName: 'new server',
databaseName: 'database',
userName: 'user',
password: 'password',
authenticationType: '',
savePassword: true,
groupFullName: 'g2/g2-2',
groupId: 'group id',
providerId: mssqlProviderName,
options: {},
saveProfile: true,
connectionId: 'my id'
};
let storedProfile: IConnectionProfileStore = {
groupId: 'groupId',
id: 'id',
@@ -135,27 +151,42 @@ suite('SQL ConnectionProfileInfo tests', () => {
test('set properties should set the values correctly', () => {
let conn = new ConnectionProfile(capabilitiesService, undefined!);
assert.strictEqual(conn.serverName, undefined);
conn.connectionName = connectionProfile.connectionName!;
conn.serverName = connectionProfile.serverName;
conn.databaseName = connectionProfile.databaseName!;
conn.authenticationType = connectionProfile.authenticationType;
conn.password = connectionProfile.password;
conn.userName = connectionProfile.userName;
conn.groupId = connectionProfile.groupId;
conn.groupFullName = connectionProfile.groupFullName;
conn.savePassword = connectionProfile.savePassword;
assert.strictEqual(conn.connectionName, connectionProfile.connectionName);
assert.strictEqual(conn.serverName, connectionProfile.serverName);
assert.strictEqual(conn.databaseName, connectionProfile.databaseName);
assert.strictEqual(conn.authenticationType, connectionProfile.authenticationType);
assert.strictEqual(conn.password, connectionProfile.password);
assert.strictEqual(conn.userName, connectionProfile.userName);
assert.strictEqual(conn.groupId, connectionProfile.groupId);
assert.strictEqual(conn.groupFullName, connectionProfile.groupFullName);
assert.strictEqual(conn.savePassword, connectionProfile.savePassword);
conn.connectionName = iConnectionProfile.connectionName!;
conn.serverName = iConnectionProfile.serverName;
conn.databaseName = iConnectionProfile.databaseName!;
conn.authenticationType = iConnectionProfile.authenticationType;
conn.password = iConnectionProfile.password;
conn.userName = iConnectionProfile.userName;
conn.groupId = iConnectionProfile.groupId;
conn.groupFullName = iConnectionProfile.groupFullName;
conn.savePassword = iConnectionProfile.savePassword;
assert.strictEqual(conn.connectionName, iConnectionProfile.connectionName);
assert.strictEqual(conn.serverName, iConnectionProfile.serverName);
assert.strictEqual(conn.databaseName, iConnectionProfile.databaseName);
assert.strictEqual(conn.authenticationType, iConnectionProfile.authenticationType);
assert.strictEqual(conn.password, iConnectionProfile.password);
assert.strictEqual(conn.userName, iConnectionProfile.userName);
assert.strictEqual(conn.groupId, iConnectionProfile.groupId);
assert.strictEqual(conn.groupFullName, iConnectionProfile.groupFullName);
assert.strictEqual(conn.savePassword, iConnectionProfile.savePassword);
});
test('constructor should initialize the options given a valid model', () => {
test('constructor should initialize the options given a valid IConnectionProfile model', () => {
let conn = new ConnectionProfile(capabilitiesService, iConnectionProfile);
assert.strictEqual(conn.connectionName, iConnectionProfile.connectionName);
assert.strictEqual(conn.serverName, iConnectionProfile.serverName);
assert.strictEqual(conn.databaseName, iConnectionProfile.databaseName);
assert.strictEqual(conn.authenticationType, iConnectionProfile.authenticationType);
assert.strictEqual(conn.password, iConnectionProfile.password);
assert.strictEqual(conn.userName, iConnectionProfile.userName);
assert.strictEqual(conn.groupId, iConnectionProfile.groupId);
assert.strictEqual(conn.groupFullName, iConnectionProfile.groupFullName);
assert.strictEqual(conn.savePassword, iConnectionProfile.savePassword);
assert.strictEqual(conn.providerName, iConnectionProfile.providerName);
});
test('constructor should initialize the options given a valid azdata.connection.ConnectionProfile model', () => {
let conn = new ConnectionProfile(capabilitiesService, connectionProfile);
assert.strictEqual(conn.connectionName, connectionProfile.connectionName);
@@ -167,10 +198,11 @@ suite('SQL ConnectionProfileInfo tests', () => {
assert.strictEqual(conn.groupId, connectionProfile.groupId);
assert.strictEqual(conn.groupFullName, connectionProfile.groupFullName);
assert.strictEqual(conn.savePassword, connectionProfile.savePassword);
assert.strictEqual(conn.providerName, connectionProfile.providerId);
});
test('getOptionsKey should create a valid unique id', () => {
let conn = new ConnectionProfile(capabilitiesService, connectionProfile);
let conn = new ConnectionProfile(capabilitiesService, iConnectionProfile);
let expectedId = 'providerName:MSSQL|authenticationType:|databaseName:database|serverName:new server|userName:user|databaseDisplayName:database|group:group id';
let id = conn.getOptionsKey();
assert.strictEqual(id, expectedId);
@@ -196,20 +228,20 @@ suite('SQL ConnectionProfileInfo tests', () => {
});
test('withoutPassword should create a new instance without password', () => {
let conn = new ConnectionProfile(capabilitiesService, connectionProfile);
let conn = new ConnectionProfile(capabilitiesService, iConnectionProfile);
assert.notStrictEqual(conn.password, '');
let withoutPassword = conn.withoutPassword();
assert.strictEqual(withoutPassword.password, '');
});
test('unique id should not include password', () => {
let conn = new ConnectionProfile(capabilitiesService, connectionProfile);
let conn = new ConnectionProfile(capabilitiesService, iConnectionProfile);
let withoutPassword = conn.withoutPassword();
assert.strictEqual(withoutPassword.getOptionsKey(), conn.getOptionsKey());
});
test('cloneWithDatabase should create new profile with new id', () => {
let conn = new ConnectionProfile(capabilitiesService, connectionProfile);
let conn = new ConnectionProfile(capabilitiesService, iConnectionProfile);
let newProfile = conn.cloneWithDatabase('new db');
assert.notStrictEqual(newProfile.id, conn.id);
assert.strictEqual(newProfile.databaseName, 'new db');