@@ -87,21 +87,36 @@ function Test-ThreatDetectionDatabaseUpdatePolicy
87
87
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection_Vulnerability)}
88
88
89
89
# Test
90
- Update-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - ExcludedDetectionType " Sql_Injection " , " Sql_Injection_Vulnerability" , " Access_Anomaly " , " Data_Exfiltration " , " Unsafe_Action "
90
+ Update-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - ExcludedDetectionType " Sql_Injection_Vulnerability" , " Unsafe_Action " , " Brute_Force "
91
91
$policy = Get-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
92
92
93
93
# Assert
94
94
Assert-AreEqual $policy.ThreatDetectionState " Enabled"
95
95
Assert-AreEqual $policy.NotificationRecipientsEmails " [email protected] ;[email protected] "
96
96
Assert-False {$policy.EmailAdmins }
97
- Assert-AreEqual $policy.ExcludedDetectionTypes.Count 5
97
+ Assert-AreEqual $policy.ExcludedDetectionTypes.Count 3
98
+ Assert-AreEqual $policy.StorageAccountName $params.storageAccount
99
+ Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection_Vulnerability)}
100
+ Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Unsafe_Action)}
101
+ Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Brute_Force)}
102
+
103
+ # Test
104
+ Update-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - ExcludedDetectionType " Sql_Injection" , " Sql_Injection_Vulnerability" , " Access_Anomaly" , " Data_Exfiltration" , " Unsafe_Action" , " Brute_Force"
105
+ $policy = Get-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
106
+
107
+ # Assert
108
+ Assert-AreEqual $policy.ThreatDetectionState " Enabled"
109
+ Assert-AreEqual $policy.NotificationRecipientsEmails " [email protected] ;[email protected] "
110
+ Assert-False {$policy.EmailAdmins }
111
+ Assert-AreEqual $policy.ExcludedDetectionTypes.Count 6
98
112
Assert-AreEqual $policy.StorageAccountName $params.storageAccount
99
113
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection)}
100
114
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection_Vulnerability)}
101
115
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Access_Anomaly)}
102
116
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Data_Exfiltration)}
103
117
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Unsafe_Action)}
104
-
118
+ Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Brute_Force)}
119
+
105
120
# Test
106
121
Clear-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
107
122
$policy = Get-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
@@ -110,12 +125,13 @@ function Test-ThreatDetectionDatabaseUpdatePolicy
110
125
Assert-AreEqual $policy.ThreatDetectionState " Disabled"
111
126
Assert-AreEqual $policy.NotificationRecipientsEmails " [email protected] ;[email protected] "
112
127
Assert-False {$policy.EmailAdmins }
113
- Assert-AreEqual $policy.ExcludedDetectionTypes.Count 5
128
+ Assert-AreEqual $policy.ExcludedDetectionTypes.Count 6
114
129
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection)}
115
130
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection_Vulnerability)}
116
131
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Access_Anomaly)}
117
132
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Data_Exfiltration)}
118
133
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Unsafe_Action)}
134
+ Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Brute_Force)}
119
135
120
136
# Test
121
137
Update-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - ExcludedDetectionType " None"
@@ -169,20 +185,21 @@ function Test-ThreatDetectionServerUpdatePolicy
169
185
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection_Vulnerability)}
170
186
171
187
# Test
172
- Update-AzSqlServerAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - ExcludedDetectionType Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action - StorageAccountName $params.storageAccount
188
+ Update-AzSqlServerAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - ExcludedDetectionType Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force - StorageAccountName $params.storageAccount
173
189
$policy = Get-AzSqlServerAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName
174
190
175
191
# Assert
176
192
Assert-AreEqual $policy.ThreatDetectionState " Enabled"
177
193
Assert-AreEqual $policy.NotificationRecipientsEmails " [email protected] ;[email protected] "
178
194
Assert-False {$policy.EmailAdmins }
179
- Assert-AreEqual $policy.ExcludedDetectionTypes.Count 5
195
+ Assert-AreEqual $policy.ExcludedDetectionTypes.Count 6
180
196
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection)}
181
197
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection_Vulnerability)}
182
198
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Access_Anomaly)}
183
199
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Data_Exfiltration)}
184
200
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Unsafe_Action)}
185
-
201
+ Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Brute_Force)}
202
+
186
203
# Test
187
204
Clear-AzSqlServerAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName
188
205
$policy = Get-AzSqlServerAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName
@@ -191,12 +208,13 @@ function Test-ThreatDetectionServerUpdatePolicy
191
208
Assert-AreEqual $policy.ThreatDetectionState " Disabled"
192
209
Assert-AreEqual $policy.NotificationRecipientsEmails " [email protected] ;[email protected] "
193
210
Assert-False {$policy.EmailAdmins }
194
- Assert-AreEqual $policy.ExcludedDetectionTypes.Count 5
211
+ Assert-AreEqual $policy.ExcludedDetectionTypes.Count 6
195
212
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection)}
196
213
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection_Vulnerability)}
197
214
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Access_Anomaly)}
198
215
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Data_Exfiltration)}
199
216
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Unsafe_Action)}
217
+ Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Brute_Force)}
200
218
201
219
# Test
202
220
Update-AzSqlServerAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - ExcludedDetectionType None - StorageAccountName $params.storageAccount
@@ -272,6 +290,10 @@ function Test-InvalidArgumentsThreatDetection
272
290
# Check that NotificationRecipientsEmails are in correct format
273
291
Assert-Throws {Update-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - NotificationRecipientsEmails " kokogmail.com" }
274
292
293
+ # Check that EmailAdmins is not False and NotificationRecipientsEmails is not empty
294
+ Assert-Throws {Update-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - EmailAdmins $false - StorageAccountName $params.storageAccount - StoragEndPoint $params.storageEndpoint }
295
+ Assert-Throws {Update-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - EmailAdmins $false - NotificationRecipientsEmails " " - StorageAccountName $params.storageAccount - StoragEndPoint $params.storageEndpoint }
296
+
275
297
# Check that ExcludedDetectionType doesn't hold None and any other type
276
298
Assert-Throws {Update-AzSqlDatabaseAdvancedThreatProtectionSetting - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - EmailAdmins $true - ExcludedDetectionType " None" , " Sql_Injection_Vulnerability" - StorageAccountName $params.storageAccount }
277
299
}
0 commit comments