@@ -236,4 +236,68 @@ function Test-AzureFirewallPolicyCRUD {
236
236
# Cleanup
237
237
Clean - ResourceGroup $rgname
238
238
}
239
+ }
240
+
241
+
242
+ <#
243
+ . SYNOPSIS
244
+ Tests AzureFirewallPolicyCRUD with ThreatIntelWhitelist.
245
+ #>
246
+ function Test-AzureFirewallPolicyWithThreatIntelWhitelistCRUD {
247
+ # Setup
248
+ $rgname = Get-ResourceGroupName
249
+ $azureFirewallPolicyName = Get-ResourceName
250
+ $azureFirewallPolicyAsJobName = Get-ResourceName
251
+ $resourceTypeParent = " Microsoft.Network/FirewallPolicies"
252
+ $location = " eastus2euap"
253
+
254
+ $ruleGroupName = Get-ResourceName
255
+ $threatIntelWhiteListIp1 = " 20.3.4.5"
256
+ $threatIntelWhiteListIp2 = " 37.1.2.3"
257
+ $threatIntelWhiteListIp3 = " 208.199.20.37"
258
+ $threatIntelWhiteListFqdn1 = " microsoft.com"
259
+
260
+ try {
261
+ # Create the resource group
262
+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $location - Tags @ { testtag = " testval" }
263
+
264
+ $tiWhiteList = New-AzFirewallPolicyThreatIntelWhitelist - IpAddress $threatIntelWhiteListIp1 , $threatIntelWhiteListIp2 - FQDN $threatIntelWhiteListFqdn1
265
+
266
+ # Create AzureFirewallPolicy (with no rules, ThreatIntel is in Alert mode by default)
267
+ $azureFirewallPolicy = New-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgname - Location $location - ThreatIntelWhitelist $tiWhiteList
268
+
269
+ # Get AzureFirewallPolicy
270
+ $getAzureFirewallPolicy = Get-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgname
271
+
272
+ # verification
273
+ Assert-AreEqual $rgName $getAzureFirewallPolicy.ResourceGroupName
274
+ Assert-AreEqual $azureFirewallPolicyName $getAzureFirewallPolicy.Name
275
+ Assert-NotNull $getAzureFirewallPolicy.Location
276
+ Assert-AreEqual $location $getAzureFirewallPolicy.Location
277
+ Assert-AreEqual " Alert" $getAzureFirewallPolicy.ThreatIntelMode
278
+ Assert-NotNull $getAzureFirewallPolicy.ThreatIntelWhitelist
279
+ Assert-AreEqual $threatIntelWhiteListIp1 $getAzureFirewallPolicy.ThreatIntelWhitelist.IpAddresses [0 ]
280
+ Assert-AreEqual $threatIntelWhiteListIp2 $getAzureFirewallPolicy.ThreatIntelWhitelist.IpAddresses [1 ]
281
+ Assert-AreEqual $threatIntelWhiteListFqdn1 $getAzureFirewallPolicy.ThreatIntelWhitelist.FQDNs [0 ]
282
+
283
+ # # Update ThreatIntel Whitelist
284
+ $azureFirewallPolicy.ThreatIntelWhitelist.IpAddresses [0 ] = $threatIntelWhiteListIp3
285
+
286
+ # Set AzureFirewallPolicy
287
+ Set-AzFirewallPolicy - InputObject $azureFirewallPolicy
288
+ # Get AzureFirewallPolicy
289
+ $getAzureFirewallPolicy = Get-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgName
290
+
291
+ # #verification
292
+ Assert-AreEqual $rgName $getAzureFirewallPolicy.ResourceGroupName
293
+ Assert-AreEqual $azureFirewallPolicyName $getAzureFirewallPolicy.Name
294
+ Assert-NotNull $getAzureFirewallPolicy.Location
295
+ Assert-AreEqual $location $getAzureFirewallPolicy.Location
296
+ Assert-NotNull $getAzureFirewallPolicy.ThreatIntelWhitelist
297
+ Assert-AreEqual $threatIntelWhiteListIp3 $getAzureFirewallPolicy.ThreatIntelWhitelist.IpAddresses [0 ]
298
+ }
299
+ finally {
300
+ # Cleanup
301
+ Clean - ResourceGroup $rgname
302
+ }
239
303
}
0 commit comments