Skip to content

Commit a8c3b26

Browse files
committed
d/aws_iam_policy_document(test): duplicated condition config
1 parent 19853d7 commit a8c3b26

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

internal/service/iam/policy_document_data_source_test.go

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,25 @@ func TestAccIAMPolicyDocumentDataSource_multipleConditionKeys(t *testing.T) {
7474
})
7575
}
7676

77+
func TestAccIAMPolicyDocumentDataSource_duplicateConditionKeys(t *testing.T) {
78+
ctx := acctest.Context(t)
79+
dataSourceName := "data.aws_iam_policy_document.test"
80+
81+
resource.ParallelTest(t, resource.TestCase{
82+
PreCheck: func() { acctest.PreCheck(ctx, t) },
83+
ErrorCheck: acctest.ErrorCheck(t, iam.EndpointsID),
84+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
85+
Steps: []resource.TestStep{
86+
{
87+
Config: testAccPolicyDocumentDataSourceConfig_duplicateConditionKeys,
88+
Check: resource.ComposeTestCheckFunc(
89+
acctest.CheckResourceAttrEquivalentJSON(dataSourceName, "json", testAccPolicyDocumentConfig_duplicateConditionKeys_ExpectedJSON),
90+
),
91+
},
92+
},
93+
})
94+
}
95+
7796
func TestAccIAMPolicyDocumentDataSource_conditionWithBoolValue(t *testing.T) {
7897
ctx := acctest.Context(t)
7998
resource.ParallelTest(t, resource.TestCase{
@@ -662,6 +681,57 @@ var testAccPolicyDocumentConfig_multipleConditionKeys_ExpectedJSON = `{
662681
}
663682
`
664683

684+
const testAccPolicyDocumentDataSourceConfig_duplicateConditionKeys = `
685+
data "aws_iam_policy_document" "test" {
686+
statement {
687+
sid = "DuplicateConditionTest"
688+
689+
effect = "Allow"
690+
691+
principals {
692+
type = "Service"
693+
identifiers = ["cloudtrail.amazonaws.com"]
694+
}
695+
696+
actions = ["s3:PutObject"]
697+
698+
resources = ["*"]
699+
700+
condition {
701+
test = "StringEquals"
702+
variable = "s3:prefix"
703+
values = ["one/", "two/"]
704+
}
705+
condition {
706+
test = "StringEquals"
707+
variable = "s3:prefix"
708+
values = ["three/"]
709+
}
710+
}
711+
}
712+
`
713+
714+
const testAccPolicyDocumentConfig_duplicateConditionKeys_ExpectedJSON = `{
715+
"Version": "2012-10-17",
716+
"Statement": [
717+
{
718+
"Sid": "DuplicateConditionTest",
719+
"Effect": "Allow",
720+
"Action": "s3:PutObject",
721+
"Resource": "*",
722+
"Principal": {
723+
"Service": "cloudtrail.amazonaws.com"
724+
},
725+
"Condition": {
726+
"StringEquals": {
727+
"s3:prefix": ["one/", "two/", "three/"]
728+
}
729+
}
730+
}
731+
]
732+
}
733+
`
734+
665735
var testAccPolicyDocumentDataSourceConfig_deprecated = `
666736
data "aws_partition" "current" {}
667737

0 commit comments

Comments
 (0)