Skip to content

Commit 07063ad

Browse files
authored
Merge pull request #330 from MabOneSdk/preview
Fixing P0 bug in restore. Includes test coverage.
2 parents f88a0f5 + 8cadc72 commit 07063ad

File tree

4 files changed

+170767
-179
lines changed

4 files changed

+170767
-179
lines changed

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Test/ScenarioTests/IaasVm/ItemTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ public void TestGetAzureVMRecoveryPointsScenario()
7373
PsBackupProviderTypes.IaasVm, "Test-GetAzureVMRecoveryPointsScenario");
7474
}
7575

76+
[Fact]
7677
[Trait(Category.AcceptanceType, Category.CheckIn)]
7778
[Trait(TestConstants.Workload, TestConstants.AzureVM)]
7879
public void TestRestoreAzureVMItemScenario()

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Test/ScenarioTests/IaasVm/ItemTests.ps1

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@ $vmName = "pstestv2vm1";
2121
$vmStorageAccountName = "pstestrg4762";
2222
$vmStorageAccountResourceGroup = "pstestrg";
2323
$vmUniqueName = "iaasvmcontainerv2;" + $vmResourceGroupName + ";" + $vmName;
24+
$itemUniqueName = "VM;" + $vmUniqueName;
25+
$fixedStartDate = Get-Date -Date "2017-09-15 09:30:00Z"
26+
$fixedStartDate = $fixedStartDate.ToUniversalTime()
27+
$fixedEndDate = Get-Date -Date "2017-09-16 23:30:00Z"
28+
$fixedEndDate = $fixedEndDate.ToUniversalTime()
29+
$waitEndDate = Get-Date -Date "2016-10-28 11:30:00Z"
30+
$waitEndDate = $waitEndDate.ToUniversalTime()
31+
2432

2533
function Test-GetItemScenario
2634
{
@@ -292,11 +300,15 @@ function Test-GetAzureVMRecoveryPointsScenario
292300

293301
function Test-RestoreAzureVMRItemScenario
294302
{
295-
# 1. Create / update and get vault
303+
# 1. Create vault if it doesnot exist
296304
$vaultLocation = get_available_location;
297-
$vault = New-AzureRmRecoveryServicesVault `
298-
-Name $resourceName -ResourceGroupName $resourceGroupName -Location $vaultLocation;
299-
305+
$vault = Get-AzureRmRecoveryServicesVault `
306+
-Name $resourceName -ResourceGroupName $resourceGroupName
307+
if($vault -eq $null)
308+
{
309+
$vault = New-AzureRmRecoveryServicesVault `
310+
-Name $resourceName -ResourceGroupName $resourceGroupName -Location $vaultLocation;
311+
}
300312
# 2. Set vault context
301313
Set-AzureRmRecoveryServicesVaultContext -Vault $vault;
302314

@@ -328,21 +340,19 @@ function Test-RestoreAzureVMRItemScenario
328340
-Container $global:container -WorkloadType AzureVM;
329341

330342
# 6. Trigger backup and wait for completion
331-
$fixedExpiryDate = Get-Date;
332-
$expiryDate = $fixedExpiryDate.AddDays(2).ToUniversalTime();
333343
$backupJob = Backup-AzureRmRecoveryServicesBackupItem `
334-
-Item $item -ExpiryDateTimeUTC $expiryDate;
344+
-Item $item;
335345
$backupJob = Wait-AzureRmRecoveryServicesBackupJob -Job $backupJob;
336346

337347
# 7. Get latest recovery point
338-
$backupStartTime = $backupJob.StartTime.AddMinutes(-1);
339-
$backupEndTime = $backupJob.EndTime.Value.AddMinutes(1);
348+
$backupStartTime = $fixedStartDate;
349+
$backupEndTime = $fixedEndDate;
340350
$recoveryPoint = Get-AzureRmRecoveryServicesBackupRecoveryPoint `
341351
-StartDate $backupStartTime -EndDate $backupEndTime -Item $item
342352

343353
# ACTION: Trigger restore and wait for completion
344354
$restoreJob = Restore-AzureRMRecoveryServicesBackupItem `
345-
-RecoveryPoint $recoveryPoint `
355+
-RecoveryPoint $recoveryPoint[0] `
346356
-StorageAccountName $vmStorageAccountName `
347357
-StorageAccountResourceGroupName $vmStorageAccountResourceGroup
348358
Wait-AzureRmRecoveryServicesBackupJob -Job $restoreJob;

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Test/SessionRecords/Microsoft.Azure.Commands.RecoveryServices.Backup.Test.ScenarioTests.ItemTests/TestRestoreAzureVMItemScenario.json

Lines changed: 170745 additions & 169 deletions
Large diffs are not rendered by default.

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup/Cmdlets/Restore/RestoreAzureRMRecoveryServicesBackupItem.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ public override void ExecuteCmdlet()
6565
identity.ResourceProviderNamespace = "Microsoft.ClassicStorage/storageAccounts";
6666
identity.ResourceProviderApiVersion = "2015-12-01";
6767
identity.ResourceType = string.Empty;
68+
identity.ParentResourcePath = string.Empty;
6869

6970
GenericResource resource = null;
7071
try

0 commit comments

Comments
 (0)