Skip to content

Commit d8c92ba

Browse files
authored
Merge pull request Azure#9382 from tomasm9/master
NFSAAS-2345 Review Fixes and update to R4 RP standard
2 parents 8961636 + 8687f27 commit d8c92ba

File tree

57 files changed

+12661
-4635
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+12661
-4635
lines changed

src/NetAppFiles/NetAppFiles.Test/NetAppFiles.Test.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
<Import Project="$(MSBuildThisFileDirectory)..\..\Az.Test.props" />
88

99
<PropertyGroup>
10-
<RootNamespace>$(LegacyAssemblyPrefix)$(PsModuleName)$(AzTestAssemblySuffix).ScenarioTests</RootNamespace>
10+
<RootNamespace>$(LegacyAssemblyPrefix)$(PsModuleName)$(AzTestAssemblySuffix)</RootNamespace>
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.Azure.Management.NetApp" Version="0.9.1-preview" />
14+
<PackageReference Include="Microsoft.Azure.Management.NetApp" Version="1.0.0" />
1515
<PackageReference Include="Microsoft.Azure.Management.Network" Version="19.12.0-preview" />
1616
</ItemGroup>
1717

src/NetAppFiles/NetAppFiles.Test/ScenarioTests/AccountTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,13 @@ public void TestAccountCrud()
3434
TestController.NewInstance.RunPowerShellTest(_logger, "Test-AccountCrud");
3535
}
3636

37+
[Fact]
38+
[Trait(Category.AcceptanceType, Category.CheckIn)]
39+
public void TestAccountActiveDirectory()
40+
{
41+
TestController.NewInstance.RunPowerShellTest(_logger, "Test-AccountActiveDirectory");
42+
}
43+
3744
[Fact]
3845
[Trait(Category.AcceptanceType, Category.CheckIn)]
3946
public void TestAccountPipelines()

src/NetAppFiles/NetAppFiles.Test/ScenarioTests/AccountTests.ps1

Lines changed: 117 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,117 @@
1212
# limitations under the License.
1313
# ----------------------------------------------------------------------------------
1414

15-
function Test-AccountCrud
15+
<#
16+
.SYNOPSIS
17+
Test Account Active Directory
18+
#>
19+
function Test-AccountActiveDirectory
1620
{
17-
$resourceGroup = "pws-sdk-tests-rg-1"
18-
$accName1 = "pws-sdk-acc-1"
19-
$accName2 = "pws-sdk-acc-2"
20-
$accName3 = "pws-sdk-acc-3"
21-
$resourceLocation = "westus2"
21+
$resourceGroup = Get-ResourceGroupName
22+
$accName1 = Get-ResourceName
23+
$accName2 = Get-ResourceName
24+
$accName3 = Get-ResourceName
25+
$resourceLocation = Get-ProviderLocation "Microsoft.NetApp"
26+
27+
$activeDirectory1 = @{
28+
Username = "sdkuser"
29+
<#[SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="...")]#>
30+
Password = "sdkpass"
31+
Domain = "sdkdomain"
32+
Dns = "127.0.0.1"
33+
SmbServerName = "PSSMBSName"
34+
}
35+
$activeDirectory2 = @{
36+
Username = "sdkuser1"
37+
<#[SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="...")]#>
38+
Password = "sdkpass1"
39+
Domain = "sdkdomain1"
40+
Dns = "127.0.0.2"
41+
SmbServerName = "PSSMBSNam1"
42+
}
43+
44+
45+
try
46+
{
47+
# create the resource group
48+
New-AzResourceGroup -Name $resourceGroup -Location $resourceLocation
49+
50+
# check multiple ADs are captured
51+
# currently this is not permitted and throws a message
52+
try
53+
{
54+
$activedirectories = @( $activeDirectory1, $activeDirectory2 )
55+
56+
# create and check account 1
57+
$newTagName = "tag1"
58+
$newTagValue = "tagValue1"
59+
$retrievedAcc = New-AzNetAppFilesAccount -ResourceGroupName $resourceGroup -Location $resourceLocation -Name $accName1 -Tag @{$newTagName = $newTagValue} -ActiveDirector $activeDirectories
60+
Assert-True { $false }
61+
}
62+
catch
63+
{
64+
$ErrorMessage = $_.Exception.Message
65+
Assert-True { ($ErrorMessage -contains 'Only one active directory allowed') }
66+
#Assert-AreEqual $accName1 $retrievedAcc.Name
67+
}
68+
69+
# try creating an AD -
70+
71+
$activedirectories = @( $activeDirectory1 )
2272

73+
# create and check account 1
74+
$newTagName = "tag1"
75+
$newTagValue = "tagValue1"
76+
$retrievedAcc = New-AzNetAppFilesAccount -ResourceGroupName $resourceGroup -Location $resourceLocation -Name $accName1 -Tag @{$newTagName = $newTagValue} -ActiveDirectory $activeDirectories
77+
Assert-AreEqual $accName1 $retrievedAcc.Name
78+
Assert-AreEqual $activeDirectory1.SmbServerName $retrievedAcc.ActiveDirectories[0].SmbServerName
79+
Assert-AreEqual $activeDirectory1.Username $retrievedAcc.ActiveDirectories[0].Username
80+
81+
# patch an Active Directory with no active directory. Should be no change
82+
# create and check account 1
83+
$newTagName = "tag1"
84+
$newTagValue = "tagValue2"
85+
$retrievedAcc = Update-AzNetAppFilesAccount -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName1 -Tag @{$newTagName = $newTagValue}
86+
Assert-AreEqual $accName1 $retrievedAcc.Name
87+
Assert-AreEqual $activeDirectory1.SmbServerName $retrievedAcc.ActiveDirectories[0].SmbServerName
88+
Assert-AreEqual $activeDirectory1.Username $retrievedAcc.ActiveDirectories[0].Username
89+
Assert-AreEqual 1 $retrievedAcc.ActiveDirectories.Length
90+
Assert-AreEqual "tagValue2" $retrievedAcc.Tags[$newTagName].ToString()
91+
92+
# patch an Active Directory. Should be updated to contain only the new one
93+
$activedirectories = @( $activeDirectory2 )
94+
$retrievedAcc = Update-AzNetAppFilesAccount -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName1 -ActiveDirectory $activedirectories
95+
Assert-AreEqual $accName1 $retrievedAcc.Name
96+
Assert-AreEqual $activeDirectory2.SmbServerName $retrievedAcc.ActiveDirectories[0].SmbServerName
97+
Assert-AreEqual $activeDirectory2.Username $retrievedAcc.ActiveDirectories[0].Username
98+
Assert-AreEqual 1 $retrievedAcc.ActiveDirectories.Length
99+
Assert-AreEqual "tagValue2" $retrievedAcc.Tags[$newTagName].ToString()
100+
101+
# update (put) the account. The absence of an active directory should result in the removal of any currently associated. Also tags
102+
$retrievedAcc = Set-AzNetAppFilesAccount -ResourceGroupName $resourceGroup -AccountName $accName1 -Location $resourceLocation
103+
Assert-AreEqual $accName1 $retrievedAcc.Name
104+
Assert-Null $retrievedAcc.Tags
105+
Assert-Null $retrievedAcc.ActiveDirectories
106+
}
107+
finally
108+
{
109+
# Cleanup
110+
Clean-ResourceGroup $resourceGroup
111+
}
112+
}
113+
114+
<#
115+
.SYNOPSIS
116+
Test Account CRUD operations
117+
#>
118+
function Test-AccountCrud
119+
{
120+
$resourceGroup = Get-ResourceGroupName
121+
$accName1 = Get-ResourceName
122+
$accName2 = Get-ResourceName
123+
$accName3 = Get-ResourceName
124+
$resourceLocation = Get-ProviderLocation "Microsoft.NetApp"
125+
23126
try
24127
{
25128
# create the resource group
@@ -42,8 +145,9 @@ function Test-AccountCrud
42145

43146
# get and check accounts by group (list)
44147
$retrievedAcc = Get-AzNetAppFilesAccount -ResourceGroupName $resourceGroup
45-
Assert-AreEqual $accName1 $retrievedAcc[0].Name
46-
Assert-AreEqual $accName2 $retrievedAcc[1].Name
148+
# check the names but the order does not appear to be guaranteed (perhaps because the names are randomly generated)
149+
Assert-True {"$accName1" -eq $retrievedAcc[0].Name -or "$accName2" -eq $retrievedAcc[0].Name}
150+
Assert-True {"$accName1" -eq $retrievedAcc[1].Name -or "$accName2" -eq $retrievedAcc[1].Name}
47151
Assert-AreEqual 2 $retrievedAcc.Length
48152

49153
# get and check an account by name
@@ -54,9 +158,7 @@ function Test-AccountCrud
54158
$retrievedAccById = Get-AzNetAppFilesAccount -ResourceId $retrievedAcc.Id
55159
Assert-AreEqual $accName1 $retrievedAccById.Name
56160

57-
# update and check the account (tags)
58-
# since only tags can be patched and no other set or update is possible
59-
# there is no implemented cmdlet
161+
# update and check the account (tags) - the active directory test chceks this stuff
60162

61163
# delete one account retrieved by id and one by name and check removed
62164
Remove-AzNetAppFilesAccount -ResourceId $retrievedAccById.Id
@@ -83,10 +185,10 @@ Test Account Pipeline operations (uses command aliases)
83185
#>
84186
function Test-AccountPipelines
85187
{
86-
$resourceGroup = "pws-sdk-tests-rg-1"
87-
$accName1 = "pws-sdk-acc-1"
88-
$accName2 = "pws-sdk-acc-2"
89-
$resourceLocation = "westus2"
188+
$resourceGroup = Get-ResourceGroupName
189+
$accName1 = Get-ResourceName
190+
$accName2 = Get-ResourceName
191+
$resourceLocation = Get-ProviderLocation "Microsoft.NetApp"
90192

91193
try
92194
{

src/NetAppFiles/NetAppFiles.Test/ScenarioTests/Common.ps1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,17 @@ function Get-ProviderLocation($provider)
4646

4747
if ($location -eq $null)
4848
{
49-
return "West US"
49+
return "eastus2"
5050
} else
5151
{
5252
return $location.Locations[0]
5353
}
5454
}
5555

56-
return "West US"
56+
return "eastus2"
5757
}
5858

59-
return "WestUS"
59+
return "eastus2"
6060
}
6161

6262
<#

src/NetAppFiles/NetAppFiles.Test/ScenarioTests/PoolTests.ps1

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ Test Pool CRUD operations
1818
#>
1919
function Test-PoolCrud
2020
{
21-
$resourceGroup = "pws-sdk-tests-rg-1"
22-
$accName = "pws-sdk-acc-1"
23-
$poolName1 = "pws-sdk-pool-1"
24-
$poolName2 = "pws-sdk-pool-2"
25-
$resourceLocation = "westus2"
21+
$resourceGroup = Get-ResourceGroupName
22+
$accName = Get-ResourceName
23+
$poolName1 = Get-ResourceName
24+
$poolName2 = Get-ResourceName
25+
$resourceLocation = Get-ProviderLocation "Microsoft.NetApp"
2626
$poolSize = 4398046511104
2727
$serviceLevel = "Premium"
28-
28+
2929
try
3030
{
3131
# create the resource group
@@ -52,8 +52,9 @@ function Test-PoolCrud
5252

5353
# get and check pools by group (list)
5454
$retrievedPool = Get-AzNetAppFilesPool -ResourceGroupName $resourceGroup -AccountName $accName
55-
Assert-AreEqual "$accName/$poolName1" $retrievedPool[0].Name
56-
Assert-AreEqual "$accName/$poolName2" $retrievedPool[1].Name
55+
# check the names but the order does not appear to be guaranteed (perhaps because the names are randomly generated)
56+
Assert-True {"$accName/$poolName1" -eq $retrievedPool[0].Name -or "$accName/$poolName2" -eq $retrievedPool[0].Name}
57+
Assert-True {"$accName/$poolName1" -eq $retrievedPool[1].Name -or "$accName/$poolName2" -eq $retrievedPool[1].Name}
5758
Assert-AreEqual 2 $retrievedPool.Length
5859

5960
# get and check a pool by name
@@ -65,10 +66,13 @@ function Test-PoolCrud
6566
Assert-AreEqual "$accName/$poolName1" $retrievedPoolById.Name
6667

6768
# update (patch) and check the pool
68-
# only tags can currently be patched so there is no implemented cmdlet
69+
# changing a single item verifies this is a patch not a put
70+
$retrievedPool = Update-AzNetAppFilesPool -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName1 -ServiceLevel "Standard"
71+
Assert-AreEqual "$accName/$poolName1" $retrievedPool.Name
72+
Assert-AreEqual "Standard" $retrievedPool.ServiceLevel
6973

70-
# Update and check the Pool
71-
$retrievedPool = Update-AzNetAppFilesPool -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName1 -PoolSize $poolSize -ServiceLevel "Standard"
74+
# do it again but change nothing and demonstrate location is optional
75+
$retrievedPool = Update-AzNetAppFilesPool -ResourceGroupName $resourceGroup -AccountName $accName -PoolName $poolName1
7276
Assert-AreEqual "$accName/$poolName1" $retrievedPool.Name
7377
Assert-AreEqual "Standard" $retrievedPool.ServiceLevel
7478

@@ -98,14 +102,14 @@ Test Pool Pipeline operations (using command aliases)
98102
#>
99103
function Test-PoolPipelines
100104
{
101-
$resourceGroup = "pws-sdk-tests-rg-1"
102-
$accName = "pws-sdk-acc-1"
103-
$poolName1 = "pws-sdk-pool-1"
104-
$poolName2 = "pws-sdk-pool-2"
105-
$resourceLocation = "westus2"
105+
$resourceGroup = Get-ResourceGroupName
106+
$accName = Get-ResourceName
107+
$poolName1 = Get-ResourceName
108+
$poolName2 = Get-ResourceName
109+
$resourceLocation = Get-ProviderLocation "Microsoft.NetApp"
106110
$poolSize = 4398046511104
107111
$serviceLevel = "Premium"
108-
112+
109113
try
110114
{
111115
# create the resource group
@@ -115,7 +119,7 @@ function Test-PoolPipelines
115119
New-AnfAccount -ResourceGroupName $resourceGroup -Location $resourceLocation -Name $accName | New-AnfPool -Name $poolName1 -PoolSize $poolSize -ServiceLevel $serviceLevel
116120

117121
# modify pool by piping from Pool
118-
$retrievedPool = Get-AnfPool -ResourceGroupName $resourceGroup -AccountName $accName -Name $poolName1 | Update-AnfPool -PoolSize $poolSize -ServiceLevel "Standard"
122+
$retrievedPool = Get-AnfPool -ResourceGroupName $resourceGroup -AccountName $accName -Name $poolName1 | Update-AnfPool -ServiceLevel "Standard"
119123
Assert-AreEqual "Standard" $retrievedPool.ServiceLevel
120124

121125
# and again modify pool this time by piping from account
@@ -128,7 +132,8 @@ function Test-PoolPipelines
128132
# recreate two pools
129133
New-AnfPool -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -Name $PoolName1 -PoolSize $poolSize -ServiceLevel $serviceLevel
130134

131-
New-AnfPool -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName2 -PoolSize $poolSize -ServiceLevel $serviceLevel
135+
# one using a pipe from account
136+
Get-AnfAccount -ResourceGroupName $resourceGroup -Name $accName | New-AnfPool -PoolName $poolName2 -PoolSize $poolSize -ServiceLevel $serviceLevel
132137

133138
# delete one of the pools by piping from pool get
134139
Get-AnfPool -ResourceGroupName $resourceGroup -AccountName $accName -Name $poolName1 | Remove-AzNetAppFilesPool

src/NetAppFiles/NetAppFiles.Test/ScenarioTests/SnapshotTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ public SnapshotTests(Xunit.Abstractions.ITestOutputHelper output)
2727
ServiceManagement.Common.Models.XunitTracingInterceptor.AddToContext(_logger);
2828
}
2929

30-
[Fact(Skip = "The resource type could not be found in the namespace 'Microsoft.NetApp' for api version '2017-08-15")]
30+
[Fact]
3131
[Trait(Category.AcceptanceType, Category.CheckIn)]
3232
public void TestSnapshotCrud()
3333
{
3434
TestController.NewInstance.RunPowerShellTest(_logger, "Test-SnapshotCrud");
3535
}
3636

37-
[Fact(Skip = "The resource type could not be found in the namespace 'Microsoft.NetApp' for api version '2017-08-15")]
37+
[Fact]
3838
[Trait(Category.AcceptanceType, Category.CheckIn)]
3939
public void TestSnapshotPipelines()
4040
{

src/NetAppFiles/NetAppFiles.Test/ScenarioTests/SnapshotTests.ps1

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,16 @@ function Test-SnapshotCrud
2121
$currentSub = (Get-AzureRmContext).Subscription
2222
$subsid = $currentSub.SubscriptionId
2323

24-
$resourceGroup = "pws-sdk-tests-rg-2"
25-
$accName = "pws-sdk-acc-2"
26-
$poolName = "pws-sdk-pool-1"
27-
$volName = "pws-sdk-vol-1"
28-
$snName1 = "pws-sdk-snapshot-1"
29-
$snName2 = "pws-sdk-snapshot-2"
24+
$resourceGroup = Get-ResourceGroupName
25+
$accName = Get-ResourceName
26+
$poolName = Get-ResourceName
27+
$volName = Get-ResourceName
28+
$snName1 = Get-ResourceName
29+
$snName2 = Get-ResourceName
3030
$gibibyte = 1024 * 1024 * 1024
3131
$usageThreshold = 100 * $gibibyte
3232
$doubleUsage = 2 * $usageThreshold
33-
$resourceLocation = "westus2"
33+
$resourceLocation = Get-ProviderLocation "Microsoft.NetApp"
3434
$subnetName = "default"
3535
$standardPoolSize = 4398046511104
3636
$serviceLevel = "Premium"
@@ -64,7 +64,8 @@ function Test-SnapshotCrud
6464
$retrieveSn = New-AzNetAppFilesSnapshot -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName -VolumeName $volName -SnapshotName $snName1 -FileSystemId $retrievedVolume.FileSystemId
6565
Assert-AreEqual "$accName/$poolName/$volName/$snName1" $retrieveSn.Name
6666

67-
$retrieveSn = New-AzNetAppFilesSnapshot -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName -VolumeName $volName -SnapshotName $snName2 -FileSystemId $retrievedVolume.FileSystemId
67+
# one without using the filesystem id
68+
$retrieveSn = New-AzNetAppFilesSnapshot -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName -VolumeName $volName -SnapshotName $snName2
6869
Assert-AreEqual "$accName/$poolName/$volName/$snName2" $retrieveSn.Name
6970

7071
# get and check snapshots by group (list)
@@ -105,16 +106,16 @@ function Test-SnapshotPipelines
105106
$currentSub = (Get-AzureRmContext).Subscription
106107
$subsid = $currentSub.SubscriptionId
107108

108-
$resourceGroup = "pws-sdk-tests-rg-1"
109-
$accName = "pws-sdk-acc-1"
110-
$poolName = "pws-sdk-pool-1"
111-
$volName = "pws-sdk-vol-1"
112-
$snName1 = "pws-sdk-snapshot-1"
113-
$snName2 = "pws-sdk-snapshot-2"
109+
$resourceGroup = Get-ResourceGroupName
110+
$accName = Get-ResourceName
111+
$poolName = Get-ResourceName
112+
$volName = Get-ResourceName
113+
$snName1 = Get-ResourceName
114+
$snName2 = Get-ResourceName
114115
$gibibyte = 1024 * 1024 * 1024
115116
$usageThreshold = 100 * $gibibyte
116117
$doubleUsage = 2 * $usageThreshold
117-
$resourceLocation = "eastus"
118+
$resourceLocation = Get-ProviderLocation "Microsoft.NetApp"
118119
$subnetName = "default"
119120
$poolSize = 4398046511104
120121
$serviceLevel = "Premium"
@@ -143,14 +144,12 @@ function Test-SnapshotPipelines
143144
$retrieveSn = Get-AnfVolume -ResourceGroupName $resourceGroup -AccountName $accName -PoolName $poolName -VolumeName $volName | New-AnfSnapshot -SnapshotName $snName1
144145
Assert-AreEqual "$accName/$poolName/$volName/$snName1" $retrieveSn.Name
145146

146-
# temporarily removed - snapshots cannot be deleted due to a change in status code in the RP
147-
# this will be fixed in the R3.5 version of the swagger
148147
# delete the snapshot by piping from snapshot get
149-
#Get-AnfSnapshot -ResourceGroupName $resourceGroup -AccountName $accName -PoolName $poolName -VolumeName $volName -Name $snName1 | Remove-AnfSnapshot
148+
Get-AnfSnapshot -ResourceGroupName $resourceGroup -AccountName $accName -PoolName $poolName -VolumeName $volName -Name $snName1 | Remove-AnfSnapshot
150149

151150
# and check the snapshot list by piping from volume get
152-
#$retrievedSnapshot = Get-AnfVolume -ResourceGroupName $resourceGroup -AccountName $accName -PoolName $poolName -Name $volName | Get-AnfSnapshot
153-
#Assert-AreEqual 0 $retrievedSnapshot.Length
151+
$retrievedSnapshot = Get-AnfVolume -ResourceGroupName $resourceGroup -AccountName $accName -PoolName $poolName -Name $volName | Get-AnfSnapshot
152+
Assert-AreEqual 0 $retrievedSnapshot.Length
154153
}
155154
finally
156155
{

0 commit comments

Comments
 (0)