github.com/aspring/terraform@v0.8.2-0.20161216122603-6a8619a5db2e/builtin/providers/aws/resource_aws_opsworks_permission_test.go (about) 1 package aws 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/hashicorp/terraform/helper/acctest" 8 "github.com/hashicorp/terraform/helper/resource" 9 ) 10 11 func TestAccAWSOpsworksPermission(t *testing.T) { 12 sName := fmt.Sprintf("tf-ops-perm-%d", acctest.RandInt()) 13 resource.Test(t, resource.TestCase{ 14 PreCheck: func() { testAccPreCheck(t) }, 15 Providers: testAccProviders, 16 Steps: []resource.TestStep{ 17 resource.TestStep{ 18 Config: testAccAwsOpsworksPermissionCreate(sName, "true", "true", "iam_only"), 19 Check: resource.ComposeTestCheckFunc( 20 resource.TestCheckResourceAttr( 21 "aws_opsworks_permission.tf-acc-perm", "allow_ssh", "true", 22 ), 23 resource.TestCheckResourceAttr( 24 "aws_opsworks_permission.tf-acc-perm", "allow_sudo", "true", 25 ), 26 resource.TestCheckResourceAttr( 27 "aws_opsworks_permission.tf-acc-perm", "level", "iam_only", 28 ), 29 ), 30 }, 31 resource.TestStep{ 32 Config: testAccAwsOpsworksPermissionCreate(sName, "true", "false", "iam_only"), 33 Check: resource.ComposeTestCheckFunc( 34 resource.TestCheckResourceAttr( 35 "aws_opsworks_permission.tf-acc-perm", "allow_ssh", "true", 36 ), 37 resource.TestCheckResourceAttr( 38 "aws_opsworks_permission.tf-acc-perm", "allow_sudo", "false", 39 ), 40 resource.TestCheckResourceAttr( 41 "aws_opsworks_permission.tf-acc-perm", "level", "iam_only", 42 ), 43 ), 44 }, 45 resource.TestStep{ 46 Config: testAccAwsOpsworksPermissionCreate(sName, "false", "false", "deny"), 47 Check: resource.ComposeTestCheckFunc( 48 resource.TestCheckResourceAttr( 49 "aws_opsworks_permission.tf-acc-perm", "allow_ssh", "false", 50 ), 51 resource.TestCheckResourceAttr( 52 "aws_opsworks_permission.tf-acc-perm", "allow_sudo", "false", 53 ), 54 resource.TestCheckResourceAttr( 55 "aws_opsworks_permission.tf-acc-perm", "level", "deny", 56 ), 57 ), 58 }, 59 resource.TestStep{ 60 Config: testAccAwsOpsworksPermissionCreate(sName, "false", "false", "show"), 61 Check: resource.ComposeTestCheckFunc( 62 resource.TestCheckResourceAttr( 63 "aws_opsworks_permission.tf-acc-perm", "allow_ssh", "false", 64 ), 65 resource.TestCheckResourceAttr( 66 "aws_opsworks_permission.tf-acc-perm", "allow_sudo", "false", 67 ), 68 resource.TestCheckResourceAttr( 69 "aws_opsworks_permission.tf-acc-perm", "level", "show", 70 ), 71 ), 72 }, 73 }, 74 }) 75 } 76 77 func testAccAwsOpsworksPermissionCreate(name, ssh, sudo, level string) string { 78 return fmt.Sprintf(` 79 resource "aws_opsworks_permission" "tf-acc-perm" { 80 stack_id = "${aws_opsworks_stack.tf-acc.id}" 81 82 allow_ssh = %s 83 allow_sudo = %s 84 user_arn = "${aws_opsworks_user_profile.user.user_arn}" 85 level = "%s" 86 } 87 88 resource "aws_opsworks_user_profile" "user" { 89 user_arn = "${aws_iam_user.user.arn}" 90 ssh_username = "${aws_iam_user.user.name}" 91 } 92 93 resource "aws_iam_user" "user" { 94 name = "%s" 95 path = "/" 96 } 97 98 %s 99 `, ssh, sudo, level, name, testAccAwsOpsworksStackConfigVpcCreate(name)) 100 }