@@ -172,7 +172,9 @@ function Test-ApplicationGatewayCRUD
172
172
173
173
$disabledRuleGroup1 = New-AzureRmApplicationGatewayFirewallDisabledRuleGroupConfig - RuleGroupName " crs_41_sql_injection_attacks" - Rules 981318 , 981320
174
174
$disabledRuleGroup2 = New-AzureRmApplicationGatewayFirewallDisabledRuleGroupConfig - RuleGroupName " crs_35_bad_robots"
175
- $firewallConfig = New-AzureRmApplicationGatewayWebApplicationFirewallConfiguration - Enabled $true - FirewallMode Prevention - RuleSetType " OWASP" - RuleSetVersion " 2.2.9" - DisabledRuleGroups $disabledRuleGroup1 , $disabledRuleGroup2
175
+ $exclusion1 = New-AzureRmApplicationGatewayFirewallExclusionConfig - MatchVariable " RequestHeaderNames" - SelectorMatchOperator " StartsWith" - Selector " xyz"
176
+ $exclusion2 = New-AzureRmApplicationGatewayFirewallExclusionConfig - MatchVariable " RequestArgNames" - SelectorMatchOperator " Equals" - Selector " a"
177
+ $firewallConfig = New-AzureRmApplicationGatewayWebApplicationFirewallConfiguration - Enabled $true - FirewallMode Prevention - RuleSetType " OWASP" - RuleSetVersion " 2.2.9" - DisabledRuleGroups $disabledRuleGroup1 , $disabledRuleGroup2 - RequestBodyCheck $true - MaxRequestBodySizeInKb 80 - FileUploadLimitInMb 70 - Exclusions $exclusion1 , $exclusion2
176
178
177
179
# Create Application Gateway
178
180
$job = New-AzureRmApplicationGateway - Name $appgwName - ResourceGroupName $rgname - Location $location - Probes $probe01 , $probe02 - BackendAddressPools $pool , $nicPool - BackendHttpSettingsCollection $poolSetting01 , $poolSetting02 - FrontendIpConfigurations $fipconfig01 , $fipconfig02 - GatewayIpConfigurations $gipconfig - FrontendPorts $fp01 , $fp02 - HttpListeners $listener01 , $listener02 - RequestRoutingRules $rule01 , $rule02 - Sku $sku - SslPolicy $sslPolicy - AuthenticationCertificates $authcert01 - WebApplicationFirewallConfiguration $firewallConfig - AsJob
@@ -271,6 +273,10 @@ function Test-ApplicationGatewayCRUD
271
273
Assert-AreEqual " OWASP" $firewallConfig2.RuleSetType
272
274
Assert-AreEqual " 3.0" $firewallConfig2.RuleSetVersion
273
275
Assert-AreEqual $null $firewallConfig2.DisabledRuleGroups
276
+ Assert-AreEqual $True $firewallConfig2.RequestBodyCheck
277
+ Assert-AreEqual 128 $firewallConfig2.MaxRequestBodySizeInKb
278
+ Assert-AreEqual 100 $firewallConfig2.FileUploadLimitInMb
279
+ Assert-AreEqual $null $firewallConfig2.Exclusions
274
280
275
281
$getgw = Set-AzureRmApplicationGateway - ApplicationGateway $getgw
276
282
@@ -657,6 +663,9 @@ function Compare-WebApplicationFirewallConfiguration($expected, $actual)
657
663
Assert-AreEqual $expected.FirewallMode $actual.FirewallMode
658
664
Assert-AreEqual $expected.RuleSetType $actual.RuleSetType
659
665
Assert-AreEqual $expected.RuleSetVersion $actual.RuleSetVersion
666
+ Assert-AreEqual $expected.RequestBodyCheck $actual.RequestBodyCheck
667
+ Assert-AreEqual $expected.MaxRequestBodySizeInKb $actual.MaxRequestBodySizeInKb
668
+ Assert-AreEqual $expected.FileUploadLimitInMb $actual.FileUploadLimitInMb
660
669
661
670
if ($expected.DisabledRuleGroups )
662
671
{
@@ -671,6 +680,20 @@ function Compare-WebApplicationFirewallConfiguration($expected, $actual)
671
680
{
672
681
Assert-Null $actual.DisabledRuleGroups
673
682
}
683
+
684
+ if ($expected.Exclusions )
685
+ {
686
+ Assert-NotNull $actual.Exclusions
687
+ Assert-AreEqual $expected.Exclusions.Count $actual.Exclusions.Count
688
+ for ($i = 0 ; $i -lt $expected.Exclusions.Count ; $i ++ )
689
+ {
690
+ Compare-Exclusion $expected.Exclusions [$i ] $actual.Exclusions [$i ]
691
+ }
692
+ }
693
+ else
694
+ {
695
+ Assert-Null $actual.Exclusions
696
+ }
674
697
}
675
698
else
676
699
{
@@ -705,6 +728,25 @@ function Compare-DisabledRuleGroup($expected, $actual)
705
728
}
706
729
}
707
730
731
+ <#
732
+ . SYNOPSIS
733
+ Compare Exclusion List
734
+ #>
735
+ function Compare-Exclusion ($expected , $actual )
736
+ {
737
+ if ($expected )
738
+ {
739
+ Assert-NotNull $actual
740
+ Assert-AreEqual $expected.MatchVariable $actual.MatchVariable
741
+ Assert-AreEqual $expected.SelectorMatchOperator $actual.SelectorMatchOperator
742
+ Assert-AreEqual $expected.Selector $actual.Selector
743
+ }
744
+ else
745
+ {
746
+ Assert-Null $actual
747
+ }
748
+ }
749
+
708
750
<#
709
751
. SYNOPSIS
710
752
Compare application gateways
0 commit comments