コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }