provider/aws: Randomize some IAM user names to avoid conflicts in tests

This commit is contained in:
clint shryock 2016-08-31 09:33:56 -05:00
parent dae81df157
commit 3580ae03be
1 changed files with 19 additions and 12 deletions

View File

@ -6,6 +6,7 @@ import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/iam"
"github.com/hashicorp/terraform/helper/acctest"
"github.com/hashicorp/terraform/helper/resource"
"github.com/hashicorp/terraform/terraform"
)
@ -13,23 +14,27 @@ import (
func TestAccAWSPolicyAttachment_basic(t *testing.T) {
var out iam.ListEntitiesForPolicyOutput
user1 := fmt.Sprintf("test-user-%d", acctest.RandInt())
user2 := fmt.Sprintf("test-user-%d", acctest.RandInt())
user3 := fmt.Sprintf("test-user-%d", acctest.RandInt())
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckAWSPolicyAttachmentDestroy,
Steps: []resource.TestStep{
resource.TestStep{
Config: testAccAWSPolicyAttachConfig,
Config: testAccAWSPolicyAttachConfig(user1),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSPolicyAttachmentExists("aws_iam_policy_attachment.test-attach", 3, &out),
testAccCheckAWSPolicyAttachmentAttributes([]string{"test-user"}, []string{"test-role"}, []string{"test-group"}, &out),
testAccCheckAWSPolicyAttachmentAttributes([]string{user1}, []string{"test-role"}, []string{"test-group"}, &out),
),
},
resource.TestStep{
Config: testAccAWSPolicyAttachConfigUpdate,
Config: testAccAWSPolicyAttachConfigUpdate(user1, user2, user3),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSPolicyAttachmentExists("aws_iam_policy_attachment.test-attach", 6, &out),
testAccCheckAWSPolicyAttachmentAttributes([]string{"test-user3", "test-user3"}, []string{"test-role2", "test-role3"}, []string{"test-group2", "test-group3"}, &out),
testAccCheckAWSPolicyAttachmentAttributes([]string{user3, user3}, []string{"test-role2", "test-role3"}, []string{"test-group2", "test-group3"}, &out),
),
},
},
@ -127,9 +132,10 @@ func testAccCheckAWSPolicyAttachmentAttributes(users []string, roles []string, g
}
}
const testAccAWSPolicyAttachConfig = `
func testAccAWSPolicyAttachConfig(u1 string) string {
return fmt.Sprintf(`
resource "aws_iam_user" "user" {
name = "test-user"
name = "%s"
}
resource "aws_iam_role" "role" {
name = "test-role"
@ -178,18 +184,19 @@ resource "aws_iam_policy_attachment" "test-attach" {
roles = ["${aws_iam_role.role.name}"]
groups = ["${aws_iam_group.group.name}"]
policy_arn = "${aws_iam_policy.policy.arn}"
}`, u1)
}
`
const testAccAWSPolicyAttachConfigUpdate = `
func testAccAWSPolicyAttachConfigUpdate(u1, u2, u3 string) string {
return fmt.Sprintf(`
resource "aws_iam_user" "user" {
name = "test-user"
name = "%s"
}
resource "aws_iam_user" "user2" {
name = "test-user2"
name = "%s"
}
resource "aws_iam_user" "user3" {
name = "test-user3"
name = "%s"
}
resource "aws_iam_role" "role" {
name = "test-role"
@ -292,8 +299,8 @@ resource "aws_iam_policy_attachment" "test-attach" {
"${aws_iam_group.group3.name}"
]
policy_arn = "${aws_iam_policy.policy.arn}"
}`, u1, u2, u3)
}
`
const testAccAWSPolicyPaginatedAttachConfig = `
resource "aws_iam_user" "user" {