Skip to content

Commit ec0d188

Browse files
committed
added new tests and examples
1 parent feed072 commit ec0d188

File tree

8 files changed

+3375
-3
lines changed

8 files changed

+3375
-3
lines changed

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

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,28 @@ public void TestAzureVMCRRWithDES()
280280
);
281281
}
282282

283-
283+
[Fact]
284+
[Trait(Category.AcceptanceType, Category.CheckIn)]
285+
[Trait(TestConstants.Workload, TestConstants.AzureVM)]
286+
public void TestAzureVaultPublicNetworkAccess()
287+
{
288+
TestRunner.RunTestScript(
289+
$"Import-Module {_IaasVmcommonModule.AsAbsoluteLocation()}",
290+
$"Import-Module {_IaasVmtestModule.AsAbsoluteLocation()}",
291+
"Test-AzureVaultPublicNetworkAccess"
292+
);
293+
}
294+
295+
[Fact]
296+
[Trait(Category.AcceptanceType, Category.CheckIn)]
297+
[Trait(TestConstants.Workload, TestConstants.AzureVM)]
298+
public void TestAzureVaultImmutability()
299+
{
300+
TestRunner.RunTestScript(
301+
$"Import-Module {_IaasVmcommonModule.AsAbsoluteLocation()}",
302+
$"Import-Module {_IaasVmtestModule.AsAbsoluteLocation()}",
303+
"Test-AzureVaultImmutability"
304+
);
305+
}
284306
}
285307
}

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

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,89 @@
1212
# limitations under the License.
1313
# ----------------------------------------------------------------------------------
1414

15+
function Test-AzureVaultPublicNetworkAccess
16+
{
17+
$resourceGroupName = "hiagaCZR-rg"
18+
$vaultName = "hiagaPNAVault"
19+
$location = "eastus2euap"
20+
$tag= @{"MABUsed"="Yes";"Owner"="hiaga";"Purpose"="Testing";"DeleteBy"="01-2099"}
21+
22+
try
23+
{
24+
# new vault
25+
# Public Network Access is by default enabled for this vault and can be updated using Update-AzRecoveryServicesVault cmdlet
26+
$vault = New-AzRecoveryServicesVault -Name $vaultName -ResourceGroupName $resourceGroupName -Location $location -Tag $tag
27+
$vault = Get-AzRecoveryServicesVault -Name $vaultName -ResourceGroupName $resourceGroupName
28+
29+
Assert-True { $vault.Properties.PublicNetworkAccess -eq "Enabled"}
30+
31+
$vault = Update-AzRecoveryServicesVault -ResourceGroupName $resourceGroupName -Name $vaultName -PublicNetworkAccess "Disabled"
32+
Assert-True { $vault.Properties.PublicNetworkAccess -eq "Disabled"}
33+
}
34+
finally
35+
{
36+
# remove vault
37+
$vault = Get-AzRecoveryServicesVault -ResourceGroupName $resourceGroupName -Name $vaultName
38+
Remove-AzRecoveryServicesVault -Vault $vault
39+
}
40+
}
41+
42+
function Test-AzureVaultImmutability
43+
{
44+
$resourceGroupName = "hiagaCZR-rg"
45+
$vaultName = "hiagaImmutableVault"
46+
$location = "eastus2euap"
47+
$tag= @{"MABUsed"="Yes";"Owner"="hiaga";"Purpose"="Testing";"DeleteBy"="01-2099"}
48+
49+
$suspendVaultName = "hiaga-adhoc-vault"
50+
$suspendResourceGroupName = "hiagarg"
51+
52+
try
53+
{
54+
# new vault
55+
$vault = New-AzRecoveryServicesVault -Name $vaultName -ResourceGroupName $resourceGroupName -Location $location -Tag $tag -ImmutabilityState "Disabled"
56+
$vault = Get-AzRecoveryServicesVault -Name $vaultName -ResourceGroupName $resourceGroupName
57+
58+
Assert-True { $vault.Properties.ImmutabilitySettings.ImmutabilityState -eq "Disabled"}
59+
60+
Assert-ThrowsContains { $vault = Update-AzRecoveryServicesVault -Name $vaultName -ResourceGroupName $resourceGroupName -ImmutabilityState Locked } `
61+
"Immutability can only be locked when it is Unlocked(Enabled)";
62+
63+
$vault = Update-AzRecoveryServicesVault -Name $vaultName -ResourceGroupName $resourceGroupName -ImmutabilityState "Unlocked"
64+
$vault = Get-AzRecoveryServicesVault -Name $vaultName -ResourceGroupName $resourceGroupName
65+
66+
Assert-True { $vault.Properties.ImmutabilitySettings.ImmutabilityState -eq "Unlocked"}
67+
68+
# get suspend vault
69+
$suspendVault = Update-AzRecoveryServicesVault -Name $suspendVaultName -ResourceGroupName $suspendResourceGroupName -ImmutabilityState "Unlocked"
70+
$suspendVault = Get-AzRecoveryServicesVault -Name $suspendVaultName -ResourceGroupName $suspendResourceGroupName
71+
72+
$item = Get-AzRecoveryServicesBackupItem -VaultId $suspendVault.ID -BackupManagementType AzureVM -WorkloadType AzureVM
73+
Assert-True { $item[0].ProtectionState -eq "Protected" }
74+
75+
# suspend backup
76+
Disable-AzRecoveryServicesBackupProtection -Item $item[0] -RetainRecoveryPointsAsPerPolicy -VaultId $suspendVault.ID -Force
77+
$item = Get-AzRecoveryServicesBackupItem -VaultId $suspendVault.ID -BackupManagementType AzureVM -WorkloadType AzureVM
78+
Assert-True { $item[0].ProtectionState -eq "BackupsSuspended" }
79+
80+
# resume backup
81+
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -VaultId $suspendVault.ID -Name "DefaultPolicy"
82+
Enable-AzRecoveryServicesBackupProtection -Item $item[0] -Policy $pol -VaultId $suspendVault.ID
83+
84+
$item = Get-AzRecoveryServicesBackupItem -VaultId $suspendVault.ID -BackupManagementType AzureVM -WorkloadType AzureVM
85+
Assert-True { $item[0].ProtectionState -eq "Protected" }
86+
}
87+
finally
88+
{
89+
# revert immutability
90+
$suspendVault = Update-AzRecoveryServicesVault -Name $suspendVaultName -ResourceGroupName $suspendResourceGroupName -ImmutabilityState "Disabled"
91+
92+
# remove new vault
93+
$vault = Get-AzRecoveryServicesVault -ResourceGroupName $resourceGroupName -Name $vaultName
94+
Remove-AzRecoveryServicesVault -Vault $vault
95+
}
96+
}
97+
1598
function Test-AzureVMCRRWithDES
1699
{
17100
$resourceGroupName = "hiagarg"

0 commit comments

Comments
 (0)