@@ -159,7 +159,7 @@ function Test-Blob
159159 New-TestResourceGroupAndStorageAccount - ResourceGroupName $ResourceGroupName - StorageAccountName $StorageAccountName
160160
161161 try {
162-
162+ $location = Get-ProviderLocation ResourceManagement
163163 $storageAccountKeyValue = $ (Get-AzStorageAccountKey - ResourceGroupName $ResourceGroupName - Name $StorageAccountName )[0 ].Value
164164 $storageContext = New-AzStorageContext - StorageAccountName $StorageAccountName - StorageAccountKey $storageAccountKeyValue
165165
@@ -168,7 +168,15 @@ function Test-Blob
168168 $localDestFile = " localdestblobtestfile.txt"
169169 $localDestFile2 = " localdestblobtestfile2.txt"
170170
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+
172180 $objectName1 = " blobtest1.txt"
173181 $objectName2 = " blobtest2.txt"
174182 $ContentType = " image/jpeg"
@@ -200,10 +208,12 @@ function Test-Blob
200208 $blob = Get-AzStorageContainer - Name $containerName - Context $storageContext | Get-AzStorageBlob
201209 Assert-AreEqual $blob.Count 1
202210 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 )
207217 $blob.ICloudBlob.FetchAttributes ()
208218 Assert-AreEqual $blob.ICloudBlob.Properties.StandardBlobTier $StandardBlobTier2
209219 Set-AzStorageBlobContent - File $localSrcFile - Container $containerName - Blob $objectName2 - Force - Properties @ {" ContentType" = $ContentType ; " ContentMD5" = $ContentMD5 } - Context $storageContext
@@ -238,7 +248,7 @@ function Test-Blob
238248 Assert-AreEqual $blob.Count 2
239249 Assert-AreEqual $blob [0 ].Name $objectName1
240250 Assert-AreEqual $blob [1 ].Name $objectName2
241- Assert-AreEqual $blob [1 ].ICloudBlob.Properties.StandardBlobTier $StandardBlobTier
251+ Assert-AreEqual $blob [1 ].BlobProperties.AccessTier $StandardBlobTier
242252
243253 # Download storage blob to compare with the local file.
244254 Get-AzStorageBlobContent - Container $containerName - Blob $objectName2 - Destination $localDestFile - Force - Context $storageContext
@@ -291,7 +301,7 @@ function Test-Blob
291301 Remove-AzRmStorageContainerImmutabilityPolicy - ResourceGroupName $ResourceGroupName - StorageAccountName $StorageAccountName - ContainerName $containerName - Etag $immutabilityPolicy.Etag
292302
293303 # Encryption Scope Test
294- $scopename = " testscope"
304+ $scopename = " testscope"
295305 $scopename2 = " testscope2"
296306 $containerName2 = " testscopecontainer"
297307 New-AzStorageEncryptionScope - ResourceGroupName $ResourceGroupName - StorageAccountName $storageAccountName - EncryptionScopeName $scopename - StorageEncryption
@@ -350,10 +360,29 @@ function Test-Blob
350360 $blob = Get-AzStorageBlob - Container $containerNamevlw - Blob $objectName - Context $storageContext
351361 Set-AzStorageBlobLegalHold - Container $containerNamevlw - Blob $objectName - Context $storageContext - DisableLegalHold
352362 $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+ }
353381
354382 # Clean Storage Account
355383 Remove-AzStorageContainer - Name $containerName - Force - Context $storageContext
356-
384+ Remove-AzStorageContainer - Name $containerName3 - Force - Context $storageContext
385+ Remove-AzStorageContainer - Name $containerName3 - Force - Context $storageContext2
357386 }
358387 finally
359388 {
@@ -523,8 +552,9 @@ function Test-BlobFileCopy
523552 $blob = Get-AzStorageContainer - Name $containerName - Context $storageContext | Get-AzStorageBlob
524553 Assert-AreEqual $blob.Count 1
525554 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
528558
529559 $shareName = " blobfilecopytestshare"
530560 # File Creation
0 commit comments