Skip to content

Commit

Permalink
Merge pull request Azure#34 from yifanz7/addtests0704
Browse files Browse the repository at this point in the history
Add tests for new release
  • Loading branch information
yifanz7 authored Jul 11, 2023
2 parents 278f34f + a47af0d commit 74d8a8f
Show file tree
Hide file tree
Showing 4 changed files with 190 additions and 160 deletions.
98 changes: 94 additions & 4 deletions src/Storage/RegressionTests/dataplane.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@ BeforeAll {
$globalNode = $config.SelectSingleNode("config/section[@id='global']")
$testNode = $config.SelectSingleNode("config/section[@id='dataplane']")

# $rootFolder = "C:\temp" # The folder should be created before tests
# cd $rootFolder

$resourceGroupName = $globalNode.resourceGroupName
$storageAccountName = $testNode.SelectSingleNode("accountName[@id='1']").'#text'
$storageAccountName2 = $testNode.SelectSingleNode("accountName[@id='2']").'#text'
Expand Down Expand Up @@ -1144,7 +1141,7 @@ Describe "dataplane test" {
$Error.Count | should -be 0
}

It "Cross type blob copy" {
It "Cross type blob copy" -Tag "crossblobcopy" {
$Error.Clear()

$blobTypes = @("Block", "Page", "Append")
Expand Down Expand Up @@ -1933,6 +1930,99 @@ Describe "dataplane test" {
$Error.Count | should -be 0
}

It "Cold tier" {
$Error.Clear()

$containername1 = GetRandomContainerName + "cold"
New-AzStorageContainer -Name $containername1 -Context $ctx

$blob = Set-AzStorageBlobContent -Container $containername1 -File $localSmallSrcFile -Blob test1 -StandardBlobTier Cold -Properties @{"ContentType" = "image/jpeg"} -Metadata @{"tag1" = "value1"} -Context $ctx
$blob.Name | Should -Be "test1"
$blob.AccessTier | Should -Be "Cold"
$blob.BlobProperties.ContentType | Should -Be "image/jpeg"

$blob = Set-AzStorageBlobContent -Container $containerName1 -File $localBigSrcFile -Blob test2 -StandardBlobTier Cold -Context $ctx
$blob.Name | Should -Be "test2"
$blob.AccessTier | Should -Be "Cold"

$blob.BlobBaseClient.SetAccessTier("Cold")
$blob.AccessTier | Should -Be "Cold"
$blob.Name | Should -Be "test2"

$blob = Get-AzStorageBlob -Container $containerName1 -Blob test1 -Context $ctx
$blob.AccessTier | Should -Be "Cold"
$blob.Name | Should -Be "test1"
$blob.BlobProperties.ContentType | Should -Be "image/jpeg"

$destBlobName = "destblob1"
$copyblob = $blob | Copy-AzStorageBlob -DestContainer $containerName1 -DestBlob $destBlobName -Force
$copyblob.Name | Should -Be $destBlobName
$copyblob.AccessTier | Should -Be "Hot"
$copyBlob.BlobProperties.ContentType | Should -Be "image/jpeg"

$copyblob = Copy-AzStorageBlob -SrcBlob $blob.Name -SrcContainer $containerName1 -DestContainer $containerName -DestBlob $destBlobName -StandardBlobTier Cold -Context $ctx -Force
$copyblob.Name | Should -Be $destBlobName
$copyblob.AccessTier | Should -Be "Cold"
$copyBlob.BlobProperties.ContentType | Should -Be "image/jpeg"

$largeBlob = Get-AzStorageBlob -Blob test2 -Container $containerName1 -Context $ctx
$copyblob = $largeblob | Copy-AzStorageBlob -DestContainer $containerName1 -DestBlob $destBlobName -StandardBlobTier Cold -Force
$copyblob.Name | Should -Be $destBlobName
$copyblob.AccessTier | Should -Be "Cold"

Start-AzStorageBlobCopy -DestContainer $containerName1 -DestBlob $destBlobName -StandardBlobTier Cold -SrcContainer $containerName1 -SrcBlob test1 -Force -Context $ctx -RehydratePriority Standard
$copyblob = Get-AzStorageBlob -Container $containerName1 -Blob $destBlobName -Context $ctx
$copyblob.Name | Should -Be $destBlobName
$copyblob.AccessTier | Should -Be "Cold"
$copyBlob.BlobProperties.ContentType | Should -Be "image/jpeg"

Remove-AzStorageContainer -Name $containername1 -Context $ctx -Force

$Error.Count | should -be 0
}

It "Queue track2 migration" {
$Error.Clear()

New-AzStorageQueue -Name testq1 -Context $ctx

$sas = New-AzStorageQueueSASToken -Name testq1 -Context $ctx -Permission ruap
$sas | Should -BeLike "*sp=raup*"
$sasctx = New-AzStorageContext -StorageAccountName $storageAccountName -SasToken $sas
$q = Get-AzStorageQueue -Name testq1 -Context $sasctx
$q.Name | Should -Be "testq1"
$q.Context.StorageAccount.Credentials.IsSAS | Should -Be $true

$sas = New-AzStorageQueueSASToken -Name testq1 -Context $ctx -Permission rap -StartTime 2023-04-20 -ExpiryTime 2223-08-05
$sasctx = New-AzStorageContext -StorageAccountName $storageAccountName -SasToken $sas
$sas | Should -BeLike "*st=2023-04-19*se=2223-08-04*"
$q = Get-AzStorageQueue -Name testq1 -Context $sasctx
$q.Name | Should -Be "testq1"
$q.Context.StorageAccount.Credentials.IsSAS | Should -Be $true

$sas = New-AzStorageQueueSASToken -Name testq1 -Context $ctx -Permission raup -Protocol HttpsOnly -IPAddressOrRange 0.0.0.0-255.255.255.255 -ExpiryTime 2223-08-05
$sas | Should -BeLike "*spr=https*se=2223-08-04*sip=0.0.0.0-255.255.255.255*sp=raup*"
$sasctx = New-AzStorageContext -StorageAccountName $storageAccountName -SasToken $sas
$q = Get-AzStorageQueue -Name testq1 -Context $sasctx
$q.Name | Should -Be "testq1"
$q.Context.StorageAccount.Credentials.IsSAS | Should -Be $true

$sas = New-AzStorageQueueSASToken -Name testq1 -Context $ctx -Permission raup -ExpiryTime 2223-08-05 -FullUri
$sas | Should -BeLike "https://$($storageAccountName).queue.core.windows.net/testq1*se=2223-08-04*"

New-AzStorageQueueStoredAccessPolicy -Queue testq1 -Policy p001 -Permission ruap -StartTime 2023-5-1 -ExpiryTime 2223-08-05 -Context $ctx
$sas = New-AzStorageQueueSASToken -Name testq1 -Policy p001 -Context $ctx -Protocol HttpsOnly -IPAddressOrRange 0.0.0.0-255.255.255.255
$sas | Should -BeLike "*spr=https*sip=0.0.0.0-255.255.255.255*si=p001*"
$sasctx = New-AzStorageContext -StorageAccountName $storageAccountName -SasToken $sas
$q = Get-AzStorageQueue -Name testq1 -Context $sasctx
$q.Name | Should -Be "testq1"
$q.Context.StorageAccount.Credentials.IsSAS | Should -Be $true

Remove-AzStorageQueue -Name testq1 -Context $ctx -Force

$Error.Count | should -be 0
}

It "Test case name" {
$Error.Clear()

Expand Down
50 changes: 0 additions & 50 deletions src/Storage/RegressionTests/dataplane_preview.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -42,56 +42,6 @@ Describe "dataplane test for preview" {

}

It "Cold tier preview" {
$Error.Clear()

$accountName = $testNode.SelectSingleNode("accountName[@id='2']").'#text'
$ctx1 = (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $accountName).Context
$container = New-AzStorageContainer -Name $containerName -Context $ctx1

$blob = Set-AzStorageBlobContent -Container $containerName -File $localSrcFile -Blob test1 -StandardBlobTier Cold -Properties @{"ContentType" = "image/jpeg"} -Metadata @{"tag1" = "value1"} -Context $ctx1
$blob.Name | Should -Be "test1"
$blob.AccessTier | Should -Be "Cold"
$blob.BlobProperties.ContentType | Should -Be "image/jpeg"

$blob = Set-AzStorageBlobContent -Container $containerName -File $localSrcFile2 -Blob test2 -StandardBlobTier Cold -Context $ctx1
$blob.Name | Should -Be "test2"
$blob.AccessTier | Should -Be "Cold"

$blob.BlobBaseClient.SetAccessTier("Cold")
$blob.AccessTier | Should -Be "Cold"
$blob.Name | Should -Be "test2"

$blob = Get-AzStorageBlob -Container $containerName -Blob test1 -Context $ctx1
$blob.AccessTier | Should -Be "Cold"
$blob.Name | Should -Be "test1"
$blob.BlobProperties.ContentType | Should -Be "image/jpeg"

$destBlobName = "destblob1"
$copyblob = $blob | Copy-AzStorageBlob -DestContainer $containerName -DestBlob $destBlobName -Force
$copyblob.Name | Should -Be $destBlobName
$copyblob.AccessTier | Should -Be "Hot"
$copyBlob.BlobProperties.ContentType | Should -Be "image/jpeg"

$copyblob = Copy-AzStorageBlob -SrcBlob $blob.Name -SrcContainer $containerName -DestContainer $containerName -DestBlob $destBlobName -StandardBlobTier Cold -Context $ctx1 -Force
$copyblob.Name | Should -Be $destBlobName
$copyblob.AccessTier | Should -Be "Cold"
$copyBlob.BlobProperties.ContentType | Should -Be "image/jpeg"

$largeBlob = Get-AzStorageBlob -Blob test2 -Container $containerName -Context $ctx1
$copyblob = $largeblob | Copy-AzStorageBlob -DestContainer $containerName -DestBlob $destBlobName -StandardBlobTier Cold -Force
$copyblob.Name | Should -Be $destBlobName
$copyblob.AccessTier | Should -Be "Cold"

Start-AzStorageBlobCopy -DestContainer $containerName -DestBlob $destBlobName -StandardBlobTier Cold -SrcContainer $containerName -SrcBlob test1 -Force -Context $ctx1 -RehydratePriority Standard
$copyblob = Get-AzStorageBlob -Container $containerName -Blob $destBlobName -Context $ctx1
$copyblob.Name | Should -Be $destBlobName
$copyblob.AccessTier | Should -Be "Cold"
$copyBlob.BlobProperties.ContentType | Should -Be "image/jpeg"

Remove-AzStorageContainer -Name $containerName -Context $ctx1 -Force

}

It "File OAuth" {
$Error.Clear()
Expand Down
103 changes: 96 additions & 7 deletions src/Storage/RegressionTests/srp.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -342,9 +342,12 @@ Describe "Management plan test" {

$accountNameLc1 = $accountName + "lc1"
$accountNameLc2 = $accountName + "lc2"
$accountNamePremium = $accountName + "prem"

New-AzStorageAccount -ResourceGroupName $rgname -Name $accountNameLc1 -SkuName Standard_LRS -Location eastus
New-AzStorageAccount -ResourceGroupName $rgname -Name $accountNameLc2 -SkuName Standard_LRS -Location eastus
# create account for TierToHot
New-AzStorageAccount -ResourceGroupName $rgname -Name $accountNamePremium -SkuName Premium_LRS -Location eastus2 -Kind BlockBlobStorage

# Resource id for storage account 2
$id = (Get-AzStorageAccount -ResourceGroupName $rgname -Name $accountNameLc2).Id
Expand Down Expand Up @@ -391,10 +394,19 @@ Describe "Management plan test" {
$rule2.Definition.Filters.PrefixMatch | should -be $null
$rule2.Definition.Filters.BlobTypes.Count | should -be 2

# create Rule3
$action3 = Add-AzStorageAccountManagementPolicyAction -BaseBlobAction TierToCold -DaysAfterCreationGreaterThan 50
$action3 = Add-AzStorageAccountManagementPolicyAction -InputObject $action3 -BaseBlobAction TierToCool -DaysAfterModificationGreaterThan 100
$action3 = Add-AzStorageAccountManagementPolicyAction -InputObject $action3 -SnapshotAction TierToCold -DaysAfterCreationGreaterThan 50
$action3 = Add-AzStorageAccountManagementPolicyAction -InputObject $action3 -BlobVersionAction TierToCold -DaysAfterCreationGreaterThan 100
$filter3 = New-AzStorageAccountManagementPolicyFilter -PrefixMatch prefix1,prefix2
$rule3 = New-AzStorageAccountManagementPolicyRule -Name Test3 -Action $action3 -Filter $filter3


# (Option 1) Set the 2 rules together
$policy = Set-AzStorageAccountManagementPolicy -ResourceGroupName $rgname -StorageAccountName $accountNameLc1 -Rule $rule1,$rule2
$policy = Set-AzStorageAccountManagementPolicy -StorageAccountResourceId $id -Rule $rule1,$rule2
$policy.Rules.Count | should -Be 2
$policy = Set-AzStorageAccountManagementPolicy -ResourceGroupName $rgname -StorageAccountName $accountNameLc1 -Rule $rule1,$rule2,$rule3
$policy = Set-AzStorageAccountManagementPolicy -StorageAccountResourceId $id -Rule $rule1,$rule2,$rule3
$policy.Rules.Count | should -Be 3
$policy.Rules[0].Enabled | should -Be $true
$policy.Rules[0].Name | should -be Test
$policy.Rules[0].Definition.Actions.BaseBlob.TierToCool.daysAfterCreationGreaterThan | should -be 30
Expand All @@ -420,6 +432,14 @@ Describe "Management plan test" {
$policy.Rules[1].Definition.Actions.Version | should -be $null
$policy.Rules[1].Definition.Filters.PrefixMatch | should -be $null
$policy.Rules[1].Definition.Filters.BlobTypes.Count | should -be 2
$policy.Rules[2].Name | Should -Be Test3
$policy.Rules[2].Enabled | Should -Be $true
$policy.Rules[2].Definition.Filters.BlobTypes.Count | Should -Be 1
$policy.Rules[2].Definition.Actions.BaseBlob.TierToCold.DaysAfterCreationGreaterThan | Should -Be 50
$policy.Rules[2].Definition.Actions.BaseBlob.TierToCool.DaysAfterModificationGreaterThan | Should -Be 100
$policy.Rules[2].Definition.Actions.Snapshot.TierToCold.DaysAfterCreationGreaterThan | Should -Be 50
$policy.Rules[2].Definition.Actions.Version.TierToCold.DaysAfterCreationGreaterThan | Should -Be 100
$policy.Rules[2].Definition.Filters.PrefixMatch.Count | Should -Be 2

# (Option 2) Set Policy with 1 command
$policy = Set-AzStorageAccountManagementPolicy -ResourceGroupName $rgname -StorageAccountName $accountNameLc1 -Policy (@{
Expand Down Expand Up @@ -463,9 +483,31 @@ Describe "Management plan test" {
BlobTypes=@("blockBlob","appendblob");
})
})
},
@{
Enabled=$true;
Name="Test3";
Definition=(@{
Actions=(@{
BaseBlob=(@{
TierToCold=@{DaysAfterCreationGreaterThan=50};
TierToCool=@{DaysAfterModificationGreaterThan=100};
});
Snapshot=(@{
TierToCold=@{DaysAfterCreationGreaterThan=50}
});
Version=(@{
TierToCold=@{DaysAfterCreationGreaterThan=100};
});
});
Filters=(@{
BlobTypes=@("blockBlob");
PrefixMatch=@("prefix1","prefix2");
})
})
})
})
$policy.Rules.Count | should -Be 2
$policy.Rules.Count | should -Be 3
$policy.Rules[0].Enabled | should -Be $true
$policy.Rules[0].Name | should -be Test
$policy.Rules[0].Definition.Actions.BaseBlob.TierToCool.DaysAfterCreationGreaterThan | should -be 30
Expand All @@ -491,19 +533,66 @@ Describe "Management plan test" {
$policy.Rules[1].Definition.Actions.Version | should -be $null
$policy.Rules[1].Definition.Filters.PrefixMatch | should -be $null
$policy.Rules[1].Definition.Filters.BlobTypes.Count | should -be 2
$policy.Rules[2].Name | Should -Be Test3
$policy.Rules[2].Enabled | Should -Be $true
$policy.Rules[2].Definition.Filters.BlobTypes.Count | Should -Be 1
$policy.Rules[2].Definition.Actions.BaseBlob.TierToCold.DaysAfterCreationGreaterThan | Should -Be 50
$policy.Rules[2].Definition.Actions.BaseBlob.TierToCool.DaysAfterModificationGreaterThan | Should -Be 100
$policy.Rules[2].Definition.Actions.Snapshot.TierToCold.DaysAfterCreationGreaterThan | Should -Be 50
$policy.Rules[2].Definition.Actions.Version.TierToCold.DaysAfterCreationGreaterThan | Should -Be 100
$policy.Rules[2].Definition.Filters.PrefixMatch.Count | Should -Be 2


$policy2 = Get-AzStorageAccountManagementPolicy -StorageAccountResourceId $id | Set-AzStorageAccountManagementPolicy -ResourceGroupName $rgname -StorageAccountName $accountNameLc2
$policy2.Rules.Count | should -Be 2
$policy2.Rules.Count | should -Be 3

$policy2 = Get-AzStorageAccountManagementPolicy -ResourceGroupName $rgname -StorageAccountName $accountNameLc2
$policy2.Rules.Count | should -Be 2
$policy2.Rules.Count | should -Be 3


# TierToHot
$action4 = Add-AzStorageAccountManagementPolicyAction -BaseBlobAction TierToHot -DaysAfterCreationGreaterThan 50
$action4 = Add-AzStorageAccountManagementPolicyAction -InputObject $action4 -BaseBlobAction TierToCool -DaysAfterCreationGreaterThan 100
$filter4 = New-AzStorageAccountManagementPolicyFilter -PrefixMatch prefix1,prefix2
$rule4 = New-AzStorageAccountManagementPolicyRule -Name Test4 -Action $action4 -Filter $filter4

$policy = Set-AzStorageAccountManagementPolicy -ResourceGroupName $rgname -StorageAccountName $accountNamePremium -Rule $rule4
$policy.Rules.Count | Should -Be 1
$policy.Rules[0].Enabled | Should -Be $true
$policy.Rules[0].Name | Should -Be "Test4"
$policy.Rules[0].Definition.Actions.BaseBlob.TierToHot.DaysAfterCreationGreaterThan | Should -Be 50
$policy.Rules[0].Definition.Actions.BaseBlob.TierToCool.DaysAfterCreationGreaterThan | Should -Be 100
$policy.Rules[0].Definition.Filters.PrefixMatch.Count | Should -Be 2

$policy = Set-AzStorageAccountManagementPolicy -ResourceGroupName $rgname -StorageAccountName $accountNamePremium -Policy (@{
Rules=(@{
Enabled=$false;
Name="Test5";
Definition=(@{
Actions=(@{
BaseBlob=(@{
TierToHot=@{DaysAfterCreationGreaterThan=100};
});
});
Filters=(@{
BlobTypes=@("blockBlob","appendblob");
})
})
})
})
$policy.Rules.Count | Should -Be 1
$policy.Rules.Name | Should -Be "Test5"
$policy.Rules[0].Enabled | Should -Be $false
$policy.Rules[0].Definition.Actions.BaseBlob.TierToHot.DaysAfterCreationGreaterThan | Should -Be 100
$policy.Rules[0].Definition.Filters.BlobTypes.Count | Should -Be 2

Remove-AzStorageAccountManagementPolicy -ResourceGroupName $rgname -StorageAccountName $accountNameLc1 -PassThru

get-Azstorageaccount -ResourceGroupName $rgname -Name $accountNameLc1 | Remove-AzStorageAccountManagementPolicy

Get-AzStorageAccount -ResourceGroupName $rgname -Name $accountNameLc1| Remove-AzStorageAccount -Force
Remove-AzStorageAccount -ResourceGroupName $rgname -Name $accountNameLc2 -Force
Remove-AzStorageAccount -ResourceGroupName $rgname -Name $accountNameLc2 -Force -AsJob
Remove-AzStorageAccount -ResourceGroupName $rgname -Name $accountNamePremium -Force -AsJob

$Error.Count | should -be 0
}
Expand Down
Loading

0 comments on commit 74d8a8f

Please sign in to comment.