@@ -1764,4 +1764,57 @@ function Test-AzureFirewallPolicyRuleDescription {
1764
1764
# Cleanup
1765
1765
Clean - ResourceGroup $rgname
1766
1766
}
1767
+ }
1768
+
1769
+ <#
1770
+ . SYNOPSIS
1771
+ Tests AzureFirewall SNAT
1772
+ #>
1773
+ function Test-AzureFirewallSnat {
1774
+ $rgname = Get-ResourceGroupName
1775
+ $azureFirewallPolicyName = Get-ResourceName
1776
+ $resourceTypeParent = " Microsoft.Network/FirewallPolicies"
1777
+ $location = " westus2"
1778
+ $vnetName = Get-ResourceName
1779
+ $privateRange = @ (" 3.3.0.0/24" , " 98.0.0.0/8" , " 10.227.16.0/20" )
1780
+ $privateRange2 = @ (" 0.0.0.0/0" , " 66.92.0.0/16" )
1781
+
1782
+ try {
1783
+
1784
+ # Create the resource group
1785
+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $location - Tags @ { testtag = " testval" }
1786
+
1787
+ $snat = New-AzFirewallPolicySnat - PrivateRange $privateRange - AutoLearnPrivateRange
1788
+
1789
+ # Create AzureFirewallPolicy (with SNAT)
1790
+ $azureFirewallPolicy = New-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgname - Location $location - Snat $snat
1791
+
1792
+ # Get AzureFirewallPolicy
1793
+ $getAzureFirewallPolicy = Get-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgname
1794
+
1795
+
1796
+ # verification
1797
+ Assert-AreEqual $rgName $getAzureFirewallPolicy.ResourceGroupName
1798
+ Assert-AreEqual $azureFirewallPolicyName $getAzureFirewallPolicy.Name
1799
+ Assert-NotNull $getAzureFirewallPolicy.Location
1800
+ Assert-AreEqual (Normalize- Location $location ) $getAzureFirewallPolicy.Location
1801
+ Assert-NotNull $getAzureFirewallPolicy.Snat
1802
+ Assert-AreEqualArray $privateRange $getAzureFirewallPolicy.Snat.PrivateRanges
1803
+ Assert-AreEqual " Enabled" $getAzureFirewallPolicy.Snat.AutoLearnPrivateRanges
1804
+
1805
+ # Modify
1806
+ $snat = New-AzFirewallPolicySnat - PrivateRange $privateRange2
1807
+ # Set AzureFirewallPolicy
1808
+ $azureFirewallPolicy.Snat = $snat
1809
+ Set-AzFirewallPolicy - InputObject $azureFirewallPolicy
1810
+ $policy = Get-AzFirewallPolicy - Name $azureFirewallPolicyName - ResourceGroupName $rgname
1811
+
1812
+ Assert-NotNull $policy.Snat
1813
+ Assert-AreEqualArray $privateRange2 $policy.Snat.PrivateRanges
1814
+ Assert-AreEqual " Disabled" $policy.Snat.AutoLearnPrivateRanges
1815
+ }
1816
+ finally {
1817
+ # Cleanup
1818
+ Clean - ResourceGroup $rgname
1819
+ }
1767
1820
}
0 commit comments