mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
Passing test sc service to unit test (#7006)
* passing test sc service to for UT execution
This commit is contained in:
@@ -15,7 +15,6 @@ import { getTelemetryErrorType, getEndpointName, verifyConnectionAndGetOwnerUri
|
|||||||
import { SchemaCompareDialog } from './dialogs/schemaCompareDialog';
|
import { SchemaCompareDialog } from './dialogs/schemaCompareDialog';
|
||||||
import { isNullOrUndefined } from 'util';
|
import { isNullOrUndefined } from 'util';
|
||||||
const localize = nls.loadMessageBundle();
|
const localize = nls.loadMessageBundle();
|
||||||
const msSqlProvider = 'MSSQL';
|
|
||||||
const diffEditorTitle = localize('schemaCompare.CompareDetailsTitle', 'Compare Details');
|
const diffEditorTitle = localize('schemaCompare.CompareDetailsTitle', 'Compare Details');
|
||||||
const applyConfirmation = localize('schemaCompare.ApplyConfirmation', 'Are you sure you want to update the target?');
|
const applyConfirmation = localize('schemaCompare.ApplyConfirmation', 'Are you sure you want to update the target?');
|
||||||
const reCompareToRefeshMessage = localize('schemaCompare.RecompareToRefresh', 'Press Compare to refresh the comparison.');
|
const reCompareToRefeshMessage = localize('schemaCompare.RecompareToRefresh', 'Press Compare to refresh the comparison.');
|
||||||
@@ -74,7 +73,7 @@ export class SchemaCompareMainWindow {
|
|||||||
public sourceEndpointInfo: mssql.SchemaCompareEndpointInfo;
|
public sourceEndpointInfo: mssql.SchemaCompareEndpointInfo;
|
||||||
public targetEndpointInfo: mssql.SchemaCompareEndpointInfo;
|
public targetEndpointInfo: mssql.SchemaCompareEndpointInfo;
|
||||||
|
|
||||||
constructor() {
|
constructor(private schemaCompareService?: mssql.ISchemaCompareService) {
|
||||||
this.SchemaCompareActionMap = new Map<Number, string>();
|
this.SchemaCompareActionMap = new Map<Number, string>();
|
||||||
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Delete] = localize('schemaCompare.deleteAction', 'Delete');
|
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Delete] = localize('schemaCompare.deleteAction', 'Delete');
|
||||||
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Change] = localize('schemaCompare.changeAction', 'Change');
|
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Change] = localize('schemaCompare.changeAction', 'Change');
|
||||||
@@ -274,7 +273,7 @@ export class SchemaCompareMainWindow {
|
|||||||
|
|
||||||
public async execute(): Promise<void> {
|
public async execute(): Promise<void> {
|
||||||
Telemetry.sendTelemetryEvent('SchemaComparisonStarted');
|
Telemetry.sendTelemetryEvent('SchemaComparisonStarted');
|
||||||
const service = await SchemaCompareMainWindow.getService(msSqlProvider);
|
const service = await this.getService();
|
||||||
if (!this.operationId) {
|
if (!this.operationId) {
|
||||||
// create once per page
|
// create once per page
|
||||||
this.operationId = generateGuid();
|
this.operationId = generateGuid();
|
||||||
@@ -590,7 +589,7 @@ export class SchemaCompareMainWindow {
|
|||||||
|
|
||||||
// cancel compare
|
// cancel compare
|
||||||
if (this.operationId) {
|
if (this.operationId) {
|
||||||
const service = await SchemaCompareMainWindow.getService(msSqlProvider);
|
const service = await this.getService();
|
||||||
const result = await service.schemaCompareCancel(this.operationId);
|
const result = await service.schemaCompareCancel(this.operationId);
|
||||||
|
|
||||||
if (!result || !result.success) {
|
if (!result || !result.success) {
|
||||||
@@ -622,7 +621,7 @@ export class SchemaCompareMainWindow {
|
|||||||
'startTime:': Date.now().toString(),
|
'startTime:': Date.now().toString(),
|
||||||
'operationId': this.comparisonResult.operationId
|
'operationId': this.comparisonResult.operationId
|
||||||
});
|
});
|
||||||
const service = await SchemaCompareMainWindow.getService(msSqlProvider);
|
const service = await this.getService();
|
||||||
const result = await service.schemaCompareGenerateScript(this.comparisonResult.operationId, this.targetEndpointInfo.serverName, this.targetEndpointInfo.databaseName, azdata.TaskExecutionMode.script);
|
const result = await service.schemaCompareGenerateScript(this.comparisonResult.operationId, this.targetEndpointInfo.serverName, this.targetEndpointInfo.databaseName, azdata.TaskExecutionMode.script);
|
||||||
if (!result || !result.success) {
|
if (!result || !result.success) {
|
||||||
Telemetry.sendTelemetryEvent('SchemaCompareGenerateScriptFailed', {
|
Telemetry.sendTelemetryEvent('SchemaCompareGenerateScriptFailed', {
|
||||||
@@ -682,7 +681,7 @@ export class SchemaCompareMainWindow {
|
|||||||
// disable apply and generate script buttons because the results are no longer valid after applying the changes
|
// disable apply and generate script buttons because the results are no longer valid after applying the changes
|
||||||
this.setButtonsForRecompare();
|
this.setButtonsForRecompare();
|
||||||
|
|
||||||
const service = await SchemaCompareMainWindow.getService(msSqlProvider);
|
const service = await this.getService();
|
||||||
const result = await service.schemaComparePublishChanges(this.comparisonResult.operationId, this.targetEndpointInfo.serverName, this.targetEndpointInfo.databaseName, azdata.TaskExecutionMode.execute);
|
const result = await service.schemaComparePublishChanges(this.comparisonResult.operationId, this.targetEndpointInfo.serverName, this.targetEndpointInfo.databaseName, azdata.TaskExecutionMode.execute);
|
||||||
if (!result || !result.success) {
|
if (!result || !result.success) {
|
||||||
Telemetry.sendTelemetryEvent('SchemaCompareApplyFailed', {
|
Telemetry.sendTelemetryEvent('SchemaCompareApplyFailed', {
|
||||||
@@ -870,7 +869,7 @@ export class SchemaCompareMainWindow {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let fileUri = fileUris[0];
|
let fileUri = fileUris[0];
|
||||||
const service = await SchemaCompareMainWindow.getService('MSSQL');
|
const service = await this.getService();
|
||||||
let startTime = Date.now();
|
let startTime = Date.now();
|
||||||
const result = await service.schemaCompareOpenScmp(fileUri.fsPath);
|
const result = await service.schemaCompareOpenScmp(fileUri.fsPath);
|
||||||
if (!result || !result.success) {
|
if (!result || !result.success) {
|
||||||
@@ -969,7 +968,7 @@ export class SchemaCompareMainWindow {
|
|||||||
|
|
||||||
let startTime = Date.now();
|
let startTime = Date.now();
|
||||||
Telemetry.sendTelemetryEvent('SchemaCompareSaveScmp');
|
Telemetry.sendTelemetryEvent('SchemaCompareSaveScmp');
|
||||||
const service = await SchemaCompareMainWindow.getService(msSqlProvider);
|
const service = await this.getService();
|
||||||
const result = await service.schemaCompareSaveScmp(this.sourceEndpointInfo, this.targetEndpointInfo, azdata.TaskExecutionMode.execute, this.deploymentOptions, filePath.fsPath, sourceExcludes, targetExcludes);
|
const result = await service.schemaCompareSaveScmp(this.sourceEndpointInfo, this.targetEndpointInfo, azdata.TaskExecutionMode.execute, this.deploymentOptions, filePath.fsPath, sourceExcludes, targetExcludes);
|
||||||
if (!result || !result.success) {
|
if (!result || !result.success) {
|
||||||
Telemetry.sendTelemetryEvent('SchemaCompareSaveScmpFailed', {
|
Telemetry.sendTelemetryEvent('SchemaCompareSaveScmpFailed', {
|
||||||
@@ -1012,14 +1011,16 @@ export class SchemaCompareMainWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static async getService(providerName: string): Promise<mssql.ISchemaCompareService> {
|
private async getService(): Promise<mssql.ISchemaCompareService> {
|
||||||
let service = (vscode.extensions.getExtension(mssql.extension.name).exports as mssql.IExtension).schemaCompare;
|
if (isNullOrUndefined(this.schemaCompareService)) {
|
||||||
return service;
|
this.schemaCompareService = (vscode.extensions.getExtension(mssql.extension.name).exports as mssql.IExtension).schemaCompare;
|
||||||
|
}
|
||||||
|
return this.schemaCompareService;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async GetDefaultDeploymentOptions(): Promise<void> {
|
private async GetDefaultDeploymentOptions(): Promise<void> {
|
||||||
// Same as dacfx default options
|
// Same as dacfx default options
|
||||||
const service = await SchemaCompareMainWindow.getService(msSqlProvider);
|
const service = await this.getService();
|
||||||
let result = await service.schemaCompareGetDefaultOptions();
|
let result = await service.schemaCompareGetDefaultOptions();
|
||||||
this.setDeploymentOptions(result.defaultDeploymentOptions);
|
this.setDeploymentOptions(result.defaultDeploymentOptions);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ describe('SchemaCompareResult.start', function (): void {
|
|||||||
it('Should be correct when created.', async function (): Promise<void> {
|
it('Should be correct when created.', async function (): Promise<void> {
|
||||||
let sc = new SchemaCompareTestService();
|
let sc = new SchemaCompareTestService();
|
||||||
|
|
||||||
let result = new SchemaCompareMainWindow();
|
let result = new SchemaCompareMainWindow(sc);
|
||||||
await result.start(null);
|
await result.start(null);
|
||||||
let promise = new Promise(resolve => setTimeout(resolve, 5000)); // to ensure comparison result view is initialized
|
let promise = new Promise(resolve => setTimeout(resolve, 5000)); // to ensure comparison result view is initialized
|
||||||
await promise;
|
await promise;
|
||||||
@@ -80,6 +80,6 @@ describe('SchemaCompareResult.start', function (): void {
|
|||||||
await result.execute();
|
await result.execute();
|
||||||
|
|
||||||
should(result.getComparisonResult() !== undefined);
|
should(result.getComparisonResult() !== undefined);
|
||||||
should(result.getComparisonResult().operationId !== undefined);
|
should(result.getComparisonResult().operationId === 'Test Operation Id');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user