From 9882cc59d837cef5817e47e73f4bb07a60a62580 Mon Sep 17 00:00:00 2001 From: Radek Simko Date: Sun, 12 Jul 2015 14:31:09 +0100 Subject: [PATCH] aws: Add regression test for renaming ecs_cluster --- .../aws/resource_aws_ecs_service_test.go | 86 +++++++++++++++++++ helper/resource/testing.go | 27 ++++++ 2 files changed, 113 insertions(+) diff --git a/builtin/providers/aws/resource_aws_ecs_service_test.go b/builtin/providers/aws/resource_aws_ecs_service_test.go index 4257fd365..f7776b210 100644 --- a/builtin/providers/aws/resource_aws_ecs_service_test.go +++ b/builtin/providers/aws/resource_aws_ecs_service_test.go @@ -2,6 +2,7 @@ package aws import ( "fmt" + "regexp" "testing" "github.com/aws/aws-sdk-go/aws" @@ -128,6 +129,39 @@ func TestAccAWSEcsServiceWithFamilyAndRevision(t *testing.T) { }) } +// Regression for https://github.com/hashicorp/terraform/issues/2427 +func TestAccAWSEcsServiceWithRenamedCluster(t *testing.T) { + originalRegexp := regexp.MustCompile( + "^arn:aws:ecs:[^:]+:[0-9]+:cluster/terraformecstest3$") + modifiedRegexp := regexp.MustCompile( + "^arn:aws:ecs:[^:]+:[0-9]+:cluster/terraformecstest3modified$") + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSEcsServiceDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSEcsServiceWithRenamedCluster, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSEcsServiceExists("aws_ecs_service.ghost"), + resource.TestMatchResourceAttr( + "aws_ecs_service.ghost", "cluster", originalRegexp), + ), + }, + + resource.TestStep{ + Config: testAccAWSEcsServiceWithRenamedClusterModified, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSEcsServiceExists("aws_ecs_service.ghost"), + resource.TestMatchResourceAttr( + "aws_ecs_service.ghost", "cluster", modifiedRegexp), + ), + }, + }, + }) +} + func testAccCheckAWSEcsServiceDestroy(s *terraform.State) error { conn := testAccProvider.Meta().(*AWSClient).ecsconn @@ -274,3 +308,55 @@ resource "aws_ecs_service" "jenkins" { desired_count = 1 } ` + +var testAccAWSEcsServiceWithRenamedCluster = ` +resource "aws_ecs_cluster" "default" { + name = "terraformecstest3" +} +resource "aws_ecs_task_definition" "ghost" { + family = "ghost" + container_definitions = <