mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Remove dacfx and schema compare from the azdata api (#6684)
* refactor mssql extension to directly expose dacfx and schema compare * remove more code * fix compile errors
This commit is contained in:
@@ -8,14 +8,14 @@
|
||||
import 'mocha';
|
||||
import * as vscode from 'vscode';
|
||||
import * as azdata from 'azdata';
|
||||
import * as mssql from '../../mssql/src/api/mssqlapis';
|
||||
import * as mssql from '../../mssql';
|
||||
import * as utils from './utils';
|
||||
import * as uuid from 'uuid';
|
||||
import { context } from './testContext';
|
||||
import assert = require('assert');
|
||||
import { getStandaloneServer, TestServerProfile, getBdcServer } from './testConfig';
|
||||
|
||||
let cmsService: mssql.CmsService;
|
||||
let cmsService: mssql.ICmsService;
|
||||
let server: TestServerProfile;
|
||||
let connectionId: string;
|
||||
let ownerUri: string;
|
||||
@@ -31,8 +31,7 @@ if (context.RunTest) {
|
||||
setup(async function () {
|
||||
// Set up CMS provider
|
||||
if (!cmsService) {
|
||||
let api: mssql.MssqlExtensionApi = await vscode.extensions.getExtension('Microsoft.mssql').activate();
|
||||
cmsService = await api.getCmsServiceProvider();
|
||||
cmsService = ((await vscode.extensions.getExtension(mssql.extension.name).activate() as mssql.mssql)).cmsService;
|
||||
assert(cmsService !== undefined);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ import * as utils from './utils';
|
||||
import * as path from 'path';
|
||||
import * as fs from 'fs';
|
||||
import * as os from 'os';
|
||||
import * as mssql from '../../mssql';
|
||||
import * as vscode from 'vscode';
|
||||
import { context } from './testContext';
|
||||
import { getStandaloneServer } from './testConfig';
|
||||
import assert = require('assert');
|
||||
@@ -34,7 +36,7 @@ if (context.RunTest) {
|
||||
const databaseName = 'ADS_deployDacpac_' + now.getTime().toString();
|
||||
|
||||
try {
|
||||
const dacfxService = await azdata.dataprotocol.getProvider<azdata.DacFxServicesProvider>('MSSQL', azdata.DataProviderType.DacFxServicesProvider);
|
||||
const dacfxService = ((await vscode.extensions.getExtension(mssql.extension.name).activate() as mssql.mssql)).dacFx;
|
||||
assert(dacfxService, 'DacFx Service Provider is not available');
|
||||
|
||||
// Deploy dacpac
|
||||
@@ -70,7 +72,7 @@ if (context.RunTest) {
|
||||
const databaseName = 'ADS_importBacpac_' + now.getTime().toString();
|
||||
|
||||
try {
|
||||
let dacfxService = await azdata.dataprotocol.getProvider<azdata.DacFxServicesProvider>('MSSQL', azdata.DataProviderType.DacFxServicesProvider);
|
||||
let dacfxService = ((await vscode.extensions.getExtension(mssql.extension.name).activate() as mssql.mssql)).dacFx;
|
||||
assert(dacfxService, 'DacFx Service Provider is not available');
|
||||
|
||||
// Import bacpac
|
||||
|
||||
@@ -52,9 +52,7 @@ export function activate(context: vscode.ExtensionContext) {
|
||||
|
||||
const features_mssql: azdata.DataProviderType[] = [
|
||||
azdata.DataProviderType.AgentServicesProvider,
|
||||
azdata.DataProviderType.DacFxServicesProvider,
|
||||
azdata.DataProviderType.IconProvider,
|
||||
azdata.DataProviderType.SchemaCompareServicesProvider
|
||||
azdata.DataProviderType.IconProvider
|
||||
];
|
||||
|
||||
features_mssql.push(...commonFeatures);
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
|
||||
import 'mocha';
|
||||
import * as azdata from 'azdata';
|
||||
import * as vscode from 'vscode';
|
||||
import * as utils from './utils';
|
||||
import * as mssql from '../../mssql';
|
||||
import * as os from 'os';
|
||||
import * as fs from 'fs';
|
||||
const path = require('path');
|
||||
@@ -16,7 +18,7 @@ import assert = require('assert');
|
||||
import { getStandaloneServer } from './testConfig';
|
||||
import { stressify } from 'adstest';
|
||||
|
||||
let schemaCompareService: azdata.SchemaCompareServicesProvider;
|
||||
let schemaCompareService: mssql.ISchemaCompareService;
|
||||
let schemaCompareTester: SchemaCompareTester;
|
||||
let dacpac1: string = path.join(__dirname, 'testData/Database1.dacpac');
|
||||
let dacpac2: string = path.join(__dirname, 'testData/Database2.dacpac');
|
||||
@@ -29,7 +31,7 @@ if (context.RunTest) {
|
||||
suiteSetup(async function () {
|
||||
let attempts: number = 20;
|
||||
while (attempts > 0) {
|
||||
schemaCompareService = await azdata.dataprotocol.getProvider<azdata.SchemaCompareServicesProvider>('MSSQL', azdata.DataProviderType.SchemaCompareServicesProvider);
|
||||
schemaCompareService = ((await vscode.extensions.getExtension(mssql.extension.name).activate() as mssql.mssql)).schemaCompare;
|
||||
if (schemaCompareService) {
|
||||
break;
|
||||
}
|
||||
@@ -60,8 +62,8 @@ class SchemaCompareTester {
|
||||
const now = new Date();
|
||||
const operationId = 'testOperationId_' + now.getTime().toString();
|
||||
|
||||
let source: azdata.SchemaCompareEndpointInfo = {
|
||||
endpointType: azdata.SchemaCompareEndpointType.Dacpac,
|
||||
let source: mssql.SchemaCompareEndpointInfo = {
|
||||
endpointType: mssql.SchemaCompareEndpointType.Dacpac,
|
||||
packageFilePath: dacpac1,
|
||||
serverDisplayName: '',
|
||||
serverName: '',
|
||||
@@ -69,8 +71,8 @@ class SchemaCompareTester {
|
||||
ownerUri: '',
|
||||
connectionDetails: undefined
|
||||
};
|
||||
let target: azdata.SchemaCompareEndpointInfo = {
|
||||
endpointType: azdata.SchemaCompareEndpointType.Dacpac,
|
||||
let target: mssql.SchemaCompareEndpointInfo = {
|
||||
endpointType: mssql.SchemaCompareEndpointType.Dacpac,
|
||||
packageFilePath: dacpac2,
|
||||
serverDisplayName: '',
|
||||
serverName: '',
|
||||
@@ -117,7 +119,7 @@ class SchemaCompareTester {
|
||||
const targetDB: string = 'ads_schemaCompare_targetDB_' + now.getTime().toString();
|
||||
|
||||
try {
|
||||
let dacfxService = await azdata.dataprotocol.getProvider<azdata.DacFxServicesProvider>('MSSQL', azdata.DataProviderType.DacFxServicesProvider);
|
||||
let dacfxService = ((await vscode.extensions.getExtension(mssql.extension.name).activate() as mssql.mssql)).dacFx;
|
||||
assert(dacfxService, 'DacFx Service Provider is not available');
|
||||
let result1 = await dacfxService.deployDacpac(dacpac1, sourceDB, true, ownerUri, azdata.TaskExecutionMode.execute);
|
||||
let result2 = await dacfxService.deployDacpac(dacpac2, targetDB, true, ownerUri, azdata.TaskExecutionMode.execute);
|
||||
@@ -129,8 +131,8 @@ class SchemaCompareTester {
|
||||
|
||||
assert(schemaCompareService, 'Schema Compare Service Provider is not available');
|
||||
|
||||
let source: azdata.SchemaCompareEndpointInfo = {
|
||||
endpointType: azdata.SchemaCompareEndpointType.Database,
|
||||
let source: mssql.SchemaCompareEndpointInfo = {
|
||||
endpointType: mssql.SchemaCompareEndpointType.Database,
|
||||
packageFilePath: '',
|
||||
serverDisplayName: '',
|
||||
serverName: server.serverName,
|
||||
@@ -138,8 +140,8 @@ class SchemaCompareTester {
|
||||
ownerUri: ownerUri,
|
||||
connectionDetails: undefined
|
||||
};
|
||||
let target: azdata.SchemaCompareEndpointInfo = {
|
||||
endpointType: azdata.SchemaCompareEndpointType.Database,
|
||||
let target: mssql.SchemaCompareEndpointInfo = {
|
||||
endpointType: mssql.SchemaCompareEndpointType.Database,
|
||||
packageFilePath: '',
|
||||
serverDisplayName: '',
|
||||
serverName: server.serverName,
|
||||
@@ -197,14 +199,14 @@ class SchemaCompareTester {
|
||||
const targetDB: string = 'ads_schemaCompare_targetDB_' + now.getTime().toString();
|
||||
|
||||
try {
|
||||
let dacfxService = await azdata.dataprotocol.getProvider<azdata.DacFxServicesProvider>('MSSQL', azdata.DataProviderType.DacFxServicesProvider);
|
||||
let dacfxService = (vscode.extensions.getExtension('mssql').exports as mssql.mssql).dacFx;
|
||||
assert(dacfxService, 'DacFx Service Provider is not available');
|
||||
let result = await dacfxService.deployDacpac(path.join(__dirname, 'testData/Database2.dacpac'), targetDB, true, ownerUri, azdata.TaskExecutionMode.execute);
|
||||
|
||||
assert(result.success === true, 'Deploy database 2 (target) should succeed');
|
||||
|
||||
let source: azdata.SchemaCompareEndpointInfo = {
|
||||
endpointType: azdata.SchemaCompareEndpointType.Dacpac,
|
||||
let source: mssql.SchemaCompareEndpointInfo = {
|
||||
endpointType: mssql.SchemaCompareEndpointType.Dacpac,
|
||||
packageFilePath: dacpac1,
|
||||
serverDisplayName: '',
|
||||
serverName: '',
|
||||
@@ -212,8 +214,8 @@ class SchemaCompareTester {
|
||||
ownerUri: ownerUri,
|
||||
connectionDetails: undefined
|
||||
};
|
||||
let target: azdata.SchemaCompareEndpointInfo = {
|
||||
endpointType: azdata.SchemaCompareEndpointType.Database,
|
||||
let target: mssql.SchemaCompareEndpointInfo = {
|
||||
endpointType: mssql.SchemaCompareEndpointType.Database,
|
||||
packageFilePath: '',
|
||||
serverDisplayName: '',
|
||||
serverName: server.serverName,
|
||||
@@ -250,7 +252,7 @@ class SchemaCompareTester {
|
||||
}
|
||||
}
|
||||
|
||||
private assertSchemaCompareResult(schemaCompareResult: azdata.SchemaCompareResult, operationId: string): void {
|
||||
private assertSchemaCompareResult(schemaCompareResult: mssql.SchemaCompareResult, operationId: string): void {
|
||||
assert(schemaCompareResult.areEqual === false, `Expected: the schemas are not to be equal Actual: Equal`);
|
||||
assert(schemaCompareResult.errorMessage === null, `Expected: there should be no error. Actual Error message: "${schemaCompareResult.errorMessage}"`);
|
||||
assert(schemaCompareResult.success === true, `Expected: success in schema compare, Actual: Failure`);
|
||||
@@ -291,4 +293,4 @@ class SchemaCompareTester {
|
||||
assert(tasks !== null && tasks.tasks.length > 0, 'Tasks should still show in list. This is to ensure that the tasks actually complete.');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,4 +5,4 @@
|
||||
/// <reference path='../../../../src/sql/azdata.d.ts'/>
|
||||
/// <reference path='../../../../src/sql/azdata.proposed.d.ts'/>
|
||||
/// <reference path='../../../../src/sql/azdata.test.d.ts'/>
|
||||
/// <reference types='@types/node'/>
|
||||
/// <reference types='@types/node'/>
|
||||
|
||||
Reference in New Issue
Block a user