public async void GenerateDeployPlan() { var result = GetLiveAutoCompleteTestObjects(); SqlTestDb sourceDb = await SqlTestDb.CreateNewAsync(TestServerType.OnPrem, false, null, SourceScript, "DacFxGenerateDeployPlanTest"); SqlTestDb targetDb = null; DacFxService service = new DacFxService(); string folderPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "DacFxTest"); Directory.CreateDirectory(folderPath); try { var extractParams = new ExtractParams { DatabaseName = sourceDb.DatabaseName, PackageFilePath = Path.Combine(folderPath, string.Format("{0}.dacpac", sourceDb.DatabaseName)), ApplicationName = "test", ApplicationVersion = "1.0.0.0" }; ExtractOperation extractOperation = new ExtractOperation(extractParams, result.ConnectionInfo); service.PerformOperation(extractOperation, TaskExecutionMode.Execute); // generate deploy plan for deploying dacpac to targetDb targetDb = await SqlTestDb.CreateNewAsync(TestServerType.OnPrem, false, null, TargetScript, "DacFxGenerateDeployPlanTestTarget"); var generateDeployPlanParams = new GenerateDeployPlanParams { PackageFilePath = extractParams.PackageFilePath, DatabaseName = targetDb.DatabaseName, }; GenerateDeployPlanOperation generateDeployPlanOperation = new GenerateDeployPlanOperation(generateDeployPlanParams, result.ConnectionInfo); service.PerformOperation(generateDeployPlanOperation, TaskExecutionMode.Execute); string report = generateDeployPlanOperation.DeployReport; Assert.NotNull(report); Assert.Contains("Create", report); Assert.Contains("Drop", report); Assert.Contains("Alter", report); VerifyAndCleanup(extractParams.PackageFilePath); } finally { sourceDb.Cleanup(); if (targetDb != null) { targetDb.Cleanup(); } } }
private async Task <Mock <RequestContext <DacFxResult> > > SendAndValidateGenerateDeployPlanRequest() { var result = GetLiveAutoCompleteTestObjects(); SqlTestDb sourceDb = await SqlTestDb.CreateNewAsync(TestServerType.OnPrem, false, null, SourceScript, "DacFxGenerateDeployPlanTest"); DacFxService service = new DacFxService(); string folderPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "DacFxTest"); Directory.CreateDirectory(folderPath); var extractParams = new ExtractParams { DatabaseName = sourceDb.DatabaseName, PackageFilePath = Path.Combine(folderPath, string.Format("{0}.dacpac", sourceDb.DatabaseName)), ApplicationName = "test", ApplicationVersion = "1.0.0.0" }; ExtractOperation extractOperation = new ExtractOperation(extractParams, result.ConnectionInfo); service.PerformOperation(extractOperation); // generate deploy plan for deploying dacpac to targetDb var generateDeployPlanRequestContext = new Mock <RequestContext <DacFxResult> >(); generateDeployPlanRequestContext.Setup(x => x.SendResult(It.IsAny <DacFxResult>())).Returns(Task.FromResult(new object())); SqlTestDb targetDb = await SqlTestDb.CreateNewAsync(TestServerType.OnPrem, false, null, TargetScript, "DacFxGenerateDeployPlanTestTarget"); var generateDeployPlanParams = new GenerateDeployPlanParams { PackageFilePath = extractParams.PackageFilePath, DatabaseName = targetDb.DatabaseName, }; GenerateDeployPlanOperation generateDeployPlanOperation = new GenerateDeployPlanOperation(generateDeployPlanParams, result.ConnectionInfo); service.PerformOperation(generateDeployPlanOperation); string report = generateDeployPlanOperation.DeployReport; Assert.NotNull(report); Assert.Contains("Create", report); Assert.Contains("Drop", report); Assert.Contains("Alter", report); // cleanup VerifyAndCleanup(extractParams.PackageFilePath); sourceDb.Cleanup(); targetDb.Cleanup(); return(generateDeployPlanRequestContext); }
public async void GenerateDeployPlan() { var result = GetLiveAutoCompleteTestObjects(); SqlTestDb sourceDb = await SqlTestDb.CreateNewAsync(TestServerType.OnPrem, false, null, SourceScript, "DacFxGenerateDeployPlanTest"); SqlTestDb targetDb = null; try { DacFxService service = new DacFxService(); string dacpacPath = InitialExtract(service, sourceDb, result); // generate deploy plan for deploying dacpac to targetDb targetDb = await SqlTestDb.CreateNewAsync(TestServerType.OnPrem, false, null, TargetScript, "DacFxGenerateDeployPlanTestTarget"); var generateDeployPlanParams = new GenerateDeployPlanParams { PackageFilePath = dacpacPath, DatabaseName = targetDb.DatabaseName, }; GenerateDeployPlanOperation generateDeployPlanOperation = new GenerateDeployPlanOperation(generateDeployPlanParams, result.ConnectionInfo); service.PerformOperation(generateDeployPlanOperation, TaskExecutionMode.Execute); string report = generateDeployPlanOperation.DeployReport; Assert.NotNull(report); Assert.Contains("Create", report); Assert.Contains("Drop", report); Assert.Contains("Alter", report); VerifyAndCleanup(dacpacPath); } finally { sourceDb.Cleanup(); if (targetDb != null) { targetDb.Cleanup(); } } }