@@ -66,6 +66,154 @@ function Test-PolicyDefinitionCRUD
66
66
Assert-AreEqual True $remove
67
67
}
68
68
69
+ <#
70
+ . SYNOPSIS
71
+ Tests Policy definition CRUD operations
72
+ #>
73
+ function Test-PolicyDefinitionMode
74
+ {
75
+ # setup
76
+ $policyName = Get-ResourceName
77
+
78
+ # make a policy definition with non-default mode, get it back and validate
79
+ $expected = New-AzureRMPolicyDefinition - Name $policyName - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Mode All - Description $description
80
+ $actual = Get-AzureRMPolicyDefinition - Name $policyName
81
+ Assert-NotNull $actual
82
+ Assert-AreEqual $expected.Name $actual.Name
83
+ Assert-AreEqual $expected.PolicyDefinitionId $actual.PolicyDefinitionId
84
+ Assert-NotNull ($actual.Properties.PolicyRule )
85
+ Assert-AreEqual ' All' $actual.Properties.Mode
86
+ Assert-AreEqual ' All' $expected.Properties.Mode
87
+
88
+ # update the same policy definition without touching mode, get it back and validate
89
+ $actual = Set-AzureRMPolicyDefinition - Name $policyName - DisplayName testDisplay - Description $updatedDescription - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Metadata $metadata
90
+ $expected = Get-AzureRMPolicyDefinition - Name $policyName
91
+ Assert-AreEqual $expected.Properties.DisplayName $actual.Properties.DisplayName
92
+ Assert-AreEqual $expected.Properties.Description $actual.Properties.Description
93
+ Assert-NotNull ($actual.Properties.Metadata )
94
+ Assert-AreEqual $metadataValue $actual.Properties.Metadata .$metadataName
95
+ Assert-AreEqual ' All' $actual.Properties.Mode
96
+ Assert-AreEqual ' All' $expected.Properties.Mode
97
+
98
+ # update the same policy definition explicitly providing the same mode, get it back and validate
99
+ $actual = Set-AzureRMPolicyDefinition - Name $policyName - DisplayName testDisplay - Mode ' All' - Description $updatedDescription - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Metadata $metadata
100
+ $expected = Get-AzureRMPolicyDefinition - Name $policyName
101
+ Assert-AreEqual $expected.Properties.DisplayName $actual.Properties.DisplayName
102
+ Assert-AreEqual $expected.Properties.Description $actual.Properties.Description
103
+ Assert-NotNull ($actual.Properties.Metadata )
104
+ Assert-AreEqual $metadataValue $actual.Properties.Metadata .$metadataName
105
+ Assert-AreEqual ' All' $actual.Properties.Mode
106
+ Assert-AreEqual ' All' $expected.Properties.Mode
107
+
108
+ # update the same policy definition explicitly providing a different mode, get it back and validate
109
+ $actual = Set-AzureRMPolicyDefinition - Name $policyName - DisplayName testDisplay - Mode ' Indexed' - Description $updatedDescription - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Metadata $metadata
110
+ $expected = Get-AzureRMPolicyDefinition - Name $policyName
111
+ Assert-AreEqual $expected.Properties.DisplayName $actual.Properties.DisplayName
112
+ Assert-AreEqual $expected.Properties.Description $actual.Properties.Description
113
+ Assert-NotNull ($actual.Properties.Metadata )
114
+ Assert-AreEqual $metadataValue $actual.Properties.Metadata .$metadataName
115
+ Assert-AreEqual ' Indexed' $actual.Properties.Mode
116
+ Assert-AreEqual ' Indexed' $expected.Properties.Mode
117
+
118
+ # clean up
119
+ $remove = Remove-AzureRMPolicyDefinition - Name $policyName - Force
120
+ Assert-AreEqual True $remove
121
+
122
+ # repeat the same four tests at management group
123
+ $managementGroup = ' AzGovTest8'
124
+
125
+ # make a policy definition with non-default mode, get it back and validate
126
+ $expected = New-AzureRMPolicyDefinition - ManagementGroupName $managementGroup - Name $policyName - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Mode All - Description $description
127
+ $actual = Get-AzureRMPolicyDefinition - ManagementGroupName $managementGroup - Name $policyName
128
+ Assert-NotNull $actual
129
+ Assert-AreEqual $expected.Name $actual.Name
130
+ Assert-AreEqual $expected.PolicyDefinitionId $actual.PolicyDefinitionId
131
+ Assert-NotNull ($actual.Properties.PolicyRule )
132
+ Assert-AreEqual ' All' $actual.Properties.Mode
133
+ Assert-AreEqual ' All' $expected.Properties.Mode
134
+
135
+ # update the same policy definition without touching mode, get it back and validate
136
+ $actual = Set-AzureRMPolicyDefinition - ManagementGroupName $managementGroup - Name $policyName - DisplayName testDisplay - Description $updatedDescription - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Metadata $metadata
137
+ $expected = Get-AzureRMPolicyDefinition - ManagementGroupName $managementGroup - Name $policyName
138
+ Assert-AreEqual $expected.Properties.DisplayName $actual.Properties.DisplayName
139
+ Assert-AreEqual $expected.Properties.Description $actual.Properties.Description
140
+ Assert-NotNull ($actual.Properties.Metadata )
141
+ Assert-AreEqual $metadataValue $actual.Properties.Metadata .$metadataName
142
+ Assert-AreEqual ' All' $actual.Properties.Mode
143
+ Assert-AreEqual ' All' $expected.Properties.Mode
144
+
145
+ # update the same policy definition explicitly providing the same mode, get it back and validate
146
+ $actual = Set-AzureRMPolicyDefinition - ManagementGroupName $managementGroup - Name $policyName - DisplayName testDisplay - Mode ' All' - Description $updatedDescription - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Metadata $metadata
147
+ $expected = Get-AzureRMPolicyDefinition - ManagementGroupName $managementGroup - Name $policyName
148
+ Assert-AreEqual $expected.Properties.DisplayName $actual.Properties.DisplayName
149
+ Assert-AreEqual $expected.Properties.Description $actual.Properties.Description
150
+ Assert-NotNull ($actual.Properties.Metadata )
151
+ Assert-AreEqual $metadataValue $actual.Properties.Metadata .$metadataName
152
+ Assert-AreEqual ' All' $actual.Properties.Mode
153
+ Assert-AreEqual ' All' $expected.Properties.Mode
154
+
155
+ # update the same policy definition explicitly providing a different mode, get it back and validate
156
+ $actual = Set-AzureRMPolicyDefinition - ManagementGroupName $managementGroup - Name $policyName - DisplayName testDisplay - Mode ' Indexed' - Description $updatedDescription - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Metadata $metadata
157
+ $expected = Get-AzureRMPolicyDefinition - ManagementGroupName $managementGroup - Name $policyName
158
+ Assert-AreEqual $expected.Properties.DisplayName $actual.Properties.DisplayName
159
+ Assert-AreEqual $expected.Properties.Description $actual.Properties.Description
160
+ Assert-NotNull ($actual.Properties.Metadata )
161
+ Assert-AreEqual $metadataValue $actual.Properties.Metadata .$metadataName
162
+ Assert-AreEqual ' Indexed' $actual.Properties.Mode
163
+ Assert-AreEqual ' Indexed' $expected.Properties.Mode
164
+
165
+ # clean up
166
+ $remove = Remove-AzureRMPolicyDefinition - ManagementGroupName $managementGroup - Name $policyName - Force
167
+ Assert-AreEqual True $remove
168
+
169
+ # repeat the same four tests at subscription id
170
+ $subscriptionId = ' e8a0d3c2-c26a-4363-ba6b-f56ac74c5ae0' # AIMES Deployment Test
171
+
172
+ # make a policy definition with non-default mode, get it back and validate
173
+ $expected = New-AzureRMPolicyDefinition - SubscriptionId $subscriptionId - Name $policyName - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Mode All - Description $description
174
+ $actual = Get-AzureRMPolicyDefinition - SubscriptionId $subscriptionId - Name $policyName
175
+ Assert-NotNull $actual
176
+ Assert-AreEqual $expected.Name $actual.Name
177
+ Assert-AreEqual $expected.PolicyDefinitionId $actual.PolicyDefinitionId
178
+ Assert-NotNull ($actual.Properties.PolicyRule )
179
+ Assert-AreEqual ' All' $actual.Properties.Mode
180
+ Assert-AreEqual ' All' $expected.Properties.Mode
181
+
182
+ # update the same policy definition without touching mode, get it back and validate
183
+ $actual = Set-AzureRMPolicyDefinition - SubscriptionId $subscriptionId - Name $policyName - DisplayName testDisplay - Description $updatedDescription - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Metadata $metadata
184
+ $expected = Get-AzureRMPolicyDefinition - SubscriptionId $subscriptionId - Name $policyName
185
+ Assert-AreEqual $expected.Properties.DisplayName $actual.Properties.DisplayName
186
+ Assert-AreEqual $expected.Properties.Description $actual.Properties.Description
187
+ Assert-NotNull ($actual.Properties.Metadata )
188
+ Assert-AreEqual $metadataValue $actual.Properties.Metadata .$metadataName
189
+ Assert-AreEqual ' All' $actual.Properties.Mode
190
+ Assert-AreEqual ' All' $expected.Properties.Mode
191
+
192
+ # update the same policy definition explicitly providing the same mode, get it back and validate
193
+ $actual = Set-AzureRMPolicyDefinition - SubscriptionId $subscriptionId - Name $policyName - DisplayName testDisplay - Mode ' All' - Description $updatedDescription - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Metadata $metadata
194
+ $expected = Get-AzureRMPolicyDefinition - SubscriptionId $subscriptionId - Name $policyName
195
+ Assert-AreEqual $expected.Properties.DisplayName $actual.Properties.DisplayName
196
+ Assert-AreEqual $expected.Properties.Description $actual.Properties.Description
197
+ Assert-NotNull ($actual.Properties.Metadata )
198
+ Assert-AreEqual $metadataValue $actual.Properties.Metadata .$metadataName
199
+ Assert-AreEqual ' All' $actual.Properties.Mode
200
+ Assert-AreEqual ' All' $expected.Properties.Mode
201
+
202
+ # update the same policy definition explicitly providing a different mode, get it back and validate
203
+ $actual = Set-AzureRMPolicyDefinition - SubscriptionId $subscriptionId - Name $policyName - DisplayName testDisplay - Mode ' Indexed' - Description $updatedDescription - Policy " $TestOutputRoot \SamplePolicyDefinition.json" - Metadata $metadata
204
+ $expected = Get-AzureRMPolicyDefinition - SubscriptionId $subscriptionId - Name $policyName
205
+ Assert-AreEqual $expected.Properties.DisplayName $actual.Properties.DisplayName
206
+ Assert-AreEqual $expected.Properties.Description $actual.Properties.Description
207
+ Assert-NotNull ($actual.Properties.Metadata )
208
+ Assert-AreEqual $metadataValue $actual.Properties.Metadata .$metadataName
209
+ Assert-AreEqual ' Indexed' $actual.Properties.Mode
210
+ Assert-AreEqual ' Indexed' $expected.Properties.Mode
211
+
212
+ # clean up
213
+ $remove = Remove-AzureRMPolicyDefinition - SubscriptionId $subscriptionId - Name $policyName - Force
214
+ Assert-AreEqual True $remove
215
+ }
216
+
69
217
<#
70
218
. SYNOPSIS
71
219
Tests Policy definition with uri
0 commit comments