mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-17 02:51:36 -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 { isNullOrUndefined } from 'util';
|
||||
const localize = nls.loadMessageBundle();
|
||||
const msSqlProvider = 'MSSQL';
|
||||
const diffEditorTitle = localize('schemaCompare.CompareDetailsTitle', 'Compare Details');
|
||||
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.');
|
||||
@@ -74,7 +73,7 @@ export class SchemaCompareMainWindow {
|
||||
public sourceEndpointInfo: mssql.SchemaCompareEndpointInfo;
|
||||
public targetEndpointInfo: mssql.SchemaCompareEndpointInfo;
|
||||
|
||||
constructor() {
|
||||
constructor(private schemaCompareService?: mssql.ISchemaCompareService) {
|
||||
this.SchemaCompareActionMap = new Map<Number, string>();
|
||||
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Delete] = localize('schemaCompare.deleteAction', 'Delete');
|
||||
this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Change] = localize('schemaCompare.changeAction', 'Change');
|
||||
@@ -274,7 +273,7 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
public async execute(): Promise<void> {
|
||||
Telemetry.sendTelemetryEvent('SchemaComparisonStarted');
|
||||
const service = await SchemaCompareMainWindow.getService(msSqlProvider);
|
||||
const service = await this.getService();
|
||||
if (!this.operationId) {
|
||||
// create once per page
|
||||
this.operationId = generateGuid();
|
||||
@@ -590,7 +589,7 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
// cancel compare
|
||||
if (this.operationId) {
|
||||
const service = await SchemaCompareMainWindow.getService(msSqlProvider);
|
||||
const service = await this.getService();
|
||||
const result = await service.schemaCompareCancel(this.operationId);
|
||||
|
||||
if (!result || !result.success) {
|
||||
@@ -622,7 +621,7 @@ export class SchemaCompareMainWindow {
|
||||
'startTime:': Date.now().toString(),
|
||||
'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);
|
||||
if (!result || !result.success) {
|
||||
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
|
||||
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);
|
||||
if (!result || !result.success) {
|
||||
Telemetry.sendTelemetryEvent('SchemaCompareApplyFailed', {
|
||||
@@ -870,7 +869,7 @@ export class SchemaCompareMainWindow {
|
||||
}
|
||||
|
||||
let fileUri = fileUris[0];
|
||||
const service = await SchemaCompareMainWindow.getService('MSSQL');
|
||||
const service = await this.getService();
|
||||
let startTime = Date.now();
|
||||
const result = await service.schemaCompareOpenScmp(fileUri.fsPath);
|
||||
if (!result || !result.success) {
|
||||
@@ -969,7 +968,7 @@ export class SchemaCompareMainWindow {
|
||||
|
||||
let startTime = Date.now();
|
||||
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);
|
||||
if (!result || !result.success) {
|
||||
Telemetry.sendTelemetryEvent('SchemaCompareSaveScmpFailed', {
|
||||
@@ -1012,14 +1011,16 @@ export class SchemaCompareMainWindow {
|
||||
}
|
||||
}
|
||||
|
||||
private static async getService(providerName: string): Promise<mssql.ISchemaCompareService> {
|
||||
let service = (vscode.extensions.getExtension(mssql.extension.name).exports as mssql.IExtension).schemaCompare;
|
||||
return service;
|
||||
private async getService(): Promise<mssql.ISchemaCompareService> {
|
||||
if (isNullOrUndefined(this.schemaCompareService)) {
|
||||
this.schemaCompareService = (vscode.extensions.getExtension(mssql.extension.name).exports as mssql.IExtension).schemaCompare;
|
||||
}
|
||||
return this.schemaCompareService;
|
||||
}
|
||||
|
||||
private async GetDefaultDeploymentOptions(): Promise<void> {
|
||||
// Same as dacfx default options
|
||||
const service = await SchemaCompareMainWindow.getService(msSqlProvider);
|
||||
const service = await this.getService();
|
||||
let result = await service.schemaCompareGetDefaultOptions();
|
||||
this.setDeploymentOptions(result.defaultDeploymentOptions);
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ describe('SchemaCompareResult.start', function (): void {
|
||||
it('Should be correct when created.', async function (): Promise<void> {
|
||||
let sc = new SchemaCompareTestService();
|
||||
|
||||
let result = new SchemaCompareMainWindow();
|
||||
let result = new SchemaCompareMainWindow(sc);
|
||||
await result.start(null);
|
||||
let promise = new Promise(resolve => setTimeout(resolve, 5000)); // to ensure comparison result view is initialized
|
||||
await promise;
|
||||
@@ -80,6 +80,6 @@ describe('SchemaCompareResult.start', function (): void {
|
||||
await result.execute();
|
||||
|
||||
should(result.getComparisonResult() !== undefined);
|
||||
should(result.getComparisonResult().operationId !== undefined);
|
||||
should(result.getComparisonResult().operationId === 'Test Operation Id');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user