mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
ISSUE10685 - Edits schemaCompareDialog to show connectionName if provided (#15152)
* ISSUE10685 - Edits schemaCompareDialog to show connectionName if provided * ISSUE10685 - Edits to not show user if connectionName * ISSUE10685 - Shows connection name is schema compare launched from db * ISSUE10685 - Shows connection name in schema compare window * ISSUE10685 - Edits utils tests * ISSUE10685 - Edits schemaCompare test * ISSUE10685 - Adds/Edits specs * ISSUE10685 - Changes let to const
This commit is contained in:
committed by
GitHub
parent
463ea0b46b
commit
3e4f687862
@@ -549,13 +549,19 @@ export class SchemaCompareDialog {
|
|||||||
count++;
|
count++;
|
||||||
|
|
||||||
let usr = c.options.user;
|
let usr = c.options.user;
|
||||||
let srv = c.options.server;
|
|
||||||
|
|
||||||
if (!usr) {
|
if (!usr) {
|
||||||
usr = loc.defaultText;
|
usr = loc.defaultText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let srv = c.options.server;
|
||||||
|
|
||||||
let finalName = `${srv} (${usr})`;
|
let finalName = `${srv} (${usr})`;
|
||||||
|
|
||||||
|
if (c.options.connectionName) {
|
||||||
|
finalName = c.options.connectionName;
|
||||||
|
}
|
||||||
|
|
||||||
// use previously selected server or current connection if there is one
|
// use previously selected server or current connection if there is one
|
||||||
if (endpointInfo && !isNullOrUndefined(endpointInfo.serverName) && !isNullOrUndefined(endpointInfo.serverDisplayName)
|
if (endpointInfo && !isNullOrUndefined(endpointInfo.serverName) && !isNullOrUndefined(endpointInfo.serverDisplayName)
|
||||||
&& c.options.server.toLowerCase() === endpointInfo.serverName.toLowerCase()
|
&& c.options.server.toLowerCase() === endpointInfo.serverName.toLowerCase()
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ export class SchemaCompareMainWindow {
|
|||||||
|
|
||||||
this.sourceEndpointInfo = {
|
this.sourceEndpointInfo = {
|
||||||
endpointType: mssql.SchemaCompareEndpointType.Database,
|
endpointType: mssql.SchemaCompareEndpointType.Database,
|
||||||
serverDisplayName: `${profile.serverName} (${usr})`,
|
serverDisplayName: profile.connectionName ? profile.connectionName : profile.serverName,
|
||||||
serverName: profile.serverName,
|
serverName: profile.serverName,
|
||||||
databaseName: profile.databaseName,
|
databaseName: profile.databaseName,
|
||||||
ownerUri: ownerUri,
|
ownerUri: ownerUri,
|
||||||
|
|||||||
@@ -111,11 +111,13 @@ export function setDacpacEndpointInfo(path: string): mssql.SchemaCompareEndpoint
|
|||||||
|
|
||||||
export function setDatabaseEndpointInfo(): mssql.SchemaCompareEndpointInfo {
|
export function setDatabaseEndpointInfo(): mssql.SchemaCompareEndpointInfo {
|
||||||
let endpointInfo: mssql.SchemaCompareEndpointInfo;
|
let endpointInfo: mssql.SchemaCompareEndpointInfo;
|
||||||
let dbName = 'My Database';
|
const serverName = 'My Server';
|
||||||
let serverName = 'My Server';
|
const dbName = 'My Database';
|
||||||
|
const serverDisplayName = 'My Connection';
|
||||||
|
|
||||||
endpointInfo = { ...mockDatabaseEndpoint };
|
endpointInfo = { ...mockDatabaseEndpoint };
|
||||||
endpointInfo.databaseName = dbName;
|
endpointInfo.databaseName = dbName;
|
||||||
|
endpointInfo.serverDisplayName = serverDisplayName;
|
||||||
endpointInfo.serverName = serverName;
|
endpointInfo.serverName = serverName;
|
||||||
|
|
||||||
return endpointInfo;
|
return endpointInfo;
|
||||||
|
|||||||
@@ -33,21 +33,29 @@ describe('utils: Tests to verify getEndpointName @DacFx@', function (): void {
|
|||||||
should(getEndpointName(mockDatabaseEndpoint)).equal(' ');
|
should(getEndpointName(mockDatabaseEndpoint)).equal(' ');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Should get endpoint information from ConnectionInfo', () => {
|
it('Should get only database information from ConnectionInfo if connection', () => {
|
||||||
let testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
const testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
||||||
|
testDatabaseEndpoint.serverDisplayName = 'My Connection';
|
||||||
|
testDatabaseEndpoint.connectionDetails = { ...mockConnectionInfo };
|
||||||
|
|
||||||
|
should(getEndpointName(testDatabaseEndpoint)).equal('My Connection.My Database');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Should get information from ConnectionInfo if no connection', () => {
|
||||||
|
const testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
||||||
testDatabaseEndpoint.connectionDetails = { ...mockConnectionInfo };
|
testDatabaseEndpoint.connectionDetails = { ...mockConnectionInfo };
|
||||||
|
|
||||||
should(getEndpointName(testDatabaseEndpoint)).equal('My Server.My Database');
|
should(getEndpointName(testDatabaseEndpoint)).equal('My Server.My Database');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Should get correct endpoint information from SchemaCompareEndpointInfo', () => {
|
it('Should get correct endpoint information from SchemaCompareEndpointInfo', () => {
|
||||||
let dbName = 'My Database';
|
const dbName = 'My Database';
|
||||||
let serverName = 'My Server';
|
const serverDisplayName = 'My Connection';
|
||||||
let testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
const testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
||||||
testDatabaseEndpoint.databaseName = dbName;
|
testDatabaseEndpoint.databaseName = dbName;
|
||||||
testDatabaseEndpoint.serverName = serverName;
|
testDatabaseEndpoint.serverDisplayName = serverDisplayName;
|
||||||
|
|
||||||
should(getEndpointName(testDatabaseEndpoint)).equal('My Server.My Database');
|
should(getEndpointName(testDatabaseEndpoint)).equal('My Connection.My Database');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -65,7 +73,7 @@ describe('utils: Basic tests to verify verifyConnectionAndGetOwnerUri', function
|
|||||||
|
|
||||||
it('Should return undefined for endpoint as database and no ConnectionInfo', async function (): Promise<void> {
|
it('Should return undefined for endpoint as database and no ConnectionInfo', async function (): Promise<void> {
|
||||||
let ownerUri = undefined;
|
let ownerUri = undefined;
|
||||||
let testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
const testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
||||||
testDatabaseEndpoint.connectionDetails = undefined;
|
testDatabaseEndpoint.connectionDetails = undefined;
|
||||||
|
|
||||||
ownerUri = await verifyConnectionAndGetOwnerUri(testDatabaseEndpoint, 'test');
|
ownerUri = await verifyConnectionAndGetOwnerUri(testDatabaseEndpoint, 'test');
|
||||||
@@ -84,9 +92,9 @@ describe('utils: In-depth tests to verify verifyConnectionAndGetOwnerUri', funct
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Should throw an error asking to make a connection', async function (): Promise<void> {
|
it('Should throw an error asking to make a connection', async function (): Promise<void> {
|
||||||
let getConnectionsResults: azdata.connection.ConnectionProfile[] = [];
|
const getConnectionsResults: azdata.connection.ConnectionProfile[] = [];
|
||||||
let connection = { ...mockConnectionResult };
|
const connection = { ...mockConnectionResult };
|
||||||
let testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
const testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
||||||
testDatabaseEndpoint.connectionDetails = { ...mockConnectionInfo };
|
testDatabaseEndpoint.connectionDetails = { ...mockConnectionInfo };
|
||||||
const getConnectionString = loc.getConnectionString('test');
|
const getConnectionString = loc.getConnectionString('test');
|
||||||
|
|
||||||
@@ -101,9 +109,9 @@ describe('utils: In-depth tests to verify verifyConnectionAndGetOwnerUri', funct
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Should throw an error for login failure', async function (): Promise<void> {
|
it('Should throw an error for login failure', async function (): Promise<void> {
|
||||||
let getConnectionsResults: azdata.connection.ConnectionProfile[] = [{ ...mockConnectionProfile }];
|
const getConnectionsResults: azdata.connection.ConnectionProfile[] = [{ ...mockConnectionProfile }];
|
||||||
let connection = { ...mockConnectionResult };
|
const connection = { ...mockConnectionResult };
|
||||||
let testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
const testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
||||||
testDatabaseEndpoint.connectionDetails = { ...mockConnectionInfo };
|
testDatabaseEndpoint.connectionDetails = { ...mockConnectionInfo };
|
||||||
|
|
||||||
sinon.stub(azdata.connection, 'connect').returns(<any>Promise.resolve(connection));
|
sinon.stub(azdata.connection, 'connect').returns(<any>Promise.resolve(connection));
|
||||||
@@ -118,9 +126,9 @@ describe('utils: In-depth tests to verify verifyConnectionAndGetOwnerUri', funct
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Should throw an error for login failure with openConnectionDialog but no ownerUri', async function (): Promise<void> {
|
it('Should throw an error for login failure with openConnectionDialog but no ownerUri', async function (): Promise<void> {
|
||||||
let getConnectionsResults: azdata.connection.ConnectionProfile[] = [];
|
const getConnectionsResults: azdata.connection.ConnectionProfile[] = [];
|
||||||
let connection = { ...mockConnectionResult };
|
const connection = { ...mockConnectionResult };
|
||||||
let testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
const testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
||||||
testDatabaseEndpoint.connectionDetails = { ...mockConnectionInfo };
|
testDatabaseEndpoint.connectionDetails = { ...mockConnectionInfo };
|
||||||
|
|
||||||
sinon.stub(azdata.connection, 'connect').returns(<any>Promise.resolve(connection));
|
sinon.stub(azdata.connection, 'connect').returns(<any>Promise.resolve(connection));
|
||||||
@@ -139,9 +147,9 @@ describe('utils: In-depth tests to verify verifyConnectionAndGetOwnerUri', funct
|
|||||||
|
|
||||||
it('Should not throw an error and set ownerUri appropriately', async function (): Promise<void> {
|
it('Should not throw an error and set ownerUri appropriately', async function (): Promise<void> {
|
||||||
let ownerUri = undefined;
|
let ownerUri = undefined;
|
||||||
let connection = { ...mockConnectionResult };
|
const connection = { ...mockConnectionResult };
|
||||||
let testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
const testDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = { ...mockDatabaseEndpoint };
|
||||||
let expectedOwnerUri: string = 'providerName:MSSQL|authenticationType:SqlLogin|database:My Database|server:My Server|user:My User|databaseDisplayName:My Database';
|
const expectedOwnerUri: string = 'providerName:MSSQL|authenticationType:SqlLogin|database:My Database|server:My Server|user:My User|databaseDisplayName:My Database';
|
||||||
testDatabaseEndpoint.connectionDetails = { ...mockConnectionInfo };
|
testDatabaseEndpoint.connectionDetails = { ...mockConnectionInfo };
|
||||||
|
|
||||||
sinon.stub(azdata.connection, 'connect').returns(<any>Promise.resolve(connection));
|
sinon.stub(azdata.connection, 'connect').returns(<any>Promise.resolve(connection));
|
||||||
|
|||||||
@@ -49,14 +49,14 @@ export function getEndpointName(endpoint: mssql.SchemaCompareEndpointInfo): stri
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (endpoint.endpointType === mssql.SchemaCompareEndpointType.Database) {
|
if (endpoint.endpointType === mssql.SchemaCompareEndpointType.Database) {
|
||||||
if (!endpoint.serverName && endpoint.connectionDetails) {
|
if (!endpoint.serverDisplayName && endpoint.connectionDetails) {
|
||||||
endpoint.serverName = endpoint.connectionDetails['serverName'];
|
endpoint.serverDisplayName = endpoint.connectionDetails['serverName'];
|
||||||
}
|
}
|
||||||
if (!endpoint.databaseName && endpoint.connectionDetails) {
|
if (!endpoint.databaseName && endpoint.connectionDetails) {
|
||||||
endpoint.databaseName = endpoint.connectionDetails['databaseName'];
|
endpoint.databaseName = endpoint.connectionDetails['databaseName'];
|
||||||
}
|
}
|
||||||
if (endpoint.serverName && endpoint.databaseName) {
|
if (endpoint.serverDisplayName && endpoint.databaseName) {
|
||||||
return `${endpoint.serverName}.${endpoint.databaseName}`;
|
return `${endpoint.serverDisplayName}.${endpoint.databaseName}`;
|
||||||
} else {
|
} else {
|
||||||
return ' ';
|
return ' ';
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user