@@ -159,7 +159,7 @@ function Test-Blob
159
159
New-TestResourceGroupAndStorageAccount - ResourceGroupName $ResourceGroupName - StorageAccountName $StorageAccountName
160
160
161
161
try {
162
-
162
+ $location = Get-ProviderLocation ResourceManagement
163
163
$storageAccountKeyValue = $ (Get-AzStorageAccountKey - ResourceGroupName $ResourceGroupName - Name $StorageAccountName )[0 ].Value
164
164
$storageContext = New-AzStorageContext - StorageAccountName $StorageAccountName - StorageAccountKey $storageAccountKeyValue
165
165
@@ -168,7 +168,15 @@ function Test-Blob
168
168
$localDestFile = " localdestblobtestfile.txt"
169
169
$localDestFile2 = " localdestblobtestfile2.txt"
170
170
171
- $containerName = " blobtestcontainer"
171
+ $containerName = " blobtestcontainer"
172
+ $storageAccountName2 = $storageAccountName + " 2"
173
+ New-AzStorageAccount - Name $storageAccountName2 - ResourceGroupName $ResourceGroupName - Location $location - Type ' Standard_LRS'
174
+ $storageAccountKeyValue2 = $ (Get-AzStorageAccountKey - ResourceGroupName $ResourceGroupName - Name $StorageAccountName2 )[0 ].Value
175
+ $storageContext2 = New-AzStorageContext - StorageAccountName $StorageAccountName2 - StorageAccountKey $storageAccountKeyValue2
176
+ $containerName3 = " blobtestcontainer2"
177
+ New-AzStorageContainer $containerName3 - Context $storageContext
178
+ New-AzStorageContainer $containerName3 - Context $storageContext2
179
+
172
180
$objectName1 = " blobtest1.txt"
173
181
$objectName2 = " blobtest2.txt"
174
182
$ContentType = " image/jpeg"
@@ -200,10 +208,12 @@ function Test-Blob
200
208
$blob = Get-AzStorageContainer - Name $containerName - Context $storageContext | Get-AzStorageBlob
201
209
Assert-AreEqual $blob.Count 1
202
210
Assert-AreEqual $blob.Name $objectName1
203
- Assert-AreEqual $blob.ICloudBlob.Properties.ContentType $ContentType
204
- Assert-AreEqual $blob.ICloudBlob.Properties.ContentMD5 $ContentMD5
205
- Assert-AreEqual $blob.ICloudBlob.Properties.StandardBlobTier $StandardBlobTier
206
- $blob.ICloudBlob.SetStandardBlobTier ($StandardBlobTier2 , " High" )
211
+ Assert-AreEqual $blob.BlobProperties.ContentType $ContentType
212
+ Assert-AreEqual $blob.BlobProperties.AccessTier $StandardBlobTier
213
+ $contentHash = [System.Convert ]::ToBase64String($blob.BlobProperties.ContentHash )
214
+ Assert-AreEqual $contentHash $ContentMD5
215
+
216
+ $blob.BlobBaseClient.SetAccessTier ($StandardBlobTier2 )
207
217
$blob.ICloudBlob.FetchAttributes ()
208
218
Assert-AreEqual $blob.ICloudBlob.Properties.StandardBlobTier $StandardBlobTier2
209
219
Set-AzStorageBlobContent - File $localSrcFile - Container $containerName - Blob $objectName2 - Force - Properties @ {" ContentType" = $ContentType ; " ContentMD5" = $ContentMD5 } - Context $storageContext
@@ -238,7 +248,7 @@ function Test-Blob
238
248
Assert-AreEqual $blob.Count 2
239
249
Assert-AreEqual $blob [0 ].Name $objectName1
240
250
Assert-AreEqual $blob [1 ].Name $objectName2
241
- Assert-AreEqual $blob [1 ].ICloudBlob.Properties.StandardBlobTier $StandardBlobTier
251
+ Assert-AreEqual $blob [1 ].BlobProperties.AccessTier $StandardBlobTier
242
252
243
253
# Download storage blob to compare with the local file.
244
254
Get-AzStorageBlobContent - Container $containerName - Blob $objectName2 - Destination $localDestFile - Force - Context $storageContext
@@ -291,7 +301,7 @@ function Test-Blob
291
301
Remove-AzRmStorageContainerImmutabilityPolicy - ResourceGroupName $ResourceGroupName - StorageAccountName $StorageAccountName - ContainerName $containerName - Etag $immutabilityPolicy.Etag
292
302
293
303
# Encryption Scope Test
294
- $scopename = " testscope"
304
+ $scopename = " testscope"
295
305
$scopename2 = " testscope2"
296
306
$containerName2 = " testscopecontainer"
297
307
New-AzStorageEncryptionScope - ResourceGroupName $ResourceGroupName - StorageAccountName $storageAccountName - EncryptionScopeName $scopename - StorageEncryption
@@ -350,10 +360,29 @@ function Test-Blob
350
360
$blob = Get-AzStorageBlob - Container $containerNamevlw - Blob $objectName - Context $storageContext
351
361
Set-AzStorageBlobLegalHold - Container $containerNamevlw - Blob $objectName - Context $storageContext - DisableLegalHold
352
362
$blob = Get-AzStorageBlob - Container $containerNamevlw - Blob $objectName - Context $storageContext
363
+
364
+ $blobTypes = @ (" Block" , " Page" , " Append" )
365
+ # Upload blob for all 3 types of blobs
366
+ foreach ($blobType in $blobTypes ) {
367
+ $blobName = $blobType + " SrcBlob"
368
+ $t = Set-AzStorageBlobContent - File $localSrcFile - Container $containerName3 - Blob $blobName - Force - Properties @ {" ContentType" = $ContentType } - Context $storageContext - BlobType $blobType
369
+ }
370
+ # Test all 9 directions of copy
371
+ foreach ($srcType in $blobTypes ) {
372
+ foreach ($destType in $blobTypes ) {
373
+ $srcBlobName = $srcType + " SrcBlob"
374
+ $destBlobName = $srcType + " To" + $destType + " Blob"
375
+ $copiedBlob = Copy-AzStorageBlob - SrcContainer $containerName3 - SrcBlob $srcBlobName - Context $storageContext - DestContainer $containerName3 - DestBlob $destBlobName - DestContext $storageContext2 - DestBlobType $destType - Force
376
+ Assert-AreEqual $copiedBlob.BlobProperties.BlobType $destType
377
+ Assert-AreEqual $copiedBlob.Name $destBlobName
378
+ Assert-AreEqual $copiedBlob.BlobBaseClient.AccountName $storageAccountName2
379
+ }
380
+ }
353
381
354
382
# Clean Storage Account
355
383
Remove-AzStorageContainer - Name $containerName - Force - Context $storageContext
356
-
384
+ Remove-AzStorageContainer - Name $containerName3 - Force - Context $storageContext
385
+ Remove-AzStorageContainer - Name $containerName3 - Force - Context $storageContext2
357
386
}
358
387
finally
359
388
{
@@ -523,8 +552,9 @@ function Test-BlobFileCopy
523
552
$blob = Get-AzStorageContainer - Name $containerName - Context $storageContext | Get-AzStorageBlob
524
553
Assert-AreEqual $blob.Count 1
525
554
Assert-AreEqual $blob.Name $objectName1
526
- Assert-AreEqual $blob.ICloudBlob.Properties.ContentType $ContentType
527
- Assert-AreEqual $blob.ICloudBlob.Properties.ContentMD5 $ContentMD5
555
+ Assert-AreEqual $blob.BlobProperties.ContentType $ContentType
556
+ $contentHash = [System.Convert ]::ToBase64String($blob.BlobProperties.ContentHash )
557
+ Assert-AreEqual $contentHash $ContentMD5
528
558
529
559
$shareName = " blobfilecopytestshare"
530
560
# File Creation
0 commit comments