diff --git a/builtin/providers/aws/import_aws_sns_topic_subscription_test.go b/builtin/providers/aws/import_aws_sns_topic_subscription_test.go new file mode 100644 index 0000000000..9a0b60bbc2 --- /dev/null +++ b/builtin/providers/aws/import_aws_sns_topic_subscription_test.go @@ -0,0 +1,30 @@ +package aws + +import ( + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAWSSNSTopicSubscription_importBasic(t *testing.T) { + resourceName := "aws_sns_topic.test_topic" + ri := acctest.RandInt() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSSNSTopicSubscriptionDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSSNSTopicSubscriptionConfig(ri), + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/aws/resource_aws_sns_topic_subscription.go b/builtin/providers/aws/resource_aws_sns_topic_subscription.go index 604eaf3aee..23ecf04117 100644 --- a/builtin/providers/aws/resource_aws_sns_topic_subscription.go +++ b/builtin/providers/aws/resource_aws_sns_topic_subscription.go @@ -24,6 +24,9 @@ func resourceAwsSnsTopicSubscription() *schema.Resource { Read: resourceAwsSnsTopicSubscriptionRead, Update: resourceAwsSnsTopicSubscriptionUpdate, Delete: resourceAwsSnsTopicSubscriptionDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "protocol": &schema.Schema{ diff --git a/builtin/providers/aws/resource_aws_sns_topic_subscription_test.go b/builtin/providers/aws/resource_aws_sns_topic_subscription_test.go index cd014caefd..146d2fa92e 100644 --- a/builtin/providers/aws/resource_aws_sns_topic_subscription_test.go +++ b/builtin/providers/aws/resource_aws_sns_topic_subscription_test.go @@ -7,18 +7,21 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/service/sns" + "github.com/hashicorp/terraform/helper/acctest" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/terraform" ) func TestAccAWSSNSTopicSubscription_basic(t *testing.T) { + ri := acctest.RandInt() + resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, CheckDestroy: testAccCheckAWSSNSTopicSubscriptionDestroy, Steps: []resource.TestStep{ resource.TestStep{ - Config: testAccAWSSNSTopicSubscriptionConfig, + Config: testAccAWSSNSTopicSubscriptionConfig(ri), Check: resource.ComposeTestCheckFunc( testAccCheckAWSSNSTopicExists("aws_sns_topic.test_topic"), testAccCheckAWSSNSTopicSubscriptionExists("aws_sns_topic_subscription.test_subscription"), @@ -83,13 +86,14 @@ func testAccCheckAWSSNSTopicSubscriptionExists(n string) resource.TestCheckFunc } } -const testAccAWSSNSTopicSubscriptionConfig = ` +func testAccAWSSNSTopicSubscriptionConfig(i int) string { + return fmt.Sprintf(` resource "aws_sns_topic" "test_topic" { name = "terraform-test-topic" } resource "aws_sqs_queue" "test_queue" { - name = "terraform-subscription-test-queue" + name = "terraform-subscription-test-queue-%d" } resource "aws_sns_topic_subscription" "test_subscription" { @@ -97,4 +101,5 @@ resource "aws_sns_topic_subscription" "test_subscription" { protocol = "sqs" endpoint = "${aws_sqs_queue.test_queue.arn}" } -` +`, i) +}