@@ -31,6 +31,9 @@ Describe 'Azure.VNET' -Tag 'Network', 'VNET' {
31
31
Module = ' PSRule.Rules.Azure'
32
32
WarningAction = ' Ignore'
33
33
ErrorAction = ' Stop'
34
+ Option = @ {
35
+ ' Configuration.AZURE_VNET_SUBNET_EXCLUDED_FROM_NSG' = @ (' subnet-ZZ' )
36
+ }
34
37
}
35
38
$dataPath = Join-Path - Path $here - ChildPath ' Resources.VirtualNetwork.json' ;
36
39
$result = Invoke-PSRule @invokeParams - InputPath $dataPath - Outcome All;
@@ -71,8 +74,8 @@ Describe 'Azure.VNET' -Tag 'Network', 'VNET' {
71
74
# Pass
72
75
$ruleResult = @ ($filteredResult | Where-Object { $_.Outcome -eq ' Pass' });
73
76
$ruleResult | Should -Not - BeNullOrEmpty;
74
- $ruleResult.Length | Should - Be 3 ;
75
- $ruleResult.TargetName | Should - BeIn ' vnet-A' , ' vnet-E' , ' vnet-F' ;
77
+ $ruleResult.Length | Should - Be 4 ;
78
+ $ruleResult.TargetName | Should - BeIn ' vnet-A' , ' vnet-E' , ' vnet-F' , ' vnet-G ' ;
76
79
}
77
80
78
81
It ' Azure.VNET.SingleDNS' {
@@ -87,8 +90,8 @@ Describe 'Azure.VNET' -Tag 'Network', 'VNET' {
87
90
# Pass
88
91
$ruleResult = @ ($filteredResult | Where-Object { $_.Outcome -eq ' Pass' });
89
92
$ruleResult | Should -Not - BeNullOrEmpty;
90
- $ruleResult.Length | Should - Be 5 ;
91
- $ruleResult.TargetName | Should - Be ' vnet-A' , ' vnet-C' , ' vnet-D' , ' vnet-E' , ' vnet-F' ;
93
+ $ruleResult.Length | Should - Be 6 ;
94
+ $ruleResult.TargetName | Should - Be ' vnet-A' , ' vnet-C' , ' vnet-D' , ' vnet-E' , ' vnet-F' , ' vnet-G ' ;
92
95
}
93
96
94
97
It ' Azure.VNET.LocalDNS' {
@@ -97,8 +100,8 @@ Describe 'Azure.VNET' -Tag 'Network', 'VNET' {
97
100
# Fail
98
101
$ruleResult = @ ($filteredResult | Where-Object { $_.Outcome -eq ' Fail' });
99
102
$ruleResult | Should -Not - BeNullOrEmpty;
100
- $ruleResult.Length | Should - Be 4 ;
101
- $ruleResult.TargetName | Should - Be ' vnet-B' , ' vnet-D' , ' vnet-E' , ' vnet-F' ;
103
+ $ruleResult.Length | Should - Be 5 ;
104
+ $ruleResult.TargetName | Should - Be ' vnet-B' , ' vnet-D' , ' vnet-E' , ' vnet-F' , ' vnet-G ' ;
102
105
103
106
# Pass
104
107
$ruleResult = @ ($filteredResult | Where-Object { $_.Outcome -eq ' Pass' });
@@ -125,8 +128,8 @@ Describe 'Azure.VNET' -Tag 'Network', 'VNET' {
125
128
# None
126
129
$ruleResult = @ ($filteredResult | Where-Object { $_.Outcome -eq ' None' -and $_.TargetObject.ResourceType -eq ' Microsoft.Network/virtualNetworks' });
127
130
$ruleResult | Should -Not - BeNullOrEmpty;
128
- $ruleResult.Length | Should - Be 3 ;
129
- $ruleResult.TargetName | Should - Be ' vnet-D' , ' vnet-E' , ' vnet-F' ;
131
+ $ruleResult.Length | Should - Be 4 ;
132
+ $ruleResult.TargetName | Should - Be ' vnet-D' , ' vnet-E' , ' vnet-F' , ' vnet-G ' ;
130
133
}
131
134
132
135
It ' Azure.VNET.Name' {
@@ -139,8 +142,8 @@ Describe 'Azure.VNET' -Tag 'Network', 'VNET' {
139
142
# Pass
140
143
$ruleResult = @ ($filteredResult | Where-Object { $_.Outcome -eq ' Pass' });
141
144
$ruleResult | Should -Not - BeNullOrEmpty;
142
- $ruleResult.Length | Should - Be 6 ;
143
- $ruleResult.TargetName | Should - BeIn ' vnet-A' , ' vnet-B' , ' vnet-C' , ' vnet-D' , ' vnet-E' , ' vnet-F' ;
145
+ $ruleResult.Length | Should - Be 7 ;
146
+ $ruleResult.TargetName | Should - BeIn ' vnet-A' , ' vnet-B' , ' vnet-C' , ' vnet-D' , ' vnet-E' , ' vnet-F' , ' vnet-G ' ;
144
147
}
145
148
146
149
It ' Azure.VNET.SubnetName' {
@@ -153,8 +156,8 @@ Describe 'Azure.VNET' -Tag 'Network', 'VNET' {
153
156
# Pass
154
157
$ruleResult = @ ($filteredResult | Where-Object { $_.Outcome -eq ' Pass' });
155
158
$ruleResult | Should -Not - BeNullOrEmpty;
156
- $ruleResult.Length | Should - Be 6 ;
157
- $ruleResult.TargetName | Should - BeIn ' vnet-A' , ' vnet-B' , ' vnet-C' , ' vnet-D' , ' vnet-E' , ' vnet-F' ;
159
+ $ruleResult.Length | Should - Be 7 ;
160
+ $ruleResult.TargetName | Should - BeIn ' vnet-A' , ' vnet-B' , ' vnet-C' , ' vnet-D' , ' vnet-E' , ' vnet-F' , ' vnet-G ' ;
158
161
}
159
162
160
163
It ' Azure.VNET.BastionSubnet' {
@@ -178,8 +181,8 @@ Describe 'Azure.VNET' -Tag 'Network', 'VNET' {
178
181
# None
179
182
$ruleResult = @ ($filteredResult | Where-Object { $_.Outcome -eq ' None' -and $_.TargetObject.ResourceType -eq ' Microsoft.Network/virtualNetworks' });
180
183
$ruleResult | Should -Not - BeNullOrEmpty;
181
- $ruleResult.Length | Should - Be 1 ;
182
- $ruleResult.TargetName | Should - BeIn ' vnet-F' ;
184
+ $ruleResult.Length | Should - Be 2 ;
185
+ $ruleResult.TargetName | Should - BeIn ' vnet-F' , ' vnet-G ' ;
183
186
}
184
187
185
188
It ' Azure.VNET.FirewallSubnet' {
@@ -203,8 +206,8 @@ Describe 'Azure.VNET' -Tag 'Network', 'VNET' {
203
206
# None
204
207
$ruleResult = @ ($filteredResult | Where-Object { $_.Outcome -eq ' None' -and $_.TargetObject.ResourceType -eq ' Microsoft.Network/virtualNetworks' });
205
208
$ruleResult | Should -Not - BeNullOrEmpty;
206
- $ruleResult.Length | Should - Be 1 ;
207
- $ruleResult.TargetName | Should - BeIn ' vnet-F' ;
209
+ $ruleResult.Length | Should - Be 2 ;
210
+ $ruleResult.TargetName | Should - BeIn ' vnet-F' , ' vnet-G ' ;
208
211
}
209
212
}
210
213
0 commit comments