public override CommandProperties ProcessCommandCmdlet() { MigrateSyncCompleteCommandProperties properties = new MigrateSyncCompleteCommandProperties(); if (MyInvocation.BoundParameters.ContainsKey(DatabaseName)) { properties.Input = new MigrateSyncCompleteCommandInput(); properties.Input.DatabaseName = MyInvocation.BoundParameters[DatabaseName] as string; } return(properties); }
public void RunCommandSucceeds() { var dmsClientHandler = new RecordedDelegatingHandler() { StatusCodeToReturn = HttpStatusCode.OK }; var resourcesHandler = new RecordedDelegatingHandler() { StatusCodeToReturn = HttpStatusCode.OK }; using (MockContext context = MockContext.Start(this.GetType())) { var resourceGroup = CreateResourceGroup(context, resourcesHandler, ResourceGroupName, TestConfiguration.Location); var dmsClient = Utilities.GetDataMigrationManagementClient(context, dmsClientHandler); var service = CreateDMSInstance(context, dmsClient, resourceGroup, DmsDeploymentName); var project = CreateDMSProject(context, dmsClient, resourceGroup, service.Name, DmsProjectName); var task = CreateDMSSyncTask(context, dmsClient, resourceGroup, service, project.Name, DmsTaskName); bool wait = true; do { var getResult = dmsClient.Tasks.Get(resourceGroup.Name, service.Name, project.Name, task.Name, "output"); Assert.True(getResult.Properties.State.Equals(TaskState.Queued) || getResult.Properties.State.Equals(TaskState.Running)); MigrateSqlServerSqlDbSyncTaskProperties properties = (MigrateSqlServerSqlDbSyncTaskProperties)getResult.Properties; var databaseLevelResult = (MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel)properties.Output.Where(o => o.GetType() == typeof(MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel)).FirstOrDefault(); if (databaseLevelResult != null && databaseLevelResult.MigrationState == SyncDatabaseMigrationReportingState.READYTOCOMPLETE) { wait = false; } }while (wait); var commandProperties = new MigrateSyncCompleteCommandProperties { Input = new MigrateSyncCompleteCommandInput { DatabaseName = "DatabaseName" }, }; var command = dmsClient.Tasks.Command(resourceGroup.Name, service.Name, project.Name, task.Name, commandProperties); Assert.Equal(command.State, CommandState.Accepted); } // Wait for resource group deletion to complete. Utilities.WaitIfNotInPlaybackMode(); }