Combine project deploy settings into one (#16383)

This commit is contained in:
Charles Gagnon
2021-07-21 16:15:25 -07:00
committed by GitHub
parent 87633faaa4
commit c1f4c50177
6 changed files with 37 additions and 52 deletions

View File

@@ -15,7 +15,7 @@ import * as TypeMoq from 'typemoq';
import { PublishDatabaseDialog } from '../../dialogs/publishDatabaseDialog';
import { Project } from '../../models/project';
import { ProjectsController } from '../../controllers/projectController';
import { IPublishSettings, IGenerateScriptSettings } from '../../models/IPublishSettings';
import { IDeploySettings } from '../../models/IDeploySettings';
import { emptySqlDatabaseProjectTypeId } from '../../common/constants';
import { mockDacFxOptionsResult } from '../testContext';
@@ -70,13 +70,12 @@ describe('Publish Database Dialog', () => {
dialog.setup(x => x.getServerName()).returns(() => 'MockServer');
dialog.callBase = true;
let profile: IPublishSettings | IGenerateScriptSettings | undefined;
let profile: IDeploySettings | undefined;
const expectedPublish: IPublishSettings = {
const expectedPublish: IDeploySettings = {
databaseName: 'MockDatabaseName',
serverName: 'MockServer',
connectionUri: 'Mock|Connection|Uri',
upgradeExisting: true,
sqlCmdVariables: {
'ProdDatabaseName': 'MyProdDatabase',
'BackupDatabaseName': 'MyBackupDatabase'
@@ -90,7 +89,7 @@ describe('Publish Database Dialog', () => {
should(profile).deepEqual(expectedPublish);
const expectedGenScript: IGenerateScriptSettings = {
const expectedGenScript: IDeploySettings = {
databaseName: 'MockDatabaseName',
serverName: 'MockServer',
connectionUri: 'Mock|Connection|Uri',

View File

@@ -23,7 +23,6 @@ import { promises as fs } from 'fs';
import { createContext, TestContext, mockDacFxResult, mockConnectionProfile } from './testContext';
import { Project, reservedProjectFolders, SystemDatabase, FileProjectEntry, SystemDatabaseReferenceProjectEntry } from '../models/project';
import { PublishDatabaseDialog } from '../dialogs/publishDatabaseDialog';
import { IPublishSettings, IGenerateScriptSettings } from '../models/IPublishSettings';
import { ProjectRootTreeItem } from '../models/tree/projectTreeItem';
import { FolderNode, FileNode } from '../models/tree/fileFolderTreeItem';
import { BaseProjectTreeItem } from '../models/tree/baseTreeItem';
@@ -386,12 +385,12 @@ describe('ProjectsController', function (): void {
let projController = TypeMoq.Mock.ofType(ProjectsController);
projController.callBase = true;
projController.setup(x => x.getPublishDialog(TypeMoq.It.isAny())).returns(() => publishDialog.object);
projController.setup(x => x.publishProjectCallback(TypeMoq.It.isAny(), TypeMoq.It.is((_): _ is IPublishSettings => true))).returns(() => {
projController.setup(x => x.publishOrScriptProject(TypeMoq.It.isAny(), TypeMoq.It.isAny(), true)).returns(() => {
holler = publishHoller;
return Promise.resolve(undefined);
});
projController.setup(x => x.publishProjectCallback(TypeMoq.It.isAny(), TypeMoq.It.is((_): _ is IGenerateScriptSettings => true))).returns(() => {
projController.setup(x => x.publishOrScriptProject(TypeMoq.It.isAny(), TypeMoq.It.isAny(), false)).returns(() => {
holler = generateHoller;
return Promise.resolve(undefined);
});
@@ -430,7 +429,7 @@ describe('ProjectsController', function (): void {
const proj = await testUtils.createTestProject(baselines.openProjectFileBaseline);
await projController.object.publishProjectCallback(proj, { connectionUri: '', databaseName: '' , serverName: ''});
await projController.object.publishOrScriptProject(proj, { connectionUri: '', databaseName: '' , serverName: ''}, false);
should(builtDacpacPath).not.equal('', 'built dacpac path should be set');
should(publishedDacpacPath).not.equal('', 'published dacpac path should be set');