Skip to content

Commit 9229398

Browse files
authored
[Storage] Support Account level worm (#15988)
* [Storage] Support Account level worm * Fix CI failure
1 parent 21e586c commit 9229398

File tree

10 files changed

+1511
-8
lines changed

10 files changed

+1511
-8
lines changed

src/Storage/Storage.Management.Test/ScenarioTests/StorageAccountTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,5 +267,12 @@ public void TestAzureStorageAccountHierarchicalNamespaceUpgrade()
267267
{
268268
TestRunner.RunTestScript("Test-AzureStorageAccountHierarchicalNamespaceUpgrade");
269269
}
270+
271+
[Fact]
272+
[Trait(Category.AcceptanceType, Category.CheckIn)]
273+
public void TestAzureStorageAccountWorm()
274+
{
275+
TestRunner.RunTestScript("Test-AzureStorageAccountWorm");
276+
}
270277
}
271278
}

src/Storage/Storage.Management.Test/ScenarioTests/StorageAccountTests.ps1

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2050,3 +2050,56 @@ function Test-AzureStorageAccountHierarchicalNamespaceUpgrade
20502050
Clean-ResourceGroup $rgname
20512051
}
20522052
}
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

Comments
 (0)