Skip to content

Commit fbd37bb

Browse files
committed
Adding acc test
1 parent e2e7ba3 commit fbd37bb

File tree

2 files changed

+69
-1
lines changed

2 files changed

+69
-1
lines changed

internal/services/policy/policy_definition_resource.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ func resourceArmPolicyDefinition() *pluginsdk.Resource {
6464
return fmt.Errorf("expanding JSON for `parameters`: %+v", err)
6565
}
6666

67-
// ForceNew if parameters were removed or renamed
6867
for oldKey := range oldParameters {
6968
if _, exists := newParameters[oldKey]; !exists {
7069
return d.ForceNew("parameters")

internal/services/policy/policy_definition_resource_test.go

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,33 @@ func TestAccAzureRMPolicyDefinition_removeParameter(t *testing.T) {
176176
})
177177
}
178178

179+
func TestAccAzureRMPolicyDefinition_renameParameter(t *testing.T) {
180+
data := acceptance.BuildTestData(t, "azurerm_policy_definition", "test")
181+
r := PolicyDefinitionResource{}
182+
183+
data.ResourceTestIgnoreRecreate(t, r, []acceptance.TestStep{
184+
{
185+
Config: r.basic(data),
186+
Check: acceptance.ComposeTestCheckFunc(
187+
check.That(data.ResourceName).ExistsInAzure(r),
188+
),
189+
},
190+
data.ImportStep(),
191+
{
192+
Config: r.renamedParameter(data),
193+
ConfigPlanChecks: resource.ConfigPlanChecks{
194+
PreApply: []plancheck.PlanCheck{
195+
plancheck.ExpectResourceAction(data.ResourceName, plancheck.ResourceActionReplace),
196+
},
197+
},
198+
Check: acceptance.ComposeTestCheckFunc(
199+
check.That(data.ResourceName).ExistsInAzure(r),
200+
),
201+
},
202+
data.ImportStep(),
203+
})
204+
}
205+
179206
func (r PolicyDefinitionResource) Exists(ctx context.Context, client *clients.Client, state *pluginsdk.InstanceState) (*bool, error) {
180207
definitionsClient := client.Policy.DefinitionsClient
181208
id, err := parse.PolicyDefinitionID(state.ID)
@@ -480,6 +507,48 @@ PARAMETERS
480507
`, data.RandomInteger, mode, data.RandomInteger)
481508
}
482509

510+
func (r PolicyDefinitionResource) renamedParameter(data acceptance.TestData) string {
511+
return fmt.Sprintf(`
512+
provider "azurerm" {
513+
features {}
514+
}
515+
516+
resource "azurerm_policy_definition" "test" {
517+
name = "acctestpol-%d"
518+
policy_type = "Custom"
519+
mode = "All"
520+
display_name = "acctestpol-%d"
521+
522+
policy_rule = <<POLICY_RULE
523+
{
524+
"if": {
525+
"not": {
526+
"field": "location",
527+
"in": "[parameters('allowedRegions')]"
528+
}
529+
},
530+
"then": {
531+
"effect": "audit"
532+
}
533+
}
534+
POLICY_RULE
535+
536+
parameters = <<PARAMETERS
537+
{
538+
"allowedRegions": {
539+
"type": "Array",
540+
"metadata": {
541+
"description": "The list of allowed regions for resources.",
542+
"displayName": "Allowed regions",
543+
"strongType": "location"
544+
}
545+
}
546+
}
547+
PARAMETERS
548+
}
549+
`, data.RandomInteger, data.RandomInteger)
550+
}
551+
483552
func (r PolicyDefinitionResource) additionalParameter(data acceptance.TestData) string {
484553
return fmt.Sprintf(`
485554
provider "azurerm" {

0 commit comments

Comments
 (0)