From 42c077700a26b4cf65999db199030ac88bc68d14 Mon Sep 17 00:00:00 2001 From: Christopher Tiwald Date: Sun, 19 Jul 2015 00:09:25 -0400 Subject: [PATCH] aws: Add acceptance tests for "aws_codedeploy_app" resources. --- .../aws/resource_aws_codedeploy_app_test.go | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 builtin/providers/aws/resource_aws_codedeploy_app_test.go diff --git a/builtin/providers/aws/resource_aws_codedeploy_app_test.go b/builtin/providers/aws/resource_aws_codedeploy_app_test.go new file mode 100644 index 000000000..9c016f184 --- /dev/null +++ b/builtin/providers/aws/resource_aws_codedeploy_app_test.go @@ -0,0 +1,78 @@ +package aws + +import ( + "fmt" + "testing" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/codedeploy" + "github.com/hashicorp/terraform/helper/resource" + "github.com/hashicorp/terraform/terraform" +) + +func TestAccAWSCodeDeployApp_basic(t *testing.T) { + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSCodeDeployAppDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSCodeDeployApp, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSCodeDeployAppExists("aws_codedeploy_app.foo"), + ), + }, + resource.TestStep{ + Config: testAccAWSCodeDeployAppModifier, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSCodeDeployAppExists("aws_codedeploy_app.foo"), + ), + }, + }, + }) +} + +func testAccCheckAWSCodeDeployAppDestroy(s *terraform.State) error { + conn := testAccProvider.Meta().(*AWSClient).codedeployconn + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_codedeploy_app" { + continue + } + + resp, err := conn.GetApplication(&codedeploy.GetApplicationInput{ + ApplicationName: aws.String(rs.Primary.ID), + }) + + if err == nil { + if resp.Application != nil { + return fmt.Errorf("CodeDeploy app still exists:\n%#v", *resp.Application.ApplicationId) + } + } + + return err + } + + return nil +} + +func testAccCheckAWSCodeDeployAppExists(name string) resource.TestCheckFunc { + return func(s *terraform.State) error { + _, ok := s.RootModule().Resources[name] + if !ok { + return fmt.Errorf("Not found: %s", name) + } + + return nil + } +} + +var testAccAWSCodeDeployApp = ` +resource "aws_codedeploy_app" "foo" { + name = "foo" +}` + +var testAccAWSCodeDeployAppModifier = ` +resource "aws_codedeploy_app" "foo" { + name = "bar" +}`