@@ -278,28 +278,52 @@ function Test-Blob
278
278
Assert-AreEqual $blob.Count 2
279
279
Assert-AreEqual $blob [0 ].ICloudBlob.IsSnapshot $true
280
280
Assert-AreEqual $blob [1 ].ICloudBlob.IsSnapshot $false
281
-
282
- # Upload Blob with properties to container which enabled Immutability Policy
283
- Set-AzRmStorageContainerImmutabilityPolicy - ResourceGroupName $ResourceGroupName - StorageAccountName $StorageAccountName - ContainerName $containerName - ImmutabilityPeriod 1
281
+
282
+ # Upload Blob with properties to container which enabled Immutability Policy
283
+ Set-AzRmStorageContainerImmutabilityPolicy - ResourceGroupName $ResourceGroupName - StorageAccountName $StorageAccountName - ContainerName $containerName - ImmutabilityPeriod 1
284
284
Set-AzStorageBlobContent - File $localSrcFile - Container $containerName - Blob immublob - Force - Properties @ {" CacheControl" = " max-age=31536000, private" ; " ContentEncoding" = " gzip" ; " ContentDisposition" = " 123" ; " ContentLanguage" = " 1234" ; " ContentType" = " abc/12345" ; } - Metadata @ {" tag1" = " value1" ; " tag2" = " value22" } - Context $storageContext
285
-
286
- $immutabilityPolicy = Get-AzRmStorageContainerImmutabilityPolicy - ResourceGroupName $ResourceGroupName - StorageAccountName $StorageAccountName - ContainerName $containerName
287
- Remove-AzRmStorageContainerImmutabilityPolicy - ResourceGroupName $ResourceGroupName - StorageAccountName $StorageAccountName - ContainerName $containerName - Etag $immutabilityPolicy.Etag
288
-
289
- # Encryption Scope Test
290
- $scopename = " testscope"
291
- $scopename2 = " testscope2"
292
- $containerName2 = " testscopecontainer"
293
- New-AzStorageEncryptionScope - ResourceGroupName $ResourceGroupName - StorageAccountName $storageAccountName - EncryptionScopeName $scopename - StorageEncryption
294
- New-AzStorageEncryptionScope - ResourceGroupName $ResourceGroupName - StorageAccountName $storageAccountName - EncryptionScopeName $scopename2 - StorageEncryption
295
- $container = New-AzStorageContainer - Name $containerName2 - Context $storageContext - DefaultEncryptionScope $scopeName - PreventEncryptionScopeOverride $true
296
- Assert-AreEqual $scopename $container.BlobContainerProperties.DefaultEncryptionScope
297
- Assert-AreEqual $true $container.BlobContainerProperties.PreventEncryptionScopeOverride
298
- $blob = Set-AzStorageBlobContent - Context $storageContext - File $localSrcFile - Container $containerName - Blob encryscopetest - EncryptionScope $scopename
299
- Assert-AreEqual $scopename $blob.BlobProperties.EncryptionScope
300
- $blob = Copy-AzStorageBlob - Context $storageContext - SrcContainer $containerName - SrcBlob encryscopetest - DestContainer $containerName - DestBlob encryscopetest - Force - EncryptionScope $scopename2
301
- Assert-AreEqual $scopename2 $blob.BlobProperties.EncryptionScope
302
- Remove-AzStorageContainer - Name $containerName2 - Force - Context $storageContext
285
+
286
+ $immutabilityPolicy = Get-AzRmStorageContainerImmutabilityPolicy - ResourceGroupName $ResourceGroupName - StorageAccountName $StorageAccountName - ContainerName $containerName
287
+ Remove-AzRmStorageContainerImmutabilityPolicy - ResourceGroupName $ResourceGroupName - StorageAccountName $StorageAccountName - ContainerName $containerName - Etag $immutabilityPolicy.Etag
288
+
289
+ # Encryption Scope Test
290
+ $scopename = " testscope"
291
+ $scopename2 = " testscope2"
292
+ $containerName2 = " testscopecontainer"
293
+ New-AzStorageEncryptionScope - ResourceGroupName $ResourceGroupName - StorageAccountName $storageAccountName - EncryptionScopeName $scopename - StorageEncryption
294
+ New-AzStorageEncryptionScope - ResourceGroupName $ResourceGroupName - StorageAccountName $storageAccountName - EncryptionScopeName $scopename2 - StorageEncryption
295
+ $container = New-AzStorageContainer - Name $containerName2 - Context $storageContext - DefaultEncryptionScope $scopeName - PreventEncryptionScopeOverride $true
296
+ Assert-AreEqual $scopename $container.BlobContainerProperties.DefaultEncryptionScope
297
+ Assert-AreEqual $true $container.BlobContainerProperties.PreventEncryptionScopeOverride
298
+ $blob = Set-AzStorageBlobContent - Context $storageContext - File $localSrcFile - Container $containerName - Blob encryscopetest - EncryptionScope $scopename
299
+ Assert-AreEqual $scopename $blob.BlobProperties.EncryptionScope
300
+ $blob = Copy-AzStorageBlob - Context $storageContext - SrcContainer $containerName - SrcBlob encryscopetest - DestContainer $containerName - DestBlob encryscopetest - Force - EncryptionScope $scopename2
301
+ Assert-AreEqual $scopename2 $blob.BlobProperties.EncryptionScope
302
+ Remove-AzStorageContainer - Name $containerName2 - Force - Context $storageContext
303
+
304
+ # container softdelete test
305
+ # # Enabled container softdelete,then create and delete a container
306
+ Enable-AzStorageContainerDeleteRetentionPolicy - ResourceGroupName $ResourceGroupName - Name $StorageAccountName - RetentionDays 3
307
+ $containerNamesoftdelete = " softdeletecontainer"
308
+ New-AzStorageContainer - Name $containerNamesoftdelete - Context $storageContext
309
+ Remove-AzStorageContainer - Name $containerNamesoftdelete - Context $storageContext - Force
310
+ # # Get container without -IncludeDeleted, won't list out deleted containers
311
+ $deletedcontainer = Get-AzStorageContainer - Context $storageContext | ? {$_.IsDeleted }
312
+ Assert-AreEqual 0 $deletedcontainer.Count
313
+ # # Get container with -IncludeDeleted, will list out deleted containers
314
+ $deletedcontainer = Get-AzStorageContainer - Context $storageContext - IncludeDeleted | ? {$_.IsDeleted }
315
+ Assert-AreEqual 1 $deletedcontainer.Count
316
+ Assert-AreEqual $true $deletedcontainer.IsDeleted
317
+ Assert-NotNull $deletedcontainer.VersionId
318
+ # # restore container with pipeline, to same container name
319
+ sleep 60 # need wait for some time, or restore will fail with 409 (The specified container is being deleted.)
320
+ $deletedcontainer | Restore-AzStorageContainer
321
+ $container = Get-AzStorageContainer - Name $containerNamesoftdelete - Context $storageContext
322
+ Assert-AreEqual 1 $container.Count
323
+ Assert-Null $container.IsDeleted
324
+ Assert-Null $container.VersionId
325
+ Disable-AzStorageContainerDeleteRetentionPolicy - ResourceGroupName $ResourceGroupName - Name $StorageAccountName
326
+ Remove-AzStorageContainer - Name $containerNamesoftdelete - Context $storageContext - Force
303
327
304
328
# Clean Storage Account
305
329
Remove-AzStorageContainer - Name $containerName - Force - Context $storageContext
0 commit comments