@@ -2050,3 +2050,56 @@ function Test-AzureStorageAccountHierarchicalNamespaceUpgrade
2050
2050
Clean - ResourceGroup $rgname
2051
2051
}
2052
2052
}
2053
+
2054
+ <#
2055
+ . SYNOPSIS
2056
+ Test AzureStorageAccountWorm
2057
+ . DESCRIPTION
2058
+ SmokeTest
2059
+ #>
2060
+ function Test-AzureStorageAccountWorm
2061
+ {
2062
+ # Setup
2063
+ $rgname = Get-StorageManagementTestResourceName ;
2064
+
2065
+ try
2066
+ {
2067
+ # Test
2068
+ $stoname = ' sto' + $rgname ;
2069
+ $stotype = ' Standard_LRS' ;
2070
+ $loc = Get-ProviderLocation_Canary ResourceManagement;
2071
+ $kind = ' StorageV2'
2072
+
2073
+ New-AzResourceGroup - Name $rgname - Location $loc ;
2074
+ New-AzStorageAccount - ResourceGroupName $rgname - Name $stoname - Location $loc - Type $stotype - Kind $kind - EnableAccountLevelImmutability - ImmutabilityPeriod 1 - ImmutabilityPolicyState Disabled - AllowProtectedAppendWrite $true
2075
+
2076
+ Retry- IfException { $global :sto = Get-AzStorageAccount - ResourceGroupName $rgname - Name $stoname ; }
2077
+ Assert-AreEqual $stoname $sto.StorageAccountName ;
2078
+ Assert-AreEqual $stotype $sto.Sku.Name ;
2079
+ Assert-AreEqual $loc.ToLower ().Replace(" " , " " ) $sto.Location ;
2080
+ Assert-AreEqual $kind $sto.Kind ;
2081
+ Assert-AreEqual $true $sto.ImmutableStorageWithVersioning.Enabled ;
2082
+ Assert-AreEqual 1 $sto.ImmutableStorageWithVersioning.ImmutabilityPolicy.ImmutabilityPeriodSinceCreationInDays ;
2083
+ Assert-AreEqual Disabled $sto.ImmutableStorageWithVersioning.ImmutabilityPolicy.State ;
2084
+ Assert-AreEqual $true $sto.ImmutableStorageWithVersioning.ImmutabilityPolicy.AllowProtectedAppendWrites ;
2085
+
2086
+ Retry- IfException { $global :sto = Set-AzStorageAccount - ResourceGroupName $rgname - Name $stoname - ImmutabilityPeriod 2 - ImmutabilityPolicyState Unlocked - AllowProtectedAppendWrite $false }
2087
+ Assert-AreEqual $true $sto.ImmutableStorageWithVersioning.Enabled ;
2088
+ Assert-AreEqual 2 $sto.ImmutableStorageWithVersioning.ImmutabilityPolicy.ImmutabilityPeriodSinceCreationInDays ;
2089
+ Assert-AreEqual Unlocked $sto.ImmutableStorageWithVersioning.ImmutabilityPolicy.State ;
2090
+ Assert-AreEqual $false $sto.ImmutableStorageWithVersioning.ImmutabilityPolicy.AllowProtectedAppendWrites ;
2091
+
2092
+ Retry- IfException { $global :sto = Set-AzStorageAccount - ResourceGroupName $rgname - Name $stoname - ImmutabilityPolicyState Locked }
2093
+ Assert-AreEqual $true $sto.ImmutableStorageWithVersioning.Enabled ;
2094
+ Assert-AreEqual 2 $sto.ImmutableStorageWithVersioning.ImmutabilityPolicy.ImmutabilityPeriodSinceCreationInDays ;
2095
+ Assert-AreEqual Locked $sto.ImmutableStorageWithVersioning.ImmutabilityPolicy.State ;
2096
+ Assert-AreEqual $false $sto.ImmutableStorageWithVersioning.ImmutabilityPolicy.AllowProtectedAppendWrites ;
2097
+
2098
+ Remove-AzStorageAccount - Force - ResourceGroupName $rgname - Name $stoname ;
2099
+ }
2100
+ finally
2101
+ {
2102
+ # Cleanup
2103
+ Clean - ResourceGroup $rgname
2104
+ }
2105
+ }
0 commit comments