Skip to content

Commit 769551c

Browse files
authored
Update regression tests (Azure#23)
* new config for tests * fix
1 parent 8efb661 commit 769551c

File tree

8 files changed

+1631
-1479
lines changed

8 files changed

+1631
-1479
lines changed

src/Storage/RegressionTests/adls.ps1

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
# Invoke-Pester C:\Users\weiwei\Desktop\PSH_Script\PSHTest\dataplane.ps1 -Show All -Strict -ExcludeTagFilter "Preview"
2-
C:\Users\weiwei\Desktop\PSH_Script\PSHTest\utils.ps1
32

43

54
BeforeAll {
6-
Import-Module C:\Users\weiwei\Desktop\PSH_Script\Assert.ps1
7-
Import-Module C:\Users\weiwei\Desktop\PSH_Script\PSHTest\utils.ps1
5+
# Modify the path to your own
6+
Import-Module D:\code\azure-powershell\src\Storage\RegressionTests\utils.ps1
7+
8+
[xml]$config = Get-Content D:\code\azure-powershell\src\Storage\RegressionTests\config.xml
9+
$globalNode = $config.SelectSingleNode("config/section[@id='global']")
10+
$testNode = $config.SelectSingleNode("config/section[@id='adls']")
11+
12+
# Create the directory C:\temp locally before tests
813
$rootFolder = "C:\temp"
914
cd $rootFolder
1015

11-
$rgname = "weitry";
12-
# $accountName = "weisanity1"
13-
$accountName = "weiadlscanary1"
16+
$rgname = $globalNode.resourceGroupName
17+
$accountName = $testNode.accountName
1418
$ctx = (Get-AzStorageAccount -ResourceGroupName $rgname -Name $accountName).Context
1519

1620
$localSrcFile = "C:\temp\testfile_1K_0" #The file need exist before test, and should be 512 bytes aligned
@@ -23,7 +27,7 @@ BeforeAll {
2327
$filepath12 = "dir1/f%3Aile2"
2428
$filepath21 = "dir2/file1"
2529
$filepath22 = "dir2/file2"
26-
$id = "d6f7e858-345d-45f6-849c-8175519656b7"
30+
$id = (Get-AzADServicePrincipal -ApplicationId $globalNode.applicationId).Id
2731

2832
$container1 = New-AzDatalakeGen2FileSystem -Context $ctx -Name $filesystemName
2933
}
@@ -49,7 +53,8 @@ Describe "dataplane test" {
4953
# Create File, and show properties/matadata in console (Note, Permission/Umask is not supported)
5054
$sas = New-AzStorageContainerSASToken -Name $filesystemName -Permission rwdl -Context $ctx
5155
$sasctx = New-AzStorageContext -StorageAccountName $ctx.StorageAccountName -SasToken $sas
52-
$file1 = New-AzDataLakeGen2Item -Context $sasctx -FileSystem $filesystemName -Path $filepath11 -Source $localSrcFile -Permission rwxrwxrwx -Umask ---rwx--- -Property @{"ContentEncoding" = "UDF8"; "CacheControl" = "READ"} -Metadata @{"tag1" = "value1"; "tag2" = "value2" } $file1.IsDirectory | should -Be $false
56+
$file1 = New-AzDataLakeGen2Item -Context $sasctx -FileSystem $filesystemName -Path $filepath11 -Source $localSrcFile -Permission rwxrwxrwx -Umask ---rwx--- -Property @{"ContentEncoding" = "UDF8"; "CacheControl" = "READ"} -Metadata @{"tag1" = "value1"; "tag2" = "value2" }
57+
$file1.IsDirectory | should -Be $false
5358
$file1.Permissions.ToSymbolicPermissions() | should -be "rwx---rwx"
5459
$file1.Properties.Metadata.Count | should -Be 2
5560
$file1.Properties.ContentEncoding | should -Be "UDF8"

src/Storage/RegressionTests/adls_setaclresusive.ps1

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
# Invoke-Pester C:\Users\weiwei\Desktop\PSH_Script\PSHTest\dataplane.ps1 -Show All -Strict -ExcludeTagFilter "Preview"
2-
Import-Module C:\Users\weiwei\Desktop\PSH_Script\PSHTest\utils.ps1
32

43
function ResetFileToFail
54
{
@@ -12,21 +11,27 @@ function ResetFileToFail
1211

1312

1413
BeforeAll {
15-
# Replace the path to your local config file
16-
$config = (Get-Content D:\code\azure-powershell\src\Storage\RegressionTests\config.json -Raw | ConvertFrom-Json).adlsSetAclConfig
17-
Import-Module C:\Users\weiwei\Desktop\PSH_Script\Assert.ps1
18-
Import-Module C:\Users\weiwei\Desktop\PSH_Script\PSHTest\utils.ps1
19-
$secpasswd = ConvertTo-SecureString $config.credentials.secpwd -AsPlainText -Force
20-
$cred = New-Object System.Management.Automation.PSCredential ($config.credentials.username, $secpasswd)
21-
Add-AzAccount -ServicePrincipal -Tenant $config.credentials.tenantId -SubscriptionId $config.credentials.subscriptionId -Credential $cred
14+
# Modify the path to your own
15+
Import-Module D:\code\azure-powershell\src\Storage\RegressionTests\utils.ps1
16+
17+
[xml]$config = Get-Content D:\code\azure-powershell\src\Storage\RegressionTests\config.xml
18+
$globalNode = $config.SelectSingleNode("config/section[@id='global']")
19+
$testNode = $config.SelectSingleNode("config/section[@id='adlsSetAcl']")
20+
21+
$secpasswd = ConvertTo-SecureString $globalNode.secPwd -AsPlainText -Force
22+
$cred = New-Object System.Management.Automation.PSCredential ($globalNode.applicationId, $secpasswd)
23+
Add-AzAccount -ServicePrincipal -Tenant $globalNode.tenantId -SubscriptionId $globalNode.subscriptionId -Credential $cred
24+
25+
$resourceGroupName = $globalNode.resourceGroupName
26+
$storageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $testNode.accountName)[0].Value
2227

23-
$ctx = New-AzStorageContext aclcbn06stf -StorageAccountKey $config.credentials.storageAccountKey
24-
$ctx2 = New-AzStorageContext aclcbn06stf
28+
$ctx = New-AzStorageContext $testNode.accountName -StorageAccountKey $storageAccountKey
29+
$ctx2 = New-AzStorageContext $testNode.accountName
2530

2631
$filesystemName = "adlstest2"
27-
$localSrcFile = "C:\temp\testfile_1K_0"
28-
$id = $config.credentials.entityId
29-
$leaseID = $config.credentials.leaseId
32+
$localSrcFile = "C:\temp\testfile_1K_0" #The file needs to exist before tests, and should be 512 bytes aligned
33+
$id = $globalNode.applicationId
34+
$leaseID = $testNode.leaseId
3035

3136

3237
# create file system
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<config>
3+
<!-- Global credentials used in all tests -->
4+
<section id="global">
5+
<secPwd>placeholder</secPwd>
6+
<applicationId>placeholder</applicationId>
7+
<tenantId>placeholder</tenantId>
8+
<subscriptionId>placeholder</subscriptionId>
9+
<resourceGroupName>placeholder</resourceGroupName>
10+
</section>
11+
12+
<!-- Config for adls.ps1 -->
13+
<section id="adls">
14+
<!-- Account requirements: -->
15+
<!-- 1. Enable HierarchicalNamespace -->
16+
<accountName>placeholder</accountName>
17+
<entityId>placeholder</entityId>
18+
</section>
19+
20+
<!-- Config for alds_setaclresusive.ps1 -->
21+
<section id="adlsSetAcl">
22+
<accountName>placeholder</accountName>
23+
<leaseId>placeholder</leaseId>
24+
</section>
25+
26+
<!-- Config for dataplane.ps1 -->
27+
<section id="dataplane">
28+
<!-- Account requirements:
29+
1. Enable AllowSharedKeyAccess
30+
2. Enable DeleteRetentionPolicy
31+
3. Enable ContainerDeleteRetentionPolicy
32+
4. Enable LastAccessTimeTrackingPolicy
33+
5. Enable versioning -->
34+
<accountName id="1">placeholder</accountName>
35+
<accountName id="2">placeholder</accountName>
36+
<!-- TODO: Add any special requirements to the account if exits -->
37+
<accountName id="3">placeholder</accountName>
38+
<paritionZone>
39+
<nameZone>placeholder</nameZone>
40+
</paritionZone>
41+
<downloadManagedDisk>
42+
<diskName>placeholder</diskName>
43+
</downloadManagedDisk>
44+
</section>
45+
46+
<!-- Config for dataplane_preview.ps1 -->
47+
<section id="dataplanePreview">
48+
<accountName>placeholder</accountName>
49+
</section>
50+
51+
<!-- Config for srp.ps1 -->
52+
<section id="srp">
53+
<!-- Account requirements:
54+
1. Enable AllowSharedKeyAccess
55+
2. Enable DeleteRetentionPolicy
56+
3. Enable ContainerDeleteRetentionPolicy
57+
4. Enable LastAccessTimeTrackingPolicy
58+
5. Enable versioning -->
59+
<accountName id="1">placeholder</accountName>
60+
<accountName id="2">placeholder</accountName>
61+
<!-- Accounts for ORS test. Prepartion steps can be found in the test case -->
62+
<accountName id="4">placeholder</accountName>
63+
<accountName id="5">placeholder</accountName>
64+
<!-- Container requirements: -->
65+
<!-- 1. Contains a blob named "test" -->
66+
<containerName id="1">placeholder</containerName>
67+
<!-- vents are created beforehand. See details in the test case -->
68+
<vnet id="1">placeholder</vnet>
69+
<vnet id="2">placeholder</vnet>
70+
<!-- Key vault created under the testing resource group. Refer to test case User identity for creation instructions -->
71+
<keyVault id="1">
72+
<vaultName>placeholder</vaultName>
73+
<keyVaultUri>placeholder</keyVaultUri>
74+
<keyName>placeholder</keyName>
75+
<keyVersion>placeholder</keyVersion>
76+
<argumentList>placeholder</argumentList>
77+
<keyUri id="1">placeholder</keyUri>
78+
<keyUri id="2">placeholder</keyUri>
79+
<keyUri id="3">placeholder</keyUri>
80+
</keyVault>
81+
<fileAD>
82+
<resourceGroupName>placeholder</resourceGroupName>
83+
<accountName id="1">placeholder</accountName>
84+
<accountName id="2">placeholder</accountName>
85+
<accountName id="3">placeholder</accountName>
86+
<accountName id="4">placeholder</accountName>
87+
<accountName id="5">placeholder</accountName>
88+
<domainName>placeholder</domainName>
89+
<netBiosDomainName>placeholder</netBiosDomainName>
90+
<forestName>placeholder</forestName>
91+
<domainGuid>placeholder</domainGuid>
92+
<domainSid>placeholder</domainSid>
93+
<azureStorageSid>placeholder</azureStorageSid>
94+
</fileAD>
95+
<userIdentity>
96+
<!-- Key vault is created before tests. Creation steps are in the test case -->
97+
<keyVaultName id="1">placeholder</keyVaultName>
98+
<keyVaultName id="2">placeholder</keyVaultName>
99+
<keyVersion id="1">placeholder</keyVersion>
100+
<keyVersion id="2">placeholder</keyVersion>
101+
<userIdentity id="1">placeholder</userIdentity>
102+
<userIdentity id="2">placeholder</userIdentity>
103+
<adGroupObjectId id="1">placeholder</adGroupObjectId>
104+
<!-- ID of /subscriptions/{SubscriptionId}/resourceGroups/weitry/providers/Microsoft.ManagedIdentity/userAssignedIdentities/weitestid1 -->
105+
<adGroupObjectId id="2">placeholder</adGroupObjectId>
106+
<!-- ID of /subscriptions/{SubscriptionId}/resourceGroups/weitry/providers/Microsoft.ManagedIdentity/userAssignedIdentities/weitestid2 -->
107+
<adGroupObjectId id="3">placeholder</adGroupObjectId>
108+
</userIdentity>
109+
<nfsv3>
110+
<!-- vnet should be created beforehand with the following commands: -->
111+
<!-- New-AzVirtualNetwork -ResourceGroupName $rgname -Location "eastus2euap" -AddressPrefix 10.0.0.0/24 -Name "vnet1" -->
112+
<!-- $n = Get-AzVirtualNetwork -ResourceGroupName $rgname -Name "vnet1" | Add-AzVirtualNetworkSubnetConfig -Name "subnet1" -AddressPrefix "10.0.0.0/28" -ServiceEndpoint "Microsoft.Storage" | Set-AzVirtualNetwork -->
113+
<vnet>placeholder</vnet>
114+
</nfsv3>
115+
<federatedClientId>
116+
<subscription>placeholder</subscription>
117+
<tenant>placeholder</tenant>
118+
<keyvaultName>placeholder</keyvaultName>
119+
<userIdentity>placeholder</userIdentity>
120+
<objectId>placeholder</objectId>
121+
<federatedClientId id="1">placeholder</federatedClientId>
122+
<federatedClientId id="2">placeholder</federatedClientId>
123+
</federatedClientId>
124+
</section>
125+
</config>

0 commit comments

Comments
 (0)