mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Feature: Ability to add connection name (#2332)
This commit is contained in:
@@ -201,6 +201,20 @@
|
|||||||
"providerId": "MSSQL",
|
"providerId": "MSSQL",
|
||||||
"displayName": "Microsoft SQL Server",
|
"displayName": "Microsoft SQL Server",
|
||||||
"connectionOptions": [
|
"connectionOptions": [
|
||||||
|
{
|
||||||
|
"specialValueType": "connectionName",
|
||||||
|
"isIdentity": true,
|
||||||
|
"name": "connectionName",
|
||||||
|
"displayName": "Name (optional)",
|
||||||
|
"description": "Custom name of the connection",
|
||||||
|
"groupName": "Source",
|
||||||
|
"valueType": "string",
|
||||||
|
"defaultValue": null,
|
||||||
|
"objectType": null,
|
||||||
|
"categoryValues": null,
|
||||||
|
"isRequired": false,
|
||||||
|
"isArray": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"specialValueType": "serverName",
|
"specialValueType": "serverName",
|
||||||
"isIdentity": true,
|
"isIdentity": true,
|
||||||
|
|||||||
@@ -145,6 +145,7 @@ export class ConnectionProfile extends ProviderConnectionInfo implements interfa
|
|||||||
|
|
||||||
public toIConnectionProfile(): interfaces.IConnectionProfile {
|
public toIConnectionProfile(): interfaces.IConnectionProfile {
|
||||||
let result: interfaces.IConnectionProfile = {
|
let result: interfaces.IConnectionProfile = {
|
||||||
|
connectionName: this.connectionName,
|
||||||
serverName: this.serverName,
|
serverName: this.serverName,
|
||||||
databaseName: this.databaseName,
|
databaseName: this.databaseName,
|
||||||
authenticationType: this.authenticationType,
|
authenticationType: this.authenticationType,
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ export class ProviderConnectionInfo extends Disposable implements sqlops.Connect
|
|||||||
this.databaseName = model.databaseName;
|
this.databaseName = model.databaseName;
|
||||||
this.password = model.password;
|
this.password = model.password;
|
||||||
this.userName = model.userName;
|
this.userName = model.userName;
|
||||||
|
this.connectionName = model.connectionName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -78,6 +79,10 @@ export class ProviderConnectionInfo extends Disposable implements sqlops.Connect
|
|||||||
return this._serverCapabilities;
|
return this._serverCapabilities;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get connectionName(): string {
|
||||||
|
return this.getSpecialTypeOptionValue(ConnectionOptionSpecialType.connectionName);
|
||||||
|
}
|
||||||
|
|
||||||
public get serverName(): string {
|
public get serverName(): string {
|
||||||
return this.getSpecialTypeOptionValue(ConnectionOptionSpecialType.serverName);
|
return this.getSpecialTypeOptionValue(ConnectionOptionSpecialType.serverName);
|
||||||
}
|
}
|
||||||
@@ -98,6 +103,10 @@ export class ProviderConnectionInfo extends Disposable implements sqlops.Connect
|
|||||||
return this.getSpecialTypeOptionValue(ConnectionOptionSpecialType.authType);
|
return this.getSpecialTypeOptionValue(ConnectionOptionSpecialType.authType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public set connectionName(value: string) {
|
||||||
|
this.setSpecialTypeOptionName(ConnectionOptionSpecialType.connectionName, value);
|
||||||
|
}
|
||||||
|
|
||||||
public set serverName(value: string) {
|
public set serverName(value: string) {
|
||||||
this.setSpecialTypeOptionName(ConnectionOptionSpecialType.serverName, value);
|
this.setSpecialTypeOptionName(ConnectionOptionSpecialType.serverName, value);
|
||||||
}
|
}
|
||||||
@@ -127,16 +136,30 @@ export class ProviderConnectionInfo extends Disposable implements sqlops.Connect
|
|||||||
this.options[name] = value;
|
this.options[name] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private getServerInfo() {
|
||||||
|
let databaseName = this.databaseName ? this.databaseName : '<default>';
|
||||||
|
let userName = this.userName ? this.userName : 'Windows Authentication';
|
||||||
|
return this.serverName + ', ' + databaseName + ' (' + userName + ')';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the title of the connection
|
* Returns the title of the connection
|
||||||
*/
|
*/
|
||||||
public get title(): string {
|
public get title(): string {
|
||||||
let databaseName = this.databaseName ? this.databaseName : '<default>';
|
let label = '';
|
||||||
let userName = this.userName ? this.userName : 'Windows Authentication';
|
|
||||||
let label = this.serverName + ', ' + databaseName + ' (' + userName + ')';
|
if (this.connectionName) {
|
||||||
|
label = this.connectionName;
|
||||||
|
} else {
|
||||||
|
label = this.getServerInfo();
|
||||||
|
}
|
||||||
return label;
|
return label;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get serverInfo(): string {
|
||||||
|
return this.getServerInfo();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the capabilities and options are loaded correctly
|
* Returns true if the capabilities and options are loaded correctly
|
||||||
*/
|
*/
|
||||||
@@ -171,7 +194,9 @@ export class ProviderConnectionInfo extends Disposable implements sqlops.Connect
|
|||||||
let idNames = [];
|
let idNames = [];
|
||||||
if (this._serverCapabilities) {
|
if (this._serverCapabilities) {
|
||||||
idNames = this._serverCapabilities.connectionOptions.map(o => {
|
idNames = this._serverCapabilities.connectionOptions.map(o => {
|
||||||
if ((o.specialValueType || o.isIdentity) && o.specialValueType !== ConnectionOptionSpecialType.password) {
|
if ((o.specialValueType || o.isIdentity)
|
||||||
|
&& o.specialValueType !== ConnectionOptionSpecialType.password
|
||||||
|
&& o.specialValueType !== ConnectionOptionSpecialType.connectionName) {
|
||||||
return o.name;
|
return o.name;
|
||||||
} else {
|
} else {
|
||||||
return undefined;
|
return undefined;
|
||||||
@@ -267,6 +292,7 @@ export class ProviderConnectionInfo extends Disposable implements sqlops.Connect
|
|||||||
element.specialValueType !== ConnectionOptionSpecialType.databaseName &&
|
element.specialValueType !== ConnectionOptionSpecialType.databaseName &&
|
||||||
element.specialValueType !== ConnectionOptionSpecialType.authType &&
|
element.specialValueType !== ConnectionOptionSpecialType.authType &&
|
||||||
element.specialValueType !== ConnectionOptionSpecialType.password &&
|
element.specialValueType !== ConnectionOptionSpecialType.password &&
|
||||||
|
element.specialValueType !== ConnectionOptionSpecialType.connectionName &&
|
||||||
element.isIdentity && element.valueType === ServiceOptionType.string) {
|
element.isIdentity && element.valueType === ServiceOptionType.string) {
|
||||||
let value = this.getOptionValue(element.name);
|
let value = this.getOptionValue(element.name);
|
||||||
if (value) {
|
if (value) {
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ export class ConnectionWidget {
|
|||||||
private _serverGroupSelectBox: SelectBox;
|
private _serverGroupSelectBox: SelectBox;
|
||||||
private _previousGroupOption: string;
|
private _previousGroupOption: string;
|
||||||
private _serverGroupOptions: IConnectionProfileGroup[];
|
private _serverGroupOptions: IConnectionProfileGroup[];
|
||||||
|
private _connectionNameInputBox: InputBox;
|
||||||
private _serverNameInputBox: InputBox;
|
private _serverNameInputBox: InputBox;
|
||||||
private _databaseNameInputBox: Dropdown;
|
private _databaseNameInputBox: Dropdown;
|
||||||
private _userNameInputBox: InputBox;
|
private _userNameInputBox: InputBox;
|
||||||
@@ -154,6 +155,12 @@ export class ConnectionWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fillInConnectionForm(): void {
|
private fillInConnectionForm(): void {
|
||||||
|
// Connection name
|
||||||
|
let connectionNameOption = this._optionsMaps[ConnectionOptionSpecialType.connectionName];
|
||||||
|
let connectionNameBuilder = DialogHelper.appendRow(this._tableContainer, connectionNameOption.displayName, 'connection-label', 'connection-input');
|
||||||
|
this._connectionNameInputBox = new InputBox(connectionNameBuilder.getHTMLElement(), this._contextViewService, { ariaLabel: connectionNameOption.displayName });
|
||||||
|
|
||||||
|
// Server name
|
||||||
let serverNameOption = this._optionsMaps[ConnectionOptionSpecialType.serverName];
|
let serverNameOption = this._optionsMaps[ConnectionOptionSpecialType.serverName];
|
||||||
let serverNameBuilder = DialogHelper.appendRow(this._tableContainer, serverNameOption.displayName, 'connection-label', 'connection-input');
|
let serverNameBuilder = DialogHelper.appendRow(this._tableContainer, serverNameOption.displayName, 'connection-label', 'connection-input');
|
||||||
this._serverNameInputBox = new InputBox(serverNameBuilder.getHTMLElement(), this._contextViewService, {
|
this._serverNameInputBox = new InputBox(serverNameBuilder.getHTMLElement(), this._contextViewService, {
|
||||||
@@ -170,11 +177,13 @@ export class ConnectionWidget {
|
|||||||
ariaLabel: serverNameOption.displayName
|
ariaLabel: serverNameOption.displayName
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Authentication type
|
||||||
if (this._optionsMaps[ConnectionOptionSpecialType.authType]) {
|
if (this._optionsMaps[ConnectionOptionSpecialType.authType]) {
|
||||||
let authTypeBuilder = DialogHelper.appendRow(this._tableContainer, this._optionsMaps[ConnectionOptionSpecialType.authType].displayName, 'connection-label', 'connection-input');
|
let authTypeBuilder = DialogHelper.appendRow(this._tableContainer, this._optionsMaps[ConnectionOptionSpecialType.authType].displayName, 'connection-label', 'connection-input');
|
||||||
DialogHelper.appendInputSelectBox(authTypeBuilder, this._authTypeSelectBox);
|
DialogHelper.appendInputSelectBox(authTypeBuilder, this._authTypeSelectBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Username
|
||||||
let self = this;
|
let self = this;
|
||||||
let userNameOption = this._optionsMaps[ConnectionOptionSpecialType.userName];
|
let userNameOption = this._optionsMaps[ConnectionOptionSpecialType.userName];
|
||||||
let userNameBuilder = DialogHelper.appendRow(this._tableContainer, userNameOption.displayName, 'connection-label', 'connection-input');
|
let userNameBuilder = DialogHelper.appendRow(this._tableContainer, userNameOption.displayName, 'connection-label', 'connection-input');
|
||||||
@@ -185,15 +194,18 @@ export class ConnectionWidget {
|
|||||||
ariaLabel: userNameOption.displayName
|
ariaLabel: userNameOption.displayName
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Password
|
||||||
let passwordOption = this._optionsMaps[ConnectionOptionSpecialType.password];
|
let passwordOption = this._optionsMaps[ConnectionOptionSpecialType.password];
|
||||||
let passwordBuilder = DialogHelper.appendRow(this._tableContainer, passwordOption.displayName, 'connection-label', 'connection-input');
|
let passwordBuilder = DialogHelper.appendRow(this._tableContainer, passwordOption.displayName, 'connection-label', 'connection-input');
|
||||||
this._passwordInputBox = new InputBox(passwordBuilder.getHTMLElement(), this._contextViewService, { ariaLabel: passwordOption.displayName });
|
this._passwordInputBox = new InputBox(passwordBuilder.getHTMLElement(), this._contextViewService, { ariaLabel: passwordOption.displayName });
|
||||||
this._passwordInputBox.inputElement.type = 'password';
|
this._passwordInputBox.inputElement.type = 'password';
|
||||||
this._password = '';
|
this._password = '';
|
||||||
|
|
||||||
|
// Remember password
|
||||||
let rememberPasswordLabel = localize('rememberPassword', 'Remember password');
|
let rememberPasswordLabel = localize('rememberPassword', 'Remember password');
|
||||||
this._rememberPasswordCheckBox = this.appendCheckbox(this._tableContainer, rememberPasswordLabel, 'connection-checkbox', 'connection-input', false);
|
this._rememberPasswordCheckBox = this.appendCheckbox(this._tableContainer, rememberPasswordLabel, 'connection-checkbox', 'connection-input', false);
|
||||||
|
|
||||||
|
// Database
|
||||||
let databaseOption = this._optionsMaps[ConnectionOptionSpecialType.databaseName];
|
let databaseOption = this._optionsMaps[ConnectionOptionSpecialType.databaseName];
|
||||||
let databaseNameBuilder = DialogHelper.appendRow(this._tableContainer, databaseOption.displayName, 'connection-label', 'connection-input');
|
let databaseNameBuilder = DialogHelper.appendRow(this._tableContainer, databaseOption.displayName, 'connection-label', 'connection-input');
|
||||||
|
|
||||||
@@ -206,6 +218,7 @@ export class ConnectionWidget {
|
|||||||
actionLabel: localize('connectionWidget.toggleDatabaseNameDropdown', 'Select Database Toggle Dropdown')
|
actionLabel: localize('connectionWidget.toggleDatabaseNameDropdown', 'Select Database Toggle Dropdown')
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Server group
|
||||||
let serverGroupLabel = localize('serverGroup', 'Server group');
|
let serverGroupLabel = localize('serverGroup', 'Server group');
|
||||||
let serverGroupBuilder = DialogHelper.appendRow(this._tableContainer, serverGroupLabel, 'connection-label', 'connection-input');
|
let serverGroupBuilder = DialogHelper.appendRow(this._tableContainer, serverGroupLabel, 'connection-label', 'connection-input');
|
||||||
DialogHelper.appendInputSelectBox(serverGroupBuilder, this._serverGroupSelectBox);
|
DialogHelper.appendInputSelectBox(serverGroupBuilder, this._serverGroupSelectBox);
|
||||||
@@ -257,6 +270,7 @@ export class ConnectionWidget {
|
|||||||
// Theme styler
|
// Theme styler
|
||||||
this._toDispose.push(attachInputBoxStyler(this._serverNameInputBox, this._themeService));
|
this._toDispose.push(attachInputBoxStyler(this._serverNameInputBox, this._themeService));
|
||||||
this._toDispose.push(attachEditableDropdownStyler(this._databaseNameInputBox, this._themeService));
|
this._toDispose.push(attachEditableDropdownStyler(this._databaseNameInputBox, this._themeService));
|
||||||
|
this._toDispose.push(attachInputBoxStyler(this._connectionNameInputBox, this._themeService));
|
||||||
this._toDispose.push(attachInputBoxStyler(this._userNameInputBox, this._themeService));
|
this._toDispose.push(attachInputBoxStyler(this._userNameInputBox, this._themeService));
|
||||||
this._toDispose.push(attachInputBoxStyler(this._passwordInputBox, this._themeService));
|
this._toDispose.push(attachInputBoxStyler(this._passwordInputBox, this._themeService));
|
||||||
this._toDispose.push(styler.attachSelectBoxStyler(this._serverGroupSelectBox, this._themeService));
|
this._toDispose.push(styler.attachSelectBoxStyler(this._serverGroupSelectBox, this._themeService));
|
||||||
@@ -385,7 +399,7 @@ export class ConnectionWidget {
|
|||||||
|
|
||||||
public focusOnOpen(): void {
|
public focusOnOpen(): void {
|
||||||
this._handleClipboard();
|
this._handleClipboard();
|
||||||
this._serverNameInputBox.focus();
|
this._connectionNameInputBox.focus();
|
||||||
this.focusPasswordIfNeeded();
|
this.focusPasswordIfNeeded();
|
||||||
this.clearValidationMessages();
|
this.clearValidationMessages();
|
||||||
}
|
}
|
||||||
@@ -403,6 +417,7 @@ export class ConnectionWidget {
|
|||||||
if (connectionInfo) {
|
if (connectionInfo) {
|
||||||
this._serverNameInputBox.value = this.getModelValue(connectionInfo.serverName);
|
this._serverNameInputBox.value = this.getModelValue(connectionInfo.serverName);
|
||||||
this._databaseNameInputBox.value = this.getModelValue(connectionInfo.databaseName);
|
this._databaseNameInputBox.value = this.getModelValue(connectionInfo.databaseName);
|
||||||
|
this._connectionNameInputBox.value = this.getModelValue(connectionInfo.connectionName);
|
||||||
this._userNameInputBox.value = this.getModelValue(connectionInfo.userName);
|
this._userNameInputBox.value = this.getModelValue(connectionInfo.userName);
|
||||||
this._passwordInputBox.value = connectionInfo.password ? Constants.passwordChars : '';
|
this._passwordInputBox.value = connectionInfo.password ? Constants.passwordChars : '';
|
||||||
this._password = this.getModelValue(connectionInfo.password);
|
this._password = this.getModelValue(connectionInfo.password);
|
||||||
@@ -507,6 +522,10 @@ export class ConnectionWidget {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get connectionName(): string {
|
||||||
|
return this._connectionNameInputBox.value;
|
||||||
|
}
|
||||||
|
|
||||||
public get serverName(): string {
|
public get serverName(): string {
|
||||||
return this._serverNameInputBox.value;
|
return this._serverNameInputBox.value;
|
||||||
}
|
}
|
||||||
@@ -550,6 +569,7 @@ export class ConnectionWidget {
|
|||||||
public connect(model: IConnectionProfile): boolean {
|
public connect(model: IConnectionProfile): boolean {
|
||||||
let validInputs = this.validateInputs();
|
let validInputs = this.validateInputs();
|
||||||
if (validInputs) {
|
if (validInputs) {
|
||||||
|
model.connectionName = this.connectionName;
|
||||||
model.serverName = this.serverName;
|
model.serverName = this.serverName;
|
||||||
model.databaseName = this.databaseName;
|
model.databaseName = this.databaseName;
|
||||||
model.userName = this.userName;
|
model.userName = this.userName;
|
||||||
|
|||||||
@@ -144,6 +144,7 @@ export class AddServerAction extends Action {
|
|||||||
|
|
||||||
public run(element: ConnectionProfileGroup): TPromise<boolean> {
|
public run(element: ConnectionProfileGroup): TPromise<boolean> {
|
||||||
let connection: IConnectionProfile = element === undefined ? undefined : {
|
let connection: IConnectionProfile = element === undefined ? undefined : {
|
||||||
|
connectionName: undefined,
|
||||||
serverName: undefined,
|
serverName: undefined,
|
||||||
databaseName: undefined,
|
databaseName: undefined,
|
||||||
userName: undefined,
|
userName: undefined,
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ export class ServerTreeRenderer implements IRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
templateData.label.textContent = label;
|
templateData.label.textContent = label;
|
||||||
templateData.root.title = label;
|
templateData.root.title = connection.serverInfo;
|
||||||
templateData.connectionProfile = connection;
|
templateData.connectionProfile = connection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
src/sql/sqlops.d.ts
vendored
2
src/sql/sqlops.d.ts
vendored
@@ -195,6 +195,7 @@ declare module 'sqlops' {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface IConnectionProfile extends ConnectionInfo {
|
export interface IConnectionProfile extends ConnectionInfo {
|
||||||
|
connectionName: string;
|
||||||
serverName: string;
|
serverName: string;
|
||||||
databaseName: string;
|
databaseName: string;
|
||||||
userName: string;
|
userName: string;
|
||||||
@@ -349,6 +350,7 @@ declare module 'sqlops' {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export enum ConnectionOptionSpecialType {
|
export enum ConnectionOptionSpecialType {
|
||||||
|
connectionName = 'connectionName',
|
||||||
serverName = 'serverName',
|
serverName = 'serverName',
|
||||||
databaseName = 'databaseName',
|
databaseName = 'databaseName',
|
||||||
authType = 'authType',
|
authType = 'authType',
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ export enum ServiceOptionType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export enum ConnectionOptionSpecialType {
|
export enum ConnectionOptionSpecialType {
|
||||||
|
connectionName = 'connectionName',
|
||||||
serverName = 'serverName',
|
serverName = 'serverName',
|
||||||
databaseName = 'databaseName',
|
databaseName = 'databaseName',
|
||||||
authType = 'authType',
|
authType = 'authType',
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ suite('SQL Telemetry Utilities tests', () => {
|
|||||||
let telemetryKey: string = 'tel key';
|
let telemetryKey: string = 'tel key';
|
||||||
|
|
||||||
let connectionProfile = {
|
let connectionProfile = {
|
||||||
|
connectionName: '',
|
||||||
databaseName: '',
|
databaseName: '',
|
||||||
serverName: '',
|
serverName: '',
|
||||||
authenticationType: '',
|
authenticationType: '',
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ suite('Firewall rule dialog controller tests', () => {
|
|||||||
.returns(() => mockFirewallRuleDialog.object);
|
.returns(() => mockFirewallRuleDialog.object);
|
||||||
|
|
||||||
connectionProfile = {
|
connectionProfile = {
|
||||||
|
connectionName: 'new name',
|
||||||
serverName: 'new server',
|
serverName: 'new server',
|
||||||
databaseName: 'database',
|
databaseName: 'database',
|
||||||
userName: 'user',
|
userName: 'user',
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ suite('SQL ConnectionManagementService tests', () => {
|
|||||||
let none: void;
|
let none: void;
|
||||||
|
|
||||||
let connectionProfile: IConnectionProfile = {
|
let connectionProfile: IConnectionProfile = {
|
||||||
|
connectionName: 'new name',
|
||||||
serverName: 'new server',
|
serverName: 'new server',
|
||||||
databaseName: 'database',
|
databaseName: 'database',
|
||||||
userName: 'user',
|
userName: 'user',
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ suite('SQL ConnectionProfileInfo tests', () => {
|
|||||||
let capabilitiesService: CapabilitiesTestService;
|
let capabilitiesService: CapabilitiesTestService;
|
||||||
|
|
||||||
let connectionProfile: IConnectionProfile = {
|
let connectionProfile: IConnectionProfile = {
|
||||||
|
connectionName: 'new name',
|
||||||
serverName: 'new server',
|
serverName: 'new server',
|
||||||
databaseName: 'database',
|
databaseName: 'database',
|
||||||
userName: 'user',
|
userName: 'user',
|
||||||
@@ -39,6 +40,7 @@ suite('SQL ConnectionProfileInfo tests', () => {
|
|||||||
groupId: 'groupId',
|
groupId: 'groupId',
|
||||||
id: 'id',
|
id: 'id',
|
||||||
options: {
|
options: {
|
||||||
|
connectionName: 'new name',
|
||||||
serverName: 'new server',
|
serverName: 'new server',
|
||||||
databaseName: 'database',
|
databaseName: 'database',
|
||||||
userName: 'user',
|
userName: 'user',
|
||||||
@@ -51,6 +53,18 @@ suite('SQL ConnectionProfileInfo tests', () => {
|
|||||||
|
|
||||||
setup(() => {
|
setup(() => {
|
||||||
let connectionProvider: sqlops.ConnectionOption[] = [
|
let connectionProvider: sqlops.ConnectionOption[] = [
|
||||||
|
{
|
||||||
|
name: 'connectionName',
|
||||||
|
displayName: undefined,
|
||||||
|
description: undefined,
|
||||||
|
groupName: undefined,
|
||||||
|
categoryValues: undefined,
|
||||||
|
defaultValue: undefined,
|
||||||
|
isIdentity: true,
|
||||||
|
isRequired: true,
|
||||||
|
specialValueType: ConnectionOptionSpecialType.connectionName,
|
||||||
|
valueType: ServiceOptionType.string
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'serverName',
|
name: 'serverName',
|
||||||
displayName: undefined,
|
displayName: undefined,
|
||||||
@@ -124,6 +138,7 @@ suite('SQL ConnectionProfileInfo tests', () => {
|
|||||||
test('set properties should set the values correctly', () => {
|
test('set properties should set the values correctly', () => {
|
||||||
let conn = new ConnectionProfile(capabilitiesService, undefined);
|
let conn = new ConnectionProfile(capabilitiesService, undefined);
|
||||||
assert.equal(conn.serverName, undefined);
|
assert.equal(conn.serverName, undefined);
|
||||||
|
conn.connectionName = connectionProfile.connectionName;
|
||||||
conn.serverName = connectionProfile.serverName;
|
conn.serverName = connectionProfile.serverName;
|
||||||
conn.databaseName = connectionProfile.databaseName;
|
conn.databaseName = connectionProfile.databaseName;
|
||||||
conn.authenticationType = connectionProfile.authenticationType;
|
conn.authenticationType = connectionProfile.authenticationType;
|
||||||
@@ -132,6 +147,7 @@ suite('SQL ConnectionProfileInfo tests', () => {
|
|||||||
conn.groupId = connectionProfile.groupId;
|
conn.groupId = connectionProfile.groupId;
|
||||||
conn.groupFullName = connectionProfile.groupFullName;
|
conn.groupFullName = connectionProfile.groupFullName;
|
||||||
conn.savePassword = connectionProfile.savePassword;
|
conn.savePassword = connectionProfile.savePassword;
|
||||||
|
assert.equal(conn.connectionName, connectionProfile.connectionName);
|
||||||
assert.equal(conn.serverName, connectionProfile.serverName);
|
assert.equal(conn.serverName, connectionProfile.serverName);
|
||||||
assert.equal(conn.databaseName, connectionProfile.databaseName);
|
assert.equal(conn.databaseName, connectionProfile.databaseName);
|
||||||
assert.equal(conn.authenticationType, connectionProfile.authenticationType);
|
assert.equal(conn.authenticationType, connectionProfile.authenticationType);
|
||||||
@@ -145,6 +161,7 @@ suite('SQL ConnectionProfileInfo tests', () => {
|
|||||||
test('constructor should initialize the options given a valid model', () => {
|
test('constructor should initialize the options given a valid model', () => {
|
||||||
let conn = new ConnectionProfile(capabilitiesService, connectionProfile);
|
let conn = new ConnectionProfile(capabilitiesService, connectionProfile);
|
||||||
|
|
||||||
|
assert.equal(conn.connectionName, connectionProfile.connectionName);
|
||||||
assert.equal(conn.serverName, connectionProfile.serverName);
|
assert.equal(conn.serverName, connectionProfile.serverName);
|
||||||
assert.equal(conn.databaseName, connectionProfile.databaseName);
|
assert.equal(conn.databaseName, connectionProfile.databaseName);
|
||||||
assert.equal(conn.authenticationType, connectionProfile.authenticationType);
|
assert.equal(conn.authenticationType, connectionProfile.authenticationType);
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ let connections: ConnectionStatusManager;
|
|||||||
let capabilitiesService: CapabilitiesTestService;
|
let capabilitiesService: CapabilitiesTestService;
|
||||||
let connectionProfileObject: ConnectionProfile;
|
let connectionProfileObject: ConnectionProfile;
|
||||||
let connectionProfile: IConnectionProfile = {
|
let connectionProfile: IConnectionProfile = {
|
||||||
|
connectionName: 'new name',
|
||||||
serverName: 'new server',
|
serverName: 'new server',
|
||||||
databaseName: 'database',
|
databaseName: 'database',
|
||||||
userName: 'user',
|
userName: 'user',
|
||||||
@@ -33,6 +34,7 @@ let connectionProfile: IConnectionProfile = {
|
|||||||
id: undefined
|
id: undefined
|
||||||
};
|
};
|
||||||
let editorConnectionProfile: IConnectionProfile = {
|
let editorConnectionProfile: IConnectionProfile = {
|
||||||
|
connectionName: 'new name',
|
||||||
serverName: 'new server',
|
serverName: 'new server',
|
||||||
databaseName: 'database',
|
databaseName: 'database',
|
||||||
userName: 'user',
|
userName: 'user',
|
||||||
@@ -49,6 +51,7 @@ let editorConnectionProfile: IConnectionProfile = {
|
|||||||
id: undefined
|
id: undefined
|
||||||
};
|
};
|
||||||
let connectionProfileWithoutDbName: IConnectionProfile = {
|
let connectionProfileWithoutDbName: IConnectionProfile = {
|
||||||
|
connectionName: 'new name',
|
||||||
serverName: 'new server',
|
serverName: 'new server',
|
||||||
databaseName: '',
|
databaseName: '',
|
||||||
userName: 'user',
|
userName: 'user',
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ suite('SQL ConnectionStore tests', () => {
|
|||||||
|
|
||||||
setup(() => {
|
setup(() => {
|
||||||
defaultNamedProfile = Object.assign({}, {
|
defaultNamedProfile = Object.assign({}, {
|
||||||
|
connectionName: 'new name',
|
||||||
serverName: 'namedServer',
|
serverName: 'namedServer',
|
||||||
databaseName: 'bcd',
|
databaseName: 'bcd',
|
||||||
authenticationType: 'SqlLogin',
|
authenticationType: 'SqlLogin',
|
||||||
@@ -58,6 +59,7 @@ suite('SQL ConnectionStore tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
defaultUnnamedProfile = Object.assign({}, {
|
defaultUnnamedProfile = Object.assign({}, {
|
||||||
|
connectionName: 'new name',
|
||||||
serverName: 'unnamedServer',
|
serverName: 'unnamedServer',
|
||||||
databaseName: undefined,
|
databaseName: undefined,
|
||||||
authenticationType: 'SqlLogin',
|
authenticationType: 'SqlLogin',
|
||||||
@@ -75,6 +77,7 @@ suite('SQL ConnectionStore tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
profileForProvider2 = Object.assign({}, {
|
profileForProvider2 = Object.assign({}, {
|
||||||
|
connectionName: 'new name',
|
||||||
serverName: 'unnamedServer',
|
serverName: 'unnamedServer',
|
||||||
databaseName: undefined,
|
databaseName: undefined,
|
||||||
authenticationType: 'SqlLogin',
|
authenticationType: 'SqlLogin',
|
||||||
@@ -117,6 +120,18 @@ suite('SQL ConnectionStore tests', () => {
|
|||||||
|
|
||||||
capabilitiesService = new CapabilitiesTestService();
|
capabilitiesService = new CapabilitiesTestService();
|
||||||
let connectionProvider: sqlops.ConnectionOption[] = [
|
let connectionProvider: sqlops.ConnectionOption[] = [
|
||||||
|
{
|
||||||
|
name: 'connectionName',
|
||||||
|
displayName: undefined,
|
||||||
|
description: undefined,
|
||||||
|
groupName: undefined,
|
||||||
|
categoryValues: undefined,
|
||||||
|
defaultValue: undefined,
|
||||||
|
isIdentity: true,
|
||||||
|
isRequired: true,
|
||||||
|
specialValueType: ConnectionOptionSpecialType.connectionName,
|
||||||
|
valueType: ServiceOptionType.string
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'serverName',
|
name: 'serverName',
|
||||||
displayName: undefined,
|
displayName: undefined,
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ suite('SQL Connection Tree Action tests', () => {
|
|||||||
test('ManageConnectionAction - test if connect is called for manage action if not already connected', (done) => {
|
test('ManageConnectionAction - test if connect is called for manage action if not already connected', (done) => {
|
||||||
let isConnectedReturnValue: boolean = false;
|
let isConnectedReturnValue: boolean = false;
|
||||||
let connection: ConnectionProfile = new ConnectionProfile(capabilitiesService, {
|
let connection: ConnectionProfile = new ConnectionProfile(capabilitiesService, {
|
||||||
|
connectionName: 'Test',
|
||||||
savePassword: false,
|
savePassword: false,
|
||||||
groupFullName: 'testGroup',
|
groupFullName: 'testGroup',
|
||||||
serverName: 'testServerName',
|
serverName: 'testServerName',
|
||||||
@@ -122,6 +123,7 @@ suite('SQL Connection Tree Action tests', () => {
|
|||||||
test('ManageConnectionAction - test if connect is called for manage action on database node if not already connected', (done) => {
|
test('ManageConnectionAction - test if connect is called for manage action on database node if not already connected', (done) => {
|
||||||
let isConnectedReturnValue: boolean = false;
|
let isConnectedReturnValue: boolean = false;
|
||||||
let connection: ConnectionProfile = new ConnectionProfile(capabilitiesService, {
|
let connection: ConnectionProfile = new ConnectionProfile(capabilitiesService, {
|
||||||
|
connectionName: 'Test',
|
||||||
savePassword: false,
|
savePassword: false,
|
||||||
groupFullName: 'testGroup',
|
groupFullName: 'testGroup',
|
||||||
serverName: 'testServerName',
|
serverName: 'testServerName',
|
||||||
@@ -162,6 +164,7 @@ suite('SQL Connection Tree Action tests', () => {
|
|||||||
test('DisconnectConnectionAction - test if disconnect is called when profile is connected', (done) => {
|
test('DisconnectConnectionAction - test if disconnect is called when profile is connected', (done) => {
|
||||||
let isConnectedReturnValue: boolean = true;
|
let isConnectedReturnValue: boolean = true;
|
||||||
let connection: ConnectionProfile = new ConnectionProfile(capabilitiesService, {
|
let connection: ConnectionProfile = new ConnectionProfile(capabilitiesService, {
|
||||||
|
connectionName: 'Test',
|
||||||
savePassword: false,
|
savePassword: false,
|
||||||
groupFullName: 'testGroup',
|
groupFullName: 'testGroup',
|
||||||
serverName: 'testServerName',
|
serverName: 'testServerName',
|
||||||
@@ -274,6 +277,7 @@ suite('SQL Connection Tree Action tests', () => {
|
|||||||
let connectionManagementService = createConnectionManagementService(true, undefined);
|
let connectionManagementService = createConnectionManagementService(true, undefined);
|
||||||
|
|
||||||
let connection: ConnectionProfile = new ConnectionProfile(capabilitiesService, {
|
let connection: ConnectionProfile = new ConnectionProfile(capabilitiesService, {
|
||||||
|
connectionName: 'Test',
|
||||||
savePassword: false,
|
savePassword: false,
|
||||||
groupFullName: 'testGroup',
|
groupFullName: 'testGroup',
|
||||||
serverName: 'testServerName',
|
serverName: 'testServerName',
|
||||||
@@ -320,6 +324,7 @@ suite('SQL Connection Tree Action tests', () => {
|
|||||||
let connectionManagementService = createConnectionManagementService(isConnectedReturnValue, undefined);
|
let connectionManagementService = createConnectionManagementService(isConnectedReturnValue, undefined);
|
||||||
|
|
||||||
let connection: ConnectionProfile = new ConnectionProfile(capabilitiesService, {
|
let connection: ConnectionProfile = new ConnectionProfile(capabilitiesService, {
|
||||||
|
connectionName: 'Test',
|
||||||
savePassword: false,
|
savePassword: false,
|
||||||
groupFullName: 'testGroup',
|
groupFullName: 'testGroup',
|
||||||
serverName: 'testServerName',
|
serverName: 'testServerName',
|
||||||
@@ -356,6 +361,7 @@ suite('SQL Connection Tree Action tests', () => {
|
|||||||
capabilitiesService.capabilities['MSSQL'] = { connection: sqlProvider };
|
capabilitiesService.capabilities['MSSQL'] = { connection: sqlProvider };
|
||||||
|
|
||||||
var connection = new ConnectionProfile(capabilitiesService, {
|
var connection = new ConnectionProfile(capabilitiesService, {
|
||||||
|
connectionName: 'Test',
|
||||||
savePassword: false,
|
savePassword: false,
|
||||||
groupFullName: 'testGroup',
|
groupFullName: 'testGroup',
|
||||||
serverName: 'testServerName',
|
serverName: 'testServerName',
|
||||||
@@ -444,6 +450,7 @@ suite('SQL Connection Tree Action tests', () => {
|
|||||||
capabilitiesService.capabilities['MSSQL'] = { connection: sqlProvider };
|
capabilitiesService.capabilities['MSSQL'] = { connection: sqlProvider };
|
||||||
|
|
||||||
var connection = new ConnectionProfile(capabilitiesService, {
|
var connection = new ConnectionProfile(capabilitiesService, {
|
||||||
|
connectionName: 'Test',
|
||||||
savePassword: false,
|
savePassword: false,
|
||||||
groupFullName: 'testGroup',
|
groupFullName: 'testGroup',
|
||||||
serverName: 'testServerName',
|
serverName: 'testServerName',
|
||||||
|
|||||||
@@ -131,6 +131,18 @@ suite('SQL Object Explorer Service tests', () => {
|
|||||||
providerId: 'MSSQL',
|
providerId: 'MSSQL',
|
||||||
displayName: 'MSSQL',
|
displayName: 'MSSQL',
|
||||||
connectionOptions: [
|
connectionOptions: [
|
||||||
|
{
|
||||||
|
name: 'connectionName',
|
||||||
|
displayName: undefined,
|
||||||
|
description: undefined,
|
||||||
|
groupName: undefined,
|
||||||
|
categoryValues: undefined,
|
||||||
|
defaultValue: undefined,
|
||||||
|
isIdentity: true,
|
||||||
|
isRequired: true,
|
||||||
|
specialValueType: ConnectionOptionSpecialType.connectionName,
|
||||||
|
valueType: ServiceOptionType.string
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'serverName',
|
name: 'serverName',
|
||||||
displayName: undefined,
|
displayName: undefined,
|
||||||
@@ -210,6 +222,7 @@ suite('SQL Object Explorer Service tests', () => {
|
|||||||
capabilitiesService.capabilities['MSSQL'] = { connection: sqlProvider };
|
capabilitiesService.capabilities['MSSQL'] = { connection: sqlProvider };
|
||||||
|
|
||||||
connection = new ConnectionProfile(capabilitiesService, {
|
connection = new ConnectionProfile(capabilitiesService, {
|
||||||
|
connectionName: 'newName',
|
||||||
savePassword: false,
|
savePassword: false,
|
||||||
groupFullName: 'testGroup',
|
groupFullName: 'testGroup',
|
||||||
serverName: 'testServerName',
|
serverName: 'testServerName',
|
||||||
@@ -228,6 +241,7 @@ suite('SQL Object Explorer Service tests', () => {
|
|||||||
conProfGroup = new ConnectionProfileGroup('testGroup', undefined, 'testGroup', undefined, undefined);
|
conProfGroup = new ConnectionProfileGroup('testGroup', undefined, 'testGroup', undefined, undefined);
|
||||||
|
|
||||||
connectionToFail = new ConnectionProfile(capabilitiesService, {
|
connectionToFail = new ConnectionProfile(capabilitiesService, {
|
||||||
|
connectionName: 'newName2',
|
||||||
savePassword: false,
|
savePassword: false,
|
||||||
groupFullName: 'testGroup',
|
groupFullName: 'testGroup',
|
||||||
serverName: 'testServerName2',
|
serverName: 'testServerName2',
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ suite('SQL ProviderConnectionInfo tests', () => {
|
|||||||
let capabilitiesService: CapabilitiesTestService;
|
let capabilitiesService: CapabilitiesTestService;
|
||||||
|
|
||||||
let connectionProfile: IConnectionProfile = {
|
let connectionProfile: IConnectionProfile = {
|
||||||
|
connectionName: 'name',
|
||||||
serverName: 'new server',
|
serverName: 'new server',
|
||||||
databaseName: 'database',
|
databaseName: 'database',
|
||||||
userName: 'user',
|
userName: 'user',
|
||||||
@@ -38,6 +39,18 @@ suite('SQL ProviderConnectionInfo tests', () => {
|
|||||||
setup(() => {
|
setup(() => {
|
||||||
let capabilities: sqlops.DataProtocolServerCapabilities[] = [];
|
let capabilities: sqlops.DataProtocolServerCapabilities[] = [];
|
||||||
let connectionProvider: sqlops.ConnectionOption[] = [
|
let connectionProvider: sqlops.ConnectionOption[] = [
|
||||||
|
{
|
||||||
|
name: 'connectionName',
|
||||||
|
displayName: undefined,
|
||||||
|
description: undefined,
|
||||||
|
groupName: undefined,
|
||||||
|
categoryValues: undefined,
|
||||||
|
defaultValue: undefined,
|
||||||
|
isIdentity: true,
|
||||||
|
isRequired: true,
|
||||||
|
specialValueType: ConnectionOptionSpecialType.connectionName,
|
||||||
|
valueType: ServiceOptionType.string
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'serverName',
|
name: 'serverName',
|
||||||
displayName: undefined,
|
displayName: undefined,
|
||||||
@@ -129,11 +142,13 @@ suite('SQL ProviderConnectionInfo tests', () => {
|
|||||||
test('set properties should set the values correctly', () => {
|
test('set properties should set the values correctly', () => {
|
||||||
let conn = new ProviderConnectionInfo(capabilitiesService, 'MSSQL');
|
let conn = new ProviderConnectionInfo(capabilitiesService, 'MSSQL');
|
||||||
assert.equal(conn.serverName, undefined);
|
assert.equal(conn.serverName, undefined);
|
||||||
|
conn.connectionName = connectionProfile.connectionName;
|
||||||
conn.serverName = connectionProfile.serverName;
|
conn.serverName = connectionProfile.serverName;
|
||||||
conn.databaseName = connectionProfile.databaseName;
|
conn.databaseName = connectionProfile.databaseName;
|
||||||
conn.authenticationType = connectionProfile.authenticationType;
|
conn.authenticationType = connectionProfile.authenticationType;
|
||||||
conn.password = connectionProfile.password;
|
conn.password = connectionProfile.password;
|
||||||
conn.userName = connectionProfile.userName;
|
conn.userName = connectionProfile.userName;
|
||||||
|
assert.equal(conn.connectionName, connectionProfile.connectionName);
|
||||||
assert.equal(conn.serverName, connectionProfile.serverName);
|
assert.equal(conn.serverName, connectionProfile.serverName);
|
||||||
assert.equal(conn.databaseName, connectionProfile.databaseName);
|
assert.equal(conn.databaseName, connectionProfile.databaseName);
|
||||||
assert.equal(conn.authenticationType, connectionProfile.authenticationType);
|
assert.equal(conn.authenticationType, connectionProfile.authenticationType);
|
||||||
@@ -159,6 +174,7 @@ suite('SQL ProviderConnectionInfo tests', () => {
|
|||||||
test('constructor should initialize the options given a valid model', () => {
|
test('constructor should initialize the options given a valid model', () => {
|
||||||
let conn = new ProviderConnectionInfo(capabilitiesService, connectionProfile);
|
let conn = new ProviderConnectionInfo(capabilitiesService, connectionProfile);
|
||||||
|
|
||||||
|
assert.equal(conn.connectionName, connectionProfile.connectionName);
|
||||||
assert.equal(conn.serverName, connectionProfile.serverName);
|
assert.equal(conn.serverName, connectionProfile.serverName);
|
||||||
assert.equal(conn.databaseName, connectionProfile.databaseName);
|
assert.equal(conn.databaseName, connectionProfile.databaseName);
|
||||||
assert.equal(conn.authenticationType, connectionProfile.authenticationType);
|
assert.equal(conn.authenticationType, connectionProfile.authenticationType);
|
||||||
@@ -170,6 +186,7 @@ suite('SQL ProviderConnectionInfo tests', () => {
|
|||||||
let conn = new ProviderConnectionInfo(capabilitiesService, connectionProfile);
|
let conn = new ProviderConnectionInfo(capabilitiesService, connectionProfile);
|
||||||
|
|
||||||
let conn2 = conn.clone();
|
let conn2 = conn.clone();
|
||||||
|
assert.equal(conn.connectionName, conn2.connectionName);
|
||||||
assert.equal(conn.serverName, conn2.serverName);
|
assert.equal(conn.serverName, conn2.serverName);
|
||||||
assert.equal(conn.databaseName, conn2.databaseName);
|
assert.equal(conn.databaseName, conn2.databaseName);
|
||||||
assert.equal(conn.authenticationType, conn2.authenticationType);
|
assert.equal(conn.authenticationType, conn2.authenticationType);
|
||||||
@@ -191,6 +208,7 @@ suite('SQL ProviderConnectionInfo tests', () => {
|
|||||||
let conn2 = Object.assign({}, connectionProfile, { options: options });
|
let conn2 = Object.assign({}, connectionProfile, { options: options });
|
||||||
let conn = new ProviderConnectionInfo(capabilitiesService, conn2);
|
let conn = new ProviderConnectionInfo(capabilitiesService, conn2);
|
||||||
|
|
||||||
|
assert.equal(conn.connectionName, conn2.connectionName);
|
||||||
assert.equal(conn.serverName, conn2.serverName);
|
assert.equal(conn.serverName, conn2.serverName);
|
||||||
assert.equal(conn.databaseName, conn2.databaseName);
|
assert.equal(conn.databaseName, conn2.databaseName);
|
||||||
assert.equal(conn.authenticationType, conn2.authenticationType);
|
assert.equal(conn.authenticationType, conn2.authenticationType);
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ suite('Insights Dialog Controller Tests', () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
let profile: IConnectionProfile = {
|
let profile: IConnectionProfile = {
|
||||||
|
connectionName: 'newname',
|
||||||
serverName: 'server',
|
serverName: 'server',
|
||||||
databaseName: 'database',
|
databaseName: 'database',
|
||||||
userName: 'user',
|
userName: 'user',
|
||||||
|
|||||||
@@ -23,6 +23,18 @@ export class CapabilitiesTestService implements ICapabilitiesService {
|
|||||||
constructor() {
|
constructor() {
|
||||||
|
|
||||||
let connectionProvider: sqlops.ConnectionOption[] = [
|
let connectionProvider: sqlops.ConnectionOption[] = [
|
||||||
|
{
|
||||||
|
name: 'connectionName',
|
||||||
|
displayName: undefined,
|
||||||
|
description: undefined,
|
||||||
|
groupName: undefined,
|
||||||
|
categoryValues: undefined,
|
||||||
|
defaultValue: undefined,
|
||||||
|
isIdentity: true,
|
||||||
|
isRequired: true,
|
||||||
|
specialValueType: ConnectionOptionSpecialType.connectionName,
|
||||||
|
valueType: ServiceOptionType.string
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'serverName',
|
name: 'serverName',
|
||||||
displayName: undefined,
|
displayName: undefined,
|
||||||
|
|||||||
Reference in New Issue
Block a user