private void ValidateIaasVMJob(AzureIaaSVMJob job, CommonJobQueryFilters filters) { Assert.NotNull(job.Status); Assert.NotNull(job.BackupManagementType); Assert.NotNull(job.Operation); Assert.NotNull(job.EntityFriendlyName); if (filters != null) { if (!string.IsNullOrEmpty(filters.StartTime)) { Assert.True(job.StartTime.CompareTo(DateTime.ParseExact(filters.StartTime, "yyyy-MM-dd hh:mm:ss tt", CultureInfo.InvariantCulture)) >= 0); } if (!string.IsNullOrEmpty(filters.EndTime)) { Assert.True(job.StartTime.CompareTo(DateTime.ParseExact(filters.EndTime, "yyyy-MM-dd hh:mm:ss tt", CultureInfo.InvariantCulture)) <= 0); } if (!string.IsNullOrEmpty(filters.Status)) { Assert.Equal(filters.Status, job.Status); } if (!string.IsNullOrEmpty(filters.Operation)) { Assert.Equal(filters.Operation, job.Operation); } } if (job.ExtendedInfo != null) { Assert.NotNull(job.ExtendedInfo.PropertyBag); } }
/// <summary> /// Helper function to convert ps azure vm backup policy job from service response. /// </summary> private static CmdletModel.AzureVmJob GetPSAzureVmJob(JobResource serviceClientJob) { CmdletModel.AzureVmJob response; AzureIaaSVMJob vmJob = serviceClientJob.Properties as AzureIaaSVMJob; if (vmJob.ExtendedInfo != null) { response = new CmdletModel.AzureVmJobDetails(); } else { response = new CmdletModel.AzureVmJob(); } response.JobId = GetLastIdFromFullId(serviceClientJob.Id); response.StartTime = GetJobStartTime(vmJob.StartTime); response.EndTime = vmJob.EndTime; response.Duration = GetJobDuration(vmJob.Duration); response.Status = vmJob.Status; response.VmVersion = vmJob.VirtualMachineVersion; response.WorkloadName = vmJob.EntityFriendlyName; response.ActivityId = vmJob.ActivityId; response.BackupManagementType = CmdletModel.ConversionUtils.GetPsBackupManagementType(vmJob.BackupManagementType); response.Operation = vmJob.Operation; if (vmJob.ErrorDetails != null) { response.ErrorDetails = new List <CmdletModel.AzureJobErrorInfo>(); foreach (var vmError in vmJob.ErrorDetails) { response.ErrorDetails.Add(GetPSAzureVmErrorInfo(vmError)); } } // fill extended info if present if (vmJob.ExtendedInfo != null) { CmdletModel.AzureVmJobDetails detailedResponse = response as CmdletModel.AzureVmJobDetails; detailedResponse.DynamicErrorMessage = vmJob.ExtendedInfo.DynamicErrorMessage; if (vmJob.ExtendedInfo.PropertyBag != null) { detailedResponse.Properties = new Dictionary <string, string>(); foreach (var key in vmJob.ExtendedInfo.PropertyBag.Keys) { detailedResponse.Properties.Add(key, vmJob.ExtendedInfo.PropertyBag[key]); } } if (vmJob.ExtendedInfo.TasksList != null) { detailedResponse.SubTasks = new List <CmdletModel.AzureVmJobSubTask>(); foreach (var vmJobTask in vmJob.ExtendedInfo.TasksList) { detailedResponse.SubTasks.Add(new CmdletModel.AzureVmJobSubTask() { Name = vmJobTask.TaskId, Status = vmJobTask.Status }); } } } return(response); }