public BaseRecoveryServicesJobResponse DeleteProtectedItem(string rsVaultRgName, string rsVaultName, string fabricName, string containerName, string protectedItemName) { var customHeader = CommonTestHelper.GetCustomRequestHeaders(); BaseRecoveryServicesJobResponse response = Client.ProtectedItems.DeleteProtectedItem(rsVaultRgName, rsVaultName, fabricName, containerName, protectedItemName, customHeader); Assert.NotNull(response); Assert.Equal(HttpStatusCode.Accepted, response.StatusCode); Assert.NotNull(response.Location); Assert.NotNull(response.AzureAsyncOperation); Assert.NotNull(response.RetryAfter); var operationStatusResponse = Client.GetOperationStatusByURLAsync(response.AzureAsyncOperation, customHeader); while (operationStatusResponse.Result.OperationStatus.Status == OperationStatusValues.InProgress) { if (HttpMockServer.Mode == HttpRecorderMode.Record) { System.Threading.Thread.Sleep(5 * 1000); } operationStatusResponse = Client.GetOperationStatusByURLAsync(response.AzureAsyncOperation, customHeader); } operationStatusResponse = Client.GetOperationStatusByURLAsync(response.AzureAsyncOperation, CommonTestHelper.GetCustomRequestHeaders()); var operationJobResponse = (OperationStatusJobExtendedInfo)operationStatusResponse.Result.OperationStatus.Properties; Assert.NotNull(operationJobResponse.JobId); Assert.Equal(OperationStatusValues.Succeeded, operationStatusResponse.Result.OperationStatus.Status); return(response); }
public string GetJobStatus(string vaultRgName, string vaultName, string jobId) { var result = Client.Jobs.GetAsync(vaultRgName, vaultName, jobId, CommonTestHelper.GetCustomRequestHeaders()).Result; Assert.NotNull(result); Assert.Equal(result.StatusCode, HttpStatusCode.OK); return(((AzureIaaSVMJob)result.Item.Properties).Status); }
public AzureOperationResponse DeleteProtectionPolicy(string rsVaultRgName, string rsVaultName, string policyName) { AzureOperationResponse response = Client.ProtectionPolicies.DeleteAsync( rsVaultRgName, rsVaultName, policyName, CommonTestHelper.GetCustomRequestHeaders()).Result; Assert.NotNull(response); return(response); }
public JobResponse GetJob(string rgName, string rName, string jobId) { var result = Client.Jobs.GetAsync(rgName, rName, jobId, CommonTestHelper.GetCustomRequestHeaders()).Result; Assert.NotNull(result); Assert.Equal(result.StatusCode, HttpStatusCode.OK); return(result); }
public BaseRecoveryServicesJobResponse CancelJob(string rgName, string rName, string jobId) { var result = Client.Jobs.BeginCancelJobAsync(rgName, rName, jobId, CommonTestHelper.GetCustomRequestHeaders()).Result; Assert.NotNull(result); Assert.Equal(result.StatusCode, HttpStatusCode.Accepted); return(result); }
public RecoveryPointResource GetRecoveryPointDetails(string resourceGroupName, string resourceName, string containerUri, string itemUri, string recoveryPointId) { string fabricName = ConfigurationManager.AppSettings["AzureBackupFabricName"]; var response = Client.RecoveryPoints.Get( resourceGroupName, resourceName, CommonTestHelper.GetCustomRequestHeaders(), fabricName, containerUri, itemUri, recoveryPointId); return(response.RecPoint); }
public string GetDefaultPolicyId(string resourceGroupName, string resourceName) { string defaultPolicyName = ConfigurationManager.AppSettings["DefaultPolicyName"]; ProtectionPolicyResponse response = Client.ProtectionPolicies.Get( resourceGroupName, resourceName, defaultPolicyName, CommonTestHelper.GetCustomRequestHeaders()); return(response.Item.Id); }
public ProtectableObjectListResponse ListProtectableObjects(string rsVaultRgName, string rsVaultName, ProtectableObjectListQueryParameters queryParams, PaginationRequest paginationParams) { ProtectableObjectListResponse response = Client.ProtectableObjects.List( rsVaultRgName, rsVaultName, queryParams, paginationParams, CommonTestHelper.GetCustomRequestHeaders()); Assert.NotNull(response); Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.NotNull(response.ItemList); return(response); }
public string RestoreProtectedItem(string rsVaultRgName, string rsVaultName, string containerUri, string protectedItemUri, string sourceResourceId, string storageAccountId, RecoveryPointResource recoveryPointResource) { string fabricName = CommonTestHelper.GetSetting(TestConstants.ProviderTypeAzureIaasVM); RecoveryPoint recoveryPoint = (RecoveryPoint)recoveryPointResource.Properties; TriggerRestoreRequest restoreRequest = new TriggerRestoreRequest(); restoreRequest.Item = new RestoreRequestResource(); IaasVMRestoreRequest iaasVmRestoreRequest = new IaasVMRestoreRequest(); if (recoveryPoint.KeyAndSecret != null && recoveryPoint.KeyAndSecret.BekDetails != null && recoveryPoint.KeyAndSecret.KekDetails != null) { iaasVmRestoreRequest.EncryptionDetails = new EncryptionDetails(); iaasVmRestoreRequest.EncryptionDetails.EncryptionEnabled = true; iaasVmRestoreRequest.EncryptionDetails.KekUrl = recoveryPoint.KeyAndSecret.KekDetails.KeyUrl; iaasVmRestoreRequest.EncryptionDetails.KekVaultId = recoveryPoint.KeyAndSecret.KekDetails.KeyVaultId; iaasVmRestoreRequest.EncryptionDetails.SecretKeyUrl = recoveryPoint.KeyAndSecret.BekDetails.SecretUrl; iaasVmRestoreRequest.EncryptionDetails.SecretKeyVaultId = recoveryPoint.KeyAndSecret.BekDetails.SecretVaultId; } iaasVmRestoreRequest.RecoveryPointId = recoveryPointResource.Name; iaasVmRestoreRequest.RecoveryType = RecoveryType.RestoreDisks.ToString(); iaasVmRestoreRequest.SourceResourceId = sourceResourceId; iaasVmRestoreRequest.StorageAccountId = storageAccountId; restoreRequest.Item.Properties = iaasVmRestoreRequest; var response = Client.Restores.TriggerRestore(rsVaultRgName, rsVaultName, CommonTestHelper.GetCustomRequestHeaders(), fabricName, containerUri, protectedItemUri, recoveryPointResource.Name, restoreRequest); Assert.NotNull(response); Assert.Equal(HttpStatusCode.Accepted, response.StatusCode); Assert.NotNull(response.Location); Assert.NotNull(response.AzureAsyncOperation); Assert.NotNull(response.RetryAfter); var operationResponse = Client.ProtectedItems.GetProtectedItemOperationResultByURLAsync(response.Location, CommonTestHelper.GetCustomRequestHeaders()); while (operationResponse.Result.StatusCode == HttpStatusCode.Accepted) { if (HttpMockServer.Mode == HttpRecorderMode.Record) { System.Threading.Thread.Sleep(5 * 1000); } operationResponse = Client.ProtectedItems.GetProtectedItemOperationResultByURLAsync(response.Location, CommonTestHelper.GetCustomRequestHeaders()); } var operationStatusResponse = Client.GetOperationStatusByURLAsync(response.AzureAsyncOperation, CommonTestHelper.GetCustomRequestHeaders()); var operationJobResponse = (OperationStatusJobExtendedInfo)operationStatusResponse.Result.OperationStatus.Properties; Assert.NotNull(operationJobResponse.JobId); return(operationJobResponse.JobId); }
public AzureOperationResponse UnregisterBackupEngine(string name) { string rsVaultRgName = CommonTestHelper.GetSetting(TestConstants.RsVaultRgName); string rsVaultName = CommonTestHelper.GetSetting(TestConstants.RsVaultName); AzureOperationResponse response = Client.Containers.Unregister(rsVaultRgName, rsVaultName, name, CommonTestHelper.GetCustomRequestHeaders()); Assert.NotNull(response); Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); return(response); }
public BackupEngineListResponse ListBackupEngine(BackupEngineListQueryParams queryParams, PaginationRequest paginationParam) { string rsVaultRgName = CommonTestHelper.GetSetting(TestConstants.RsVaultRgName); string rsVaultName = CommonTestHelper.GetSetting(TestConstants.RsVaultName); BackupEngineListResponse response = Client.BackupEngines.List(rsVaultRgName, rsVaultName, queryParams, paginationParam, CommonTestHelper.GetCustomRequestHeaders()); Assert.NotNull(response); Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.NotNull(response.ItemList); return(response); }
public ProtectionContainerListResponse ListMABContainers(ProtectionContainerListQueryParams queryParams) { string rsVaultRgName = CommonTestHelper.GetSetting(TestConstants.RsVaultRgName); string rsVaultName = CommonTestHelper.GetSetting(TestConstants.RsVaultName); ProtectionContainerListResponse response = Client.Containers.List(rsVaultRgName, rsVaultName, queryParams, CommonTestHelper.GetCustomRequestHeaders()); Assert.NotNull(response); Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.NotNull(response.ItemList); return(response); }
public List <RecoveryPointResource> ListRecoveryPoints(string resourceGroupName, string resourceName, string containerUri, string itemUri, DateTime backupStartTime, DateTime backupEndTime) { string fabricName = ConfigurationManager.AppSettings["AzureBackupFabricName"]; string utcDateTimeFormat = ConfigurationManager.AppSettings["UTCDateTimeFormat"]; RecoveryPointQueryParameters queryFilter = new RecoveryPointQueryParameters(); queryFilter.StartDate = backupStartTime.ToString(utcDateTimeFormat); queryFilter.EndDate = backupEndTime.ToString(utcDateTimeFormat); var response = Client.RecoveryPoints.List( resourceGroupName, resourceName, CommonTestHelper.GetCustomRequestHeaders(), fabricName, containerUri, itemUri, queryFilter); return(response.RecoveryPointList.RecoveryPoints.ToList()); }
public ProtectedItemResponse GetProtectedItem(string rsVaultRgName, string rsVaultName, string containerName, string protectedItemName) { string fabricName = ConfigurationManager.AppSettings["AzureBackupFabricName"]; var customHeader = CommonTestHelper.GetCustomRequestHeaders(); GetProtectedItemQueryParam queryFilter = new GetProtectedItemQueryParam() { Expand = "extendedinfo" }; ProtectedItemResponse response = Client.ProtectedItems.Get(rsVaultRgName, rsVaultName, fabricName, containerName, protectedItemName, queryFilter, customHeader); Assert.NotNull(response); Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.NotNull(response.Item); return(response); }
public string BackupProtectedItem(string rsVaultRgName, string rsVaultName, string containerUri, string protectedItemUri) { string fabricName = CommonTestHelper.GetSetting(TestConstants.ProviderTypeAzureIaasVM); TriggerBackupRequest backupRequest = new TriggerBackupRequest(); backupRequest.Item = new BackupRequestResource(); IaaSVMBackupRequest iaasVmBackupRequest = new IaaSVMBackupRequest(); iaasVmBackupRequest.RecoveryPointExpiryTimeInUTC = DateTime.UtcNow.AddDays(2); backupRequest.Item.Properties = iaasVmBackupRequest; var response = Client.Backups.TriggerBackup(rsVaultRgName, rsVaultName, CommonTestHelper.GetCustomRequestHeaders(), fabricName, containerUri, protectedItemUri, backupRequest); Assert.NotNull(response); Assert.Equal(HttpStatusCode.Accepted, response.StatusCode); Assert.NotNull(response.Location); Assert.NotNull(response.AzureAsyncOperation); Assert.NotNull(response.RetryAfter); var operationResponse = Client.ProtectedItems.GetProtectedItemOperationResultByURLAsync(response.Location, CommonTestHelper.GetCustomRequestHeaders()); while (operationResponse.Result.StatusCode == HttpStatusCode.Accepted) { if (HttpMockServer.Mode == HttpRecorderMode.Record) { System.Threading.Thread.Sleep(5 * 1000); } operationResponse = Client.ProtectedItems.GetProtectedItemOperationResultByURLAsync(response.Location, CommonTestHelper.GetCustomRequestHeaders()); } var operationStatusResponse = Client.GetOperationStatusByURLAsync(response.AzureAsyncOperation, CommonTestHelper.GetCustomRequestHeaders()); var operationJobResponse = (OperationStatusJobExtendedInfo)operationStatusResponse.Result.OperationStatus.Properties; Assert.NotNull(operationJobResponse.JobId); return(operationJobResponse.JobId); }
public JobResponse GetJobOperationStatus(string rgName, string rName, string jobId, string opId) { var result = Client.Jobs.GetOperationResultAsync(rgName, rName, jobId, opId, CommonTestHelper.GetCustomRequestHeaders()).Result; return(result); }
public BaseRecoveryServicesJobResponse RefreshContainer(string rsVaultRgName, string rsVaultName, string fabricName) { BaseRecoveryServicesJobResponse response = Client.Containers.BeginRefresh(rsVaultRgName, rsVaultName, CommonTestHelper.GetCustomRequestHeaders(), fabricName); Assert.NotNull(response); Assert.Equal(HttpStatusCode.Accepted, response.StatusCode); while (response.StatusCode == HttpStatusCode.Accepted) { response = Client.Containers.GetRefreshOperationResultByURL(response.Location); if (HttpMockServer.Mode == HttpRecorderMode.Record) { System.Threading.Thread.Sleep(5 * 1000); } } Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); return(response); }
public JobListResponse ListJobs(string rgName, string rName, CommonJobQueryFilters queryFilters, PaginationRequest paginationReq) { var response = Client.Jobs.ListAsync(rgName, rName, queryFilters, paginationReq, CommonTestHelper.GetCustomRequestHeaders()).Result; Assert.NotNull(response); Assert.NotNull(response.ItemList); Assert.Equal(response.StatusCode, HttpStatusCode.OK); return(response); }
public JobTestHelpers(RecoveryServicesBackupManagementClient client) { this.rgName = CommonTestHelper.GetSetting(TestConstants.RsVaultRgName); this.rName = CommonTestHelper.GetSetting(TestConstants.RsVaultName); this.Client = client; }
public ProtectionPolicyResponse AddOrUpdateProtectionPolicy(string rsVaultRgName, string rsVaultName, string policyName, ProtectionPolicyRequest request) { ProtectionPolicyResponse response = Client.ProtectionPolicies.CreateOrUpdateAsync(rsVaultRgName, rsVaultName, policyName, request, CommonTestHelper.GetCustomRequestHeaders()).Result; Assert.NotNull(response); if (response.StatusCode == HttpStatusCode.OK) { Assert.Null(response.Location); Assert.Null(response.AzureAsyncOperation); Assert.Null(response.RetryAfter); Assert.NotNull(response.Item); Assert.NotNull(response.Item.Id); Assert.NotNull(response.Item.Name); Assert.NotNull(response.Item.Type); } else { Assert.Equal(HttpStatusCode.Accepted, response.StatusCode); Assert.NotNull(response.Location); Assert.NotNull(response.AzureAsyncOperation); Assert.NotNull(response.RetryAfter); } return(response); }
public ProtectionPolicyResponse GetProtectionPolicy(string rsVaultRgName, string rsVaultName, string policyName) { ProtectionPolicyResponse response = Client.ProtectionPolicies.GetAsync(rsVaultRgName, rsVaultName, policyName, CommonTestHelper.GetCustomRequestHeaders()).Result; Assert.NotNull(response); Assert.Null(response.Location); Assert.Null(response.AzureAsyncOperation); Assert.Null(response.RetryAfter); Assert.Equal(response.Item.Name, policyName); Assert.Equal(HttpStatusCode.OK, response.StatusCode); return(response); }
public ProtectionPolicyListResponse ListProtectionPolicy(string rsVaultRgName, string rsVaultName, ProtectionPolicyQueryParameters queryParams) { ProtectionPolicyListResponse response = Client.ProtectionPolicies.ListAsync(rsVaultRgName, rsVaultName, queryParams, CommonTestHelper.GetCustomRequestHeaders()).Result; Assert.NotNull(response); Assert.Equal(HttpStatusCode.OK, response.StatusCode); return(response); }