Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Storage/RegressionTests/adls.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

BeforeAll {
# Modify the path to your own
Import-Module D:\code\azure-powershell\src\Storage\RegressionTests\utils.ps1
Import-Module $PSScriptRoot\utils.ps1

[xml]$config = Get-Content D:\code\azure-powershell\src\Storage\RegressionTests\config.xml
$globalNode = $config.SelectSingleNode("config/section[@id='global']")
Expand Down
50 changes: 38 additions & 12 deletions src/Storage/RegressionTests/adls_setaclresusive.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,36 @@ function ResetFileToFail
{
# Reset the file to make it failure in set acl resusive
# New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path dir0/dir1/file1 -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x---
New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path dir0/dir2/file4 -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x---
$blob = Get-AzStorageBlob -Container $filesystemName -blob dir0/dir2/file4 -Context $ctx
$leaseID = $blob.ICloudBlob.AcquireLease($null, $null);
$blob = Get-AzStorageBlob -Container $filesystemName -blob dir0/dir2/file4 -Context $ctx
if ($blob.BlobProperties.LeaseStatus -eq "Unlocked")
{
New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path dir0/dir2/file4 -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x---
$blob = Get-AzStorageBlob -Container $filesystemName -blob dir0/dir2/file4 -Context $ctx
$leaseID = $blob.ICloudBlob.AcquireLease($timespan, $leaseID)
}
}

function ResetFileToSuccess
{
# Reset the file to make it success in set acl resusive
$blob = Get-AzStorageBlob -Container $filesystemName -blob dir0/dir2/file4 -Context $ctx

if (($blob.BlobProperties.LeaseStatus -eq "Locked"))# -and ($blob.BlobProperties.LeaseDuration -eq "Fixed"))
{
$ac = New-Object -TypeName "Microsoft.Azure.Storage.AccessCondition"
$ac.LeaseId = $leaseID
$blob.ICloudBlob.ReleaseLease($ac)

# sleep 1
# $blob = Get-AzStorageBlob -Container $filesystemName -blob dir0/dir2/file4 -Context $ctx
}
New-AzDataLakeGen2Item -Context $ctx2 -FileSystem $filesystemName -Path dir0/dir2/file4 -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x--- | Out-Null
}


BeforeAll {
# Modify the path to your own
Import-Module D:\code\azure-powershell\src\Storage\RegressionTests\utils.ps1
Import-Module $PSScriptRoot\utils.ps1

[xml]$config = Get-Content D:\code\azure-powershell\src\Storage\RegressionTests\config.xml
$globalNode = $config.SelectSingleNode("config/section[@id='global']")
Expand All @@ -31,6 +52,9 @@ BeforeAll {
$filesystemName = "adlstest2"
$localSrcFile = "C:\temp\testfile_1K_0" #The file needs to exist before tests, and should be 512 bytes aligned
$id = $globalNode.applicationId

# for lease blob to make set acl recusive fail
$timespan = New-Object -TypeName System.TimeSpan -ArgumentList 150000000
$leaseID = $testNode.leaseId


Expand Down Expand Up @@ -187,6 +211,8 @@ Describe "Set DataLakeGen2 Acl Recursive" {
$TotalFilesSuccess = 0
$totalFailure = 0
$FailedEntries = New-Object System.Collections.Generic.List[System.Object]

ResetFileToFail
do
{
if ($ContinueOnFailure)
Expand Down Expand Up @@ -224,6 +250,8 @@ Describe "Set DataLakeGen2 Acl Recursive" {
$token | should -BeNullOrEmpty
$FailedEntries.Count | should -Be 1

ResetFileToSuccess

$Error.Count | should -be 0
}

Expand All @@ -239,7 +267,7 @@ Describe "Set DataLakeGen2 Acl Recursive" {
$result.FailedEntries.Count | Should -Be 1
# Resume: fix the permission issue and continue set ACL recusive
# New-AzDataLakeGen2Item -Context $ctx2 -FileSystem $filesystemName -Path dir0/dir1/file1 -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x---
New-AzDataLakeGen2Item -Context $ctx2 -FileSystem $filesystemName -Path dir0/dir2/file4 -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x--- | Out-Null
ResetFileToSuccess
$result = Set-AzDataLakeGen2AclRecursive -Context $ctx2 -FileSystem $filesystemName -Path dir0 -Acl $acl1 -BatchSize 3 -ContinuationToken $result.ContinuationToken
($result.ContinuationToken -eq $null) | should -Be $true
$result.TotalFailureCount | should -Be 0
Expand All @@ -258,8 +286,7 @@ Describe "Set DataLakeGen2 Acl Recursive" {
$result.TotalFailureCount | should -Be 1
$result.FailedEntries.Count | Should -Be 1
# Resume: fix the permission issue and continue set ACL recusive
# New-AzDataLakeGen2Item -Context $ctx2 -FileSystem $filesystemName -Path dir0/dir1/file1 -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x---
New-AzDataLakeGen2Item -Context $ctx2 -FileSystem $filesystemName -Path dir0/dir2/file4 -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x---
ResetFileToSuccess
$result = Update-AzDataLakeGen2AclRecursive -Context $ctx2 -FileSystem $filesystemName -Path dir0 -Acl $acl2 -BatchSize 3 -ContinuationToken $result.ContinuationToken
($result.ContinuationToken -eq $null) | should -Be $true
$result.TotalFailureCount | should -Be 0
Expand All @@ -278,8 +305,7 @@ Describe "Set DataLakeGen2 Acl Recursive" {
$result.TotalFailureCount | should -Be 1
$result.FailedEntries.Count | Should -Be 1
# Resume: fix the permission issue and continue set ACL recusive
# New-AzDataLakeGen2Item -Context $ctx2 -FileSystem $filesystemName -Path dir0/dir1/file1 -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x---
New-AzDataLakeGen2Item -Context $ctx2 -FileSystem $filesystemName -Path dir0/dir2/file4 -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x---
ResetFileToSuccess
$result = Remove-AzDataLakeGen2AclRecursive -Context $ctx2 -FileSystem $filesystemName -Path dir0 -Acl $acl2 -BatchSize 20 -ContinuationToken $result.ContinuationToken
($result.ContinuationToken -eq $null) | should -Be $true
$result.TotalFailureCount | should -Be 0
Expand All @@ -302,7 +328,7 @@ Describe "Set DataLakeGen2 Acl Recursive" {
foreach ($path in $result.FailedEntries.Name)
{
# fix failed entry
New-AzDataLakeGen2Item -Context $ctx2 -FileSystem $filesystemName -Path $path -Source $localSrcFile -Force # | Update-AzDataLakeGen2Item -Permission rwxr-x---
ResetFileToSuccess
#setACL again
$result = Set-AzDataLakeGen2AclRecursive -Context $ctx2 -FileSystem $filesystemName -Path $path -Acl $acl1
$result.ContinuationToken | should -BeNullOrEmpty
Expand Down Expand Up @@ -333,7 +359,7 @@ Describe "Set DataLakeGen2 Acl Recursive" {
foreach ($path in $result.FailedEntries.Name)
{
# fix failed entry
New-AzDataLakeGen2Item -Context $ctx2 -FileSystem $filesystemName -Path $path -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x---
ResetFileToSuccess
#setACL again
$result = Update-AzDataLakeGen2AclRecursive -Context $ctx2 -FileSystem $filesystemName -Path $path -Acl $acl2
$result.ContinuationToken | should -BeNullOrEmpty
Expand Down Expand Up @@ -364,7 +390,7 @@ Describe "Set DataLakeGen2 Acl Recursive" {
foreach ($path in $result.FailedEntries.Name)
{
# fix failed entry
New-AzDataLakeGen2Item -Context $ctx2 -FileSystem $filesystemName -Path $path -Source $localSrcFile -Force | Update-AzDataLakeGen2Item -Permission rwxr-x---
ResetFileToSuccess
#setACL again
$result = Remove-AzDataLakeGen2AclRecursive -Context $ctx2 -FileSystem $filesystemName -Path $path -Acl $acl2
$result.ContinuationToken | should -BeNullOrEmpty
Expand Down
6 changes: 5 additions & 1 deletion src/Storage/RegressionTests/dataplane.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

BeforeAll {
# Modify the path to your own
Import-Module D:\code\azure-powershell\src\Storage\RegressionTests\utils.ps1
Import-Module $PSScriptRoot\utils.ps1

[xml]$config = Get-Content D:\code\azure-powershell\src\Storage\RegressionTests\config.xml
$globalNode = $config.SelectSingleNode("config/section[@id='global']")
Expand Down Expand Up @@ -181,9 +181,13 @@ Describe "dataplane test" {
$sas = New-AzStorageBlobSASToken -container $containerName -Blob test.txt -Permission w -Context $ctx
$ctxsas = New-AzStorageContext -StorageAccountName $ctx.StorageAccountName -SasToken $sas.Substring(1)
$bs = Get-AzStorageBlob -Container $containerName -Context $ctx
$bs[0].ListBlobProperties | should -Not -Be $null
$bs[0].ListBlobProperties.Properties | should -Not -Be $null
$bs[0].ListBlobProperties.Properties.BlobType | should -Not -Be $null
$bs[0].BlobProperties | should -Not -Be $null
$b = Get-AzStorageBlob -Container $containerName -Blob $bs[0].Name -Context $ctx
$b.BlobProperties | should -Not -Be $null
$b.ListBlobProperties | should -Be $null

#copy with oauth
# cross account
Expand Down
18 changes: 9 additions & 9 deletions src/Storage/RegressionTests/runStable.ps1
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@


Import-Module d:\code\PSH_Dev\artifacts\Debug\Az.Accounts\Az.Accounts.psd1
Import-Module d:\code\PSH_Dev\artifacts\Debug\Az.Storage\Az.Storage.psd1
#Import-Module d:\code\PSH_Dev\artifacts\Debug\Az.Accounts\Az.Accounts.psd1
#Import-Module d:\code\PSH_Dev\artifacts\Debug\Az.Storage\Az.Storage.psd1


Import-Module C:\Users\weiwei\Desktop\PSH_Script\PSHTest\utils.ps1
Import-Module C:\Users\weiwei\Desktop\PSH_Script\Assert.ps1
Import-Module $PSScriptRoot\utils.ps1
# Import-Module $PSScriptRoot\Assert.ps1


# $preview = $true

Invoke-Pester C:\Users\weiwei\Desktop\PSH_Script\PSHTest\dataplane.ps1 -Show All -Strict # -TagFilter ToTest # -TagFilter blobversion,qq
Invoke-Pester C:\Users\weiwei\Desktop\PSH_Script\PSHTest\adls.ps1 -Show All -Strict
Invoke-Pester C:\Users\weiwei\Desktop\PSH_Script\PSHTest\adls_setaclresusive.ps1 -Show All -Strict
Invoke-Pester C:\Users\weiwei\Desktop\PSH_Script\PSHTest\srp.ps1 -Show All -Strict -ExcludeTagFilter "longrunning" # -TagFilter "fail"
Invoke-Pester $PSScriptRoott\dataplane.ps1 -Show All -Strict # -TagFilter ToTest # -TagFilter blobversion,qq
Invoke-Pester $PSScriptRoot\adls.ps1 -Show All -Strict
Invoke-Pester $PSScriptRoot\adls_setaclresusive.ps1 -Show All -Strict
Invoke-Pester $PSScriptRoot\srp.ps1 -Show All -Strict -ExcludeTagFilter "longrunning" # -TagFilter "fail"

Invoke-Pester C:\Users\weiwei\Desktop\PSH_Script\PSHTest\srp.ps1 -Show All -Strict -TagFilter "longrunning"
Invoke-Pester $PSScriptRoot\srp.ps1 -Show All -Strict -TagFilter "longrunning"


#Invoke-Pester C:\Users\weiwei\Desktop\PSH_Script\PSHTest\dataplane.ps1 -Show All -Strict -TagFilter accesspolicy
Expand Down
30 changes: 16 additions & 14 deletions src/Storage/RegressionTests/srp.ps1
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Invoke-Pester C:\Users\weiwei\Desktop\PSH_Script\PSHTest\dataplane.ps1 -Show All -Strict -ExcludeTagFilter "Preview"

BeforeAll {
Import-Module D:\code\azure-powershell\artifacts\Debug\Az.Accounts\Az.Accounts.psd1
Import-Module D:\code\azure-powershell\artifacts\Debug\Az.Storage\Az.Storage.psd1
# Import-Module D:\code\azure-powershell\artifacts\Debug\Az.Accounts\Az.Accounts.psd1
# Import-Module D:\code\azure-powershell\artifacts\Debug\Az.Storage\Az.Storage.psd1

# Modify the path to your own
Import-Module D:\code\azure-powershell\src\Storage\RegressionTests\utils.ps1
Import-Module $PSScriptRoot\utils.ps1

[xml]$config = Get-Content D:\code\azure-powershell\src\Storage\RegressionTests\config.xml
$globalNode = $config.SelectSingleNode("config/section[@id='global']")
Expand Down Expand Up @@ -41,29 +41,31 @@ Describe "Management plan test" {

$accountNameBasic = $accountName + "basic"

$account = New-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $accountNameBasic -SkuName Standard_GRS -Location "eastus2euap" -Kind StorageV2 -EnableHierarchicalNamespace $true -EnableHttpsTrafficOnly $true -AllowCrossTenantReplication $false -PublicNetworkAccess Disabled # -AllowedCopyScope AAD
$account = New-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $accountNameBasic -SkuName Standard_GRS -Location "westus" -Kind StorageV2 -EnableHierarchicalNamespace $true -EnableHttpsTrafficOnly $true -AllowCrossTenantReplication $false -PublicNetworkAccess Disabled -AllowedCopyScope AAD
$account.ResourceGroupName | should -Be $rgname
$account.StorageAccountName | should -Be $accountNameBasic
$account.Sku.Name | should -Be "Standard_GRS"
$account.Location | should -Be "eastus2euap"
$account.Location | should -Be "westus"
$account.EnableHierarchicalNamespace | should -Be $true
$account.EnableHttpsTrafficOnly | should -Be $true
$account.Kind | should -Be "StorageV2"
$account.AllowCrossTenantReplication | should -Be $false
$account.PublicNetworkAccess | should -Be Disabled
# $account.AllowedCopyScope | should -Be AAD
$account.AllowedCopyScope | should -Be AAD

$result = Get-AzStorageAccountNameAvailability -Name $accountNameBasic
$result.NameAvailable | should -Be $false

$account = Get-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $accountNameBasic | Set-AzStorageAccount -EnableHttpsTrafficOnly $false -AccessTier cool -Force
$account.EnableHttpsTrafficOnly | should -Be $false
$account.AccessTier | should -Be "Cool"
$account = Get-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $accountNameBasic | Set-AzStorageAccount -UpgradeToStorageV2 -PublicNetworkAccess Enabled
$account = Get-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $accountNameBasic | Set-AzStorageAccount -UpgradeToStorageV2 -PublicNetworkAccess Enabled -AllowedCopyScope PrivateLink
$account.Kind | should -Be "StorageV2"
$account.AllowedCopyScope | should -Be PrivateLink
$account = Get-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $accountNameBasic -IncludeGeoReplicationStats
($account.GeoReplicationStats -eq $null) | should -Be $false
$account.PublicNetworkAccess | should -Be Enabled
$account.AllowedCopyScope | should -Be PrivateLink

Remove-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $accountNameBasic -Force -AsJob

Expand Down Expand Up @@ -674,7 +676,7 @@ Describe "Management plan test" {

$accountNameEncryp = $accountName + "ska"

$account = New-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $accountNameEncryp -SkuName Standard_LRS -Location 'East US 2 EUAP' -Kind StorageV2 -EncryptionKeyTypeForTable Account -EncryptionKeyTypeForQueue Account -AllowSharedKeyAccess $false
$account = New-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $accountNameEncryp -SkuName Standard_LRS -Location 'westus' -Kind StorageV2 -EncryptionKeyTypeForTable Account -EncryptionKeyTypeForQueue Account -AllowSharedKeyAccess $false
$account.Encryption.Services.Queue.Keytype | should -be "account"
$account.Encryption.Services.Table.Keytype | should -be "account"
$account.AllowSharedKeyAccess | Should -be $false
Expand Down Expand Up @@ -1148,7 +1150,7 @@ Describe "Management plan test" {

$rgname = $globalNode.resourceGroupName
$accountNamePITR = $accountName + "pitr"
New-AzStorageAccount -ResourceGroupName $rgname -Name $accountNamePITR -SkuName Standard_LRS -Location eastus2euap
New-AzStorageAccount -ResourceGroupName $rgname -Name $accountNamePITR -SkuName Standard_LRS -Location westus
Enable-AzStorageBlobDeleteRetentionPolicy -ResourceGroupName $rgname -StorageAccountName $accountNamePITR -RetentionDays 5
Update-AzStorageBlobServiceProperty -ResourceGroupName $rgname -StorageAccountName $accountNamePITR -EnableChangeFeed $true -IsVersioningEnabled $true
Enable-AzStorageBlobRestorePolicy -ResourceGroupName $rgname -StorageAccountName $accountNamePITR -RestoreDays 4 -PassThru
Expand Down Expand Up @@ -2147,11 +2149,11 @@ Describe "Management plan test" {

$vnet1 = $testNode.nfsv3.vnet
# Commands to create a vnet
# New-AzVirtualNetwork -ResourceGroupName $rgname -Location "eastus2euap" -AddressPrefix 10.0.0.0/24 -Name "vnet1"
# New-AzVirtualNetwork -ResourceGroupName $rgname -Location "westus" -AddressPrefix 10.0.0.0/24 -Name "vnet1"
# $n = Get-AzVirtualNetwork -ResourceGroupName $rgname -Name "vnet1" | Add-AzVirtualNetworkSubnetConfig -Name "subnet1" -AddressPrefix "10.0.0.0/28" -ServiceEndpoint "Microsoft.Storage" | Set-AzVirtualNetwork

$accountNameNfsv3 = $accountName + "nfsv3"
$a = New-AzStorageAccount -ResourceGroupName $rgname -Name $accountNameNfsv3 -SkuName Standard_LRS -Location centraluseuap -Kind StorageV2 -EnableNfsV3 $true -EnableHierarchicalNamespace $true -EnableHttpsTrafficOnly $false `
$a = New-AzStorageAccount -ResourceGroupName $rgname -Name $accountNameNfsv3 -SkuName Standard_LRS -Location westus -Kind StorageV2 -EnableNfsV3 $true -EnableHierarchicalNamespace $true -EnableHttpsTrafficOnly $false `
-NetworkRuleSet (@{bypass="Logging,Metrics";virtualNetworkRules=(@{VirtualNetworkResourceId="$vnet1";Action="allow"});defaultAction="deny"})
$a.EnableNfsV3 | should -BeTrue

Expand Down Expand Up @@ -2333,7 +2335,7 @@ Describe "Management plan test" {
$Error.Clear()

# Create account
$a = New-AzStorageAccount -ResourceGroupName $rgname -Name $accountNameHns -SkuName Standard_LRS -Location centraluseuap -Kind StorageV2 # -EnableHierarchicalNamespace $true
$a = New-AzStorageAccount -ResourceGroupName $rgname -Name $accountNameHns -SkuName Standard_LRS -Location westus -Kind StorageV2 # -EnableHierarchicalNamespace $true
$a.EnableHierarchicalNamespace | should -be $null

# Validation
Expand All @@ -2344,7 +2346,7 @@ Describe "Management plan test" {

# stop upgrade (will fail)
Stop-AzStorageAccountHierarchicalNamespaceUpgrade -ResourceGroupName $rgname -Name $accountNameHns -Force -PassThru -ErrorAction SilentlyContinue
$error[0].Exception.Message | should -Be "Hns migration for the account: $($accountName) is not found."
$error[0].Exception.Message | should -Be "Hns migration for the account: $($accountNameHns) is not found."
$error.Count | should -be 1
$error.Clear()

Expand Down Expand Up @@ -2407,7 +2409,7 @@ Describe "Management plan test" {
$Error.Clear()
$accountNameVLW = $testNode.SelectSingleNode("accountName[@id='1']").'#text' ## e.g. “testaccount”

$ctx = (Get-AzStorageAccount -ResourceGroupName $rgname -Name $accountName).Context
$ctx = (Get-AzStorageAccount -ResourceGroupName $rgname -Name $accountNameVLW).Context
$containerNameVLW = "vlwtest"
$containerNameVLW2 = "vlwtestmigration2"
$localSrcFile = "C:\temp\testfile_10240K_0"
Expand Down