1
+ <#
2
+ . SYNOPSIS
3
+ Tests Synapse Active Directory only authentication (enable,disable).
4
+ #>
5
+ function Test-DisableSynapseADOnlyAuthentication
6
+ {
7
+ # Setup
8
+ $testSuffix = getAssetName
9
+ Create- WorkspaceTestEnvironment $testSuffix
10
+ $params = Get-WorkspaceTestEnvironmentParameters $testSuffix
11
+
12
+ $resourceGroupName = $params.rgname
13
+ $workspaceName = $params.workspaceName
14
+
15
+ try
16
+ {
17
+ $disabledADOnlyAuthentication = Disable-AzSynapseActiveDirectoryOnlyAuthentication - ResourceGroupName $resourceGroupName - WorkspaceName $workspaceName
18
+ # Wait for 10 seconds for the completion
19
+ [Microsoft.Rest.ClientRuntime.Azure.TestFramework.TestUtilities ]::Wait(10000 )
20
+ $disabledAuthenticationProperty = $disabledADOnlyAuthentication.AzureADOnlyAuthenticationProperty
21
+
22
+ Assert-NotNull {$disabledAuthenticationProperty }
23
+ Assert-AreEqual $False $disabledAuthenticationProperty
24
+
25
+ $getADOnlyAuthentication = Get-AzSynapseActiveDirectoryOnlyAuthentication - ResourceGroupName $resourceGroupName - WorkspaceName $workspaceName
26
+ $acquiredAuthenticationProperty = $getADOnlyAuthentication.AzureADOnlyAuthenticationProperty
27
+
28
+ Assert-NotNull {$acquiredAuthenticationProperty }
29
+ Assert-AreEqual $False $acquiredAuthenticationProperty
30
+
31
+ Assert-AreEqual $disabledAuthenticationProperty $acquiredAuthenticationProperty
32
+ }
33
+ finally
34
+ {
35
+ # Cleanup
36
+ Remove-WorkspaceTestEnvironment $testSuffix
37
+ }
38
+ }
39
+
40
+ function Test-EnableSynapseADOnlyAuthentication
41
+ {
42
+ # Setup
43
+ $testSuffix = getAssetName
44
+ Create- WorkspaceTestEnvironment $testSuffix
45
+ $params = Get-WorkspaceTestEnvironmentParameters $testSuffix
46
+
47
+ $resourceGroupName = $params.rgname
48
+ $workspaceName = $params.workspaceName
49
+
50
+ try
51
+ {
52
+ $enabledADOnlyAuthentication = Enable-AzSynapseActiveDirectoryOnlyAuthentication - ResourceGroupName $resourceGroupName - WorkspaceName $workspaceName
53
+ # Wait for 10 seconds for the completion
54
+ [Microsoft.Rest.ClientRuntime.Azure.TestFramework.TestUtilities ]::Wait(10000 )
55
+ $enabledAuthenticationProperty = $enabledADOnlyAuthentication.AzureADOnlyAuthenticationProperty
56
+
57
+ Assert-NotNull {$enabledADOnlyAuthentication }
58
+ Assert-AreEqual $True $enabledAuthenticationProperty
59
+
60
+ $getADOnlyAuthentication = Get-AzSynapseActiveDirectoryOnlyAuthentication - ResourceGroupName $resourceGroupName - WorkspaceName $workspaceName
61
+ $acquiredAuthenticationProperty = $getADOnlyAuthentication.AzureADOnlyAuthenticationProperty
62
+
63
+ Assert-NotNull {$acquiredAuthenticationProperty }
64
+ Assert-AreEqual $True $acquiredAuthenticationProperty
65
+
66
+ Assert-AreEqual $enabledAuthenticationProperty $acquiredAuthenticationProperty
67
+ }
68
+ finally
69
+ {
70
+ # Cleanup
71
+ Remove-WorkspaceTestEnvironment $testSuffix
72
+ }
73
+ }
74
+
75
+
76
+ <#
77
+ . SYNOPSIS
78
+ Creates the test environment needed to perform the tests
79
+ #>
80
+ function Create-WorkspaceTestEnvironment ($testSuffix )
81
+ {
82
+ $params = Get-WorkspaceTestEnvironmentParameters $testSuffix
83
+ Create- WorkspaceTestEnvironmentWithParams $params $params.location
84
+ }
85
+
86
+ <#
87
+ . SYNOPSIS
88
+ Creates the test environment needed to perform the Sql auditing tests
89
+ #>
90
+ function Create-WorkspaceTestEnvironmentWithParams ($params , $location , $denyAsNetworkRuleDefaultAction = $False )
91
+ {
92
+ New-AzResourceGroup - Name $params.rgname - Location $location
93
+ New-AzStorageAccount - ResourceGroupName $params.rgname - Name $params.storageAccountName - Location $location - SkuName Standard_GRS - Kind StorageV2 - EnableHierarchicalNamespace $true
94
+ $workspaceName = $params.workspaceName
95
+ $workspaceLogin = $params.loginName
96
+ $workspacePassword = $params.pwd
97
+ $credentials = new-object System.Management.Automation.PSCredential($workspaceLogin , ($workspacePassword | ConvertTo-SecureString - asPlainText - Force))
98
+ New-AzSynapseWorkspace - ResourceGroupName $params.rgname - WorkspaceName $params.workspaceName - Location $location - SqlAdministratorLoginCredential $credentials - DefaultDataLakeStorageAccountName $params.storageAccountName - DefaultDataLakeStorageFilesystem $params.fileSystemName - ManagedResourceGroupName $params.managedresourcegroupName
99
+ Wait-Seconds 10
100
+ }
101
+
102
+ <#
103
+ . SYNOPSIS
104
+ Gets the values of the parameters used at the tests
105
+ #>
106
+ function Get-WorkspaceTestEnvironmentParameters ($testSuffix )
107
+ {
108
+ return @ { rgname = " adonly-cmdlet-test-rg" + $testSuffix ;
109
+ workspaceName = " adonly-ws" + $testSuffix ;
110
+ managedresourcegroupName = " mrg" + $testSuffix ;
111
+ storageAccountName = " wsstorage" + $testSuffix ;
112
+ fileSystemName = " wscmdletfs" + $testSuffix ;
113
+ loginName = " testlogin" ;
114
+ pwd = " testp@ssMakingIt1007Longer" ;
115
+ location = " eastus2euap" ;
116
+ }
117
+ }
118
+
119
+ <#
120
+ . SYNOPSIS
121
+ Removes the test environment that was needed to perform the tests
122
+ #>
123
+ function Remove-WorkspaceTestEnvironment ($testSuffix )
124
+ {
125
+ $params = Get-WorkspaceTestEnvironmentParameters $testSuffix
126
+ Remove-AzResourceGroup - Name $params.rgname - Force
127
+ }
0 commit comments