2
2
3
3
BeforeAll {
4
4
# Modify the path to your own
5
- Import-Module .\utils.ps1
5
+ Import-Module ( get-item .\utils.ps1).FullName
6
6
7
- [xml ]$config = Get-Content .\config.xml
7
+ [xml ]$config = Get-Content ( get-item .\config.xml).FullName
8
8
$globalNode = $config.SelectSingleNode (" config/section[@id='global']" )
9
9
$testNode = $config.SelectSingleNode (" config/section[@id='dataplane']" )
10
10
@@ -276,6 +276,7 @@ Describe "dataplane test" {
276
276
277
277
Set-AzStorageAccount - ResourceGroupName $resourceGroupName - Name $storageAccountName - AllowBlobPublicAccess $true
278
278
sleep 120 # Set sleep time to 2 min to make sure AllowBlobPublicAccess becomes True
279
+
279
280
# # regression test for Fix Set-AzStorageContainerAcl can clean up the stored Access Policy
280
281
New-AzStorageContainerStoredAccessPolicy - Container $containerName - Policy 123 - Permission rw - Context $ctx
281
282
New-AzStorageContainerStoredAccessPolicy - Container $containerName - Policy 234 - Permission rwdl - Context $ctx
@@ -1796,7 +1797,7 @@ Describe "dataplane test" {
1796
1797
# Set-AzStorageFileContent -ShareName $containerName -Path 0size -Source C:\temp\0 -Context $ctx -force
1797
1798
1798
1799
$file = Get-AzStorageFileContent - Destination $localDestFile - ShareName $shareName - Path $bigfile.ShareFileClient.Path - CheckMd5 - Context $ctx2 - force - PassThru
1799
- CompareFileFileMD5 $localDestFile $file
1800
+ CompareFileFileMD5 ( get-item $localDestFile ).FullName $file
1800
1801
1801
1802
# del $localDestFile
1802
1803
@@ -2085,7 +2086,7 @@ Describe "dataplane test" {
2085
2086
$localLargeSrcFile = " .\data\testfile_307200K_0" # File of size 300M. Needs to be created beforehand
2086
2087
$localDestFile = " .\created\testoauth" # test will create the file
2087
2088
$localDestFileName = " testoauth"
2088
- $shareName = " sharefileoauth "
2089
+ $shareName = " $ ( GetRandomContainerName ) oauth "
2089
2090
$filename = " filefileoauth"
2090
2091
$dirname = " dir1"
2091
2092
$filepath = " dir1\test1"
@@ -2096,9 +2097,9 @@ Describe "dataplane test" {
2096
2097
# Add-AzAccount -ServicePrincipal -Tenant $globalNode.tenantId -SubscriptionId $globalNode.subscriptionId -Credential $cred
2097
2098
2098
2099
$ctxoauth = New-AzStorageContext - StorageAccountName $accountname - EnableFileBackupRequestIntent
2099
- $ctxkey = (Get-AzStorageAccount - ResourceGroupName $resourceGroupName - Name $accountname ).Context
2100
+ $ctxkey = New-AzStorageContext - StorageAccountName $accountname - StorageAccountKey (Get-AzStorageAccountKey - ResourceGroupName $resourceGroupName - Name $accountname )[ 0 ].Value
2100
2101
$ctxoauth2 = New-AzStorageContext - StorageAccountName $accountname2 - EnableFileBackupRequestIntent
2101
- $ctxkey2 = (Get-AzStorageAccount - ResourceGroupName $resourceGroupName - Name $accountname2 ).Context
2102
+ # $ctxkey2 = (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $accountname2).Context
2102
2103
2103
2104
New-AzStorageShare - Name $shareName - Context $ctxkey
2104
2105
Set-AzStorageFileContent - ShareName $shareName - Source $localSrcFile - Path $filename - Context $ctxoauth - Force
@@ -2109,12 +2110,40 @@ Describe "dataplane test" {
2109
2110
$dir = $share | Get-AzStorageFile - Path $dirname
2110
2111
$file = $share | Get-AzStorageFile - Path $filename
2111
2112
2113
+ # share API with Oauth
2114
+ $share2 = New-AzStorageShare - Name " $ ( $shareName ) 2" - Context $ctxoauth
2115
+ $share2.Name | should - Be " $ ( $shareName ) 2"
2116
+ $shares = Get-AzStorageShare - Context $ctxoauth
2117
+ $shares.Count | should - BeGreaterOrEqual 2
2118
+ $count1 = $shares.Count
2119
+
2120
+ $share2 = Set-AzStorageShareQuota - Name " $ ( $shareName ) 2" - Context $ctxoauth - Quota 200
2121
+ $share2 = Get-AzStorageShare - Name " $ ( $shareName ) 2" - Context $ctxoauth
2122
+ $share2.Name | should - Be " $ ( $shareName ) 2"
2123
+ $share2.Quota | should - Be 200
2124
+
2125
+ New-AzStorageShareStoredAccessPolicy - Name $shareName - Context $ctxoauth - Policy 123 - Permission rw
2126
+ New-AzStorageShareStoredAccessPolicy - Name $shareName - Context $ctxoauth - Policy 1234 - Permission r - StartTime (Get-Date ) - ExpiryTime (Get-Date ).Add(1 )
2127
+ set-AzStorageShareStoredAccessPolicy - Name $shareName - Context $ctxoauth - Policy 123 - Permission rwd - StartTime (Get-Date )
2128
+ $policy = Get-AzStorageShareStoredAccessPolicy - Name $shareName - Context $ctxoauth
2129
+ $policy.Count | should - be 2
2130
+ Remove-AzStorageShareStoredAccessPolicy - Name $shareName - Context $ctxoauth - Policy 123
2131
+
2132
+ Remove-AzStorageShare - Name " $ ( $shareName ) 2" - Context $ctxoauth - Force
2133
+ $share2.Name | should - Be " $ ( $shareName ) 2"
2134
+ $shares = Get-AzStorageShare - Context $ctxoauth
2135
+ $shares.Count | should - Be ($count1 - 1 )
2136
+
2137
+
2138
+
2112
2139
# Set and get permission
2113
2140
$permission = $testNode.permission
2114
- $response = $share.ShareClient.CreatePermission ($permission );
2141
+ $inputpermission = new-object Azure.Storage.Files.Shares.Models.ShareFilePermission
2142
+ $inputpermission.Permission = $permission
2143
+ $response = $share.ShareClient.CreatePermission ($inputpermission );
2115
2144
$key = $response.Value.FilePermissionKey
2116
2145
$outputPermission = $share.ShareClient.GetPermission ($key )
2117
- $outputPermission.Value | Should - Be $permission
2146
+ $outputPermission.Value.Permission | Should - Be $permission
2118
2147
2119
2148
# file handler
2120
2149
$handleCount = Close-AzStorageFileHandle - ShareName $shareName - CloseAll - Context $ctxoauth - PassThru
@@ -2214,7 +2243,7 @@ Describe "dataplane test" {
2214
2243
2215
2244
New-AzStorageContainer - Name $shareName - Context $ctxoauth - ErrorAction SilentlyContinue
2216
2245
$b = Set-AzStorageblobContent - Container $shareName - File $localSrcFile - blob testblob - Context $ctxoauth - Force
2217
- New-AzStorageShare - Name $shareName - Context $ctxkey2 - ErrorAction SilentlyContinue
2246
+ New-AzStorageShare - Name $shareName - Context $ctxoauth2 - ErrorAction SilentlyContinue
2218
2247
New-AzStorageDirectory - ShareName $shareName - Path dir1 - Context $ctxoauth2 - ErrorAction SilentlyContinue
2219
2248
Set-AzStorageFileContent - ShareName $shareName - Source $localSrcFile - Path dir1/ test1 - Context $ctxoauth - Force
2220
2249
$Error.Clear ()
@@ -2368,25 +2397,8 @@ Describe "dataplane test" {
2368
2397
$stopmessage = Stop-AzStorageFileCopy - ShareFileClient $fd.ShareFileClient - Context $ctxoauth - Force - ErrorAction SilentlyContinue
2369
2398
$error [0 ].Exception.Message | should - BeLike " There is currently no pending copy operation*"
2370
2399
$error.Clear ()
2371
-
2372
- # should fail
2400
+
2373
2401
$Error.Count | should - be 0
2374
- $error.Clear ()
2375
- New-AzStorageShare - Name $shareName - Context $ctxoauth - ErrorAction SilentlyContinue
2376
- Get-AzStorageShare - Context $ctxoauth - ErrorAction SilentlyContinue
2377
- Get-AzStorageShare - Name $shareName - Context $ctxoauth - ErrorAction SilentlyContinue
2378
- Remove-AzStorageShare - Name $shareName - Context $ctxoauth - Force - ErrorAction SilentlyContinue
2379
- Set-AzStorageShareQuota - Name $shareName - Quota 1024 - Context $ctxoauth - ErrorAction SilentlyContinue
2380
- New-AzStorageShareStoredAccessPolicy - ShareName $shareName - Policy 123 - Permission rw - Context $ctxoauth - ErrorAction SilentlyContinue
2381
- Set-AzStorageShareStoredAccessPolicy - ShareName $shareName - Policy 123 - Permission rw - Context $ctxoauth - ErrorAction SilentlyContinue
2382
- Get-AzStorageShareStoredAccessPolicy - ShareName $shareName - Context $ctxoauth - ErrorAction SilentlyContinue
2383
- Remove-AzStorageShareStoredAccessPolicy - ShareName $shareName - Policy 123 - Context $ctxoauth - ErrorAction SilentlyContinue
2384
- $error.Count | should - be 9
2385
- foreach ($e in $error )
2386
- {
2387
- $e.Exception.Message | should - BeLike " *This API does not support bearer tokens. For OAuth, use the Storage Resource Provider APIs instead. Learn more: https://aka.ms/azurefiles/restapi.*"
2388
- }
2389
- $error.Clear ()
2390
2402
2391
2403
Set-AzStorageServiceMetricsProperty - ServiceType File - MetricsType Hour - Context $ctxoauth - ErrorAction SilentlyContinue
2392
2404
$error [0 ].Exception.Message | should - BeLike " *Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.*"
@@ -2408,8 +2420,9 @@ Describe "dataplane test" {
2408
2420
$e.Exception.Message | should - BeLike " *Create File service SAS only supported with SharedKey credential.*"
2409
2421
}
2410
2422
$error.Clear ()
2411
-
2412
- Remove-AzStorageShare - Name $shareName - Context $ctxkey - Force
2423
+
2424
+ Remove-AzStorageShare - Name $shareName - Context $ctxoauth - Force
2425
+ Remove-AzStorageShare - Name $shareName - Context $ctxoauth2 - Force
2413
2426
2414
2427
$Error.Count | should - be 0
2415
2428
}
@@ -2461,12 +2474,12 @@ Describe "dataplane test" {
2461
2474
$f.Name | Should - Be " files..."
2462
2475
$f.ShareFileClient.Path | Should - Be " test1./test2../files..."
2463
2476
$f.ShareFileClient.Name | Should - Be " files..."
2464
- $f.Length | Should - Be 1024
2477
+ $f.Length | Should - Be ( Get-Item .\ data \testfile_1024K_0).Length
2465
2478
2466
2479
$f = Set-AzStorageFileContent - ShareName $shareName - Path " test1./test2../files.1.." - Source .\data \testfile_10240K_0 - Context $ctx - PassThru - Force
2467
2480
$f.Name | Should - Be " files.1.."
2468
2481
$f.ShareFileClient.Path | Should - Be " test1./test2../files.1.."
2469
- $f.Length | Should - Be 10240
2482
+ $f.Length | Should - Be ( Get-Item .\ data \testfile_10240K_0).Length
2470
2483
$f.ShareFileClient.Name | Should - Be " files.1.."
2471
2484
2472
2485
# download file/dir
@@ -2576,6 +2589,48 @@ Describe "dataplane test" {
2576
2589
2577
2590
}
2578
2591
2592
+ It " Storage Account Context works on both AllowSharedKeyAccess = true/false account." {
2593
+ $Error.Clear ()
2594
+
2595
+ # with get context with sharedkey
2596
+ $ctx2 = (Get-AzStorageAccount - ResourceGroupName $resourceGroupName - Name $storageAccountName2 ).Context
2597
+
2598
+ $result = Get-AzStorageContainer - Context $ctx - MaxCount 1
2599
+ $result | should -Not - Be $null
2600
+ $result = Get-AzStorageShare - Context $ctx
2601
+ $result | should -Not - Be $null
2602
+ $result = Get-AzStorageTable - Context $ctx
2603
+ $result | should -Not - Be $null
2604
+ $result = Get-AzStorageQueue - Context $ctx
2605
+ $result | should -Not - Be $null
2606
+
2607
+ try
2608
+ {
2609
+ # with get context with Oauth
2610
+ Set-AzStorageAccount - ResourceGroupName $resourceGroupName - Name $storageAccountName2 - AllowSharedKeyAccess $false
2611
+
2612
+ $ctx2 = (Get-AzStorageAccount - ResourceGroupName $resourceGroupName - Name $storageAccountName2 ).Context
2613
+
2614
+ $result = Get-AzStorageContainer - Context $ctx - MaxCount 1
2615
+ $result | should -Not - Be $null
2616
+ New-AzStorageDirectory - ShareName $containerName - Path diroauthtest - Context $ctx - ErrorAction SilentlyContinue
2617
+ $result = Get-AzStorageFile - ShareName $containerName - Context $ctx
2618
+ $result | should -Not - Be $null
2619
+ $result = Get-AzStorageTable - Context $ctx
2620
+ $result | should -Not - Be $null
2621
+ $result = Get-AzStorageQueue - Context $ctx
2622
+ $result | should -Not - Be $null
2623
+ }
2624
+ catch
2625
+ {
2626
+ Set-AzStorageAccount - ResourceGroupName $resourceGroupName - Name $storageAccountName2 - AllowSharedKeyAccess $true
2627
+ throw ;
2628
+ }
2629
+ Set-AzStorageAccount - ResourceGroupName $resourceGroupName - Name $storageAccountName2 - AllowSharedKeyAccess $true
2630
+
2631
+ $Error.Count | should - be 0
2632
+ }
2633
+
2579
2634
It " Test case name" {
2580
2635
$Error.Clear ()
2581
2636
0 commit comments