From 14e8e4a562d578d1fc844b6e976090cbca0e1093 Mon Sep 17 00:00:00 2001 From: saravanan30erd Date: Sat, 23 Jun 2018 12:39:01 +0400 Subject: [PATCH 1/3] implement value validation check --- aws/resource_aws_ses_receipt_rule.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/aws/resource_aws_ses_receipt_rule.go b/aws/resource_aws_ses_receipt_rule.go index 912620acd904..86af2d2f31fd 100644 --- a/aws/resource_aws_ses_receipt_rule.go +++ b/aws/resource_aws_ses_receipt_rule.go @@ -683,9 +683,15 @@ func buildReceiptRule(d *schema.ResourceData, meta interface{}) *ses.ReceiptRule elem := element.(map[string]interface{}) s3Action := &ses.S3Action{ - BucketName: aws.String(elem["bucket_name"].(string)), - KmsKeyArn: aws.String(elem["kms_key_arn"].(string)), - ObjectKeyPrefix: aws.String(elem["object_key_prefix"].(string)), + BucketName: aws.String(elem["bucket_name"].(string)), + } + + if elem["kms_key_arn"] != "" { + s3Action.KmsKeyArn = aws.String(elem["kms_key_arn"].(string)) + } + + if elem["object_key_prefix"] != "" { + s3Action.ObjectKeyPrefix = aws.String(elem["object_key_prefix"].(string)) } if elem["topic_arn"] != "" { From 53b36224d0d11752dd3fcd8ec5299cb62fd0eae1 Mon Sep 17 00:00:00 2001 From: saravanan30erd Date: Mon, 25 Jun 2018 18:45:36 +0400 Subject: [PATCH 2/3] add acceptance test --- aws/resource_aws_ses_receipt_rule_test.go | 44 +++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/aws/resource_aws_ses_receipt_rule_test.go b/aws/resource_aws_ses_receipt_rule_test.go index a443ef939f18..1b77a6cc0a0f 100644 --- a/aws/resource_aws_ses_receipt_rule_test.go +++ b/aws/resource_aws_ses_receipt_rule_test.go @@ -31,6 +31,24 @@ func TestAccAWSSESReceiptRule_basic(t *testing.T) { }) } +func TestAccAWSSESReceiptRule_s3Action(t *testing.T) { + resource.Test(t, resource.TestCase{ + PreCheck: func() { + testAccPreCheck(t) + }, + Providers: testAccProviders, + CheckDestroy: testAccCheckSESReceiptRuleDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSSESReceiptRuleS3ActionConfig, + Check: resource.ComposeTestCheckFunc( + testAccCheckAwsSESReceiptRuleExists("aws_ses_receipt_rule.basic"), + ), + }, + }, + }) +} + func TestAccAWSSESReceiptRule_order(t *testing.T) { resource.Test(t, resource.TestCase{ PreCheck: func() { @@ -244,6 +262,32 @@ resource "aws_ses_receipt_rule" "basic" { } `, srrsRandomInt) +var testAccAWSSESReceiptRuleS3ActionConfig = fmt.Sprintf(` +resource "aws_ses_receipt_rule_set" "test" { + rule_set_name = "test-me-%d" +} + +resource "aws_s3_bucket" "emails" { + bucket = "ses-terraform-emails" + acl = "public-read-write" + force_destroy = "true" +} + +resource "aws_ses_receipt_rule" "basic" { + name = "basic" + rule_set_name = "${aws_ses_receipt_rule_set.test.rule_set_name}" + recipients = ["test@example.com"] + enabled = true + scan_enabled = true + tls_policy = "Require" + + s3_action { + bucket_name = "${aws_s3_bucket.emails.id}" + position = 1 + } +} +`, srrsRandomInt) + var testAccAWSSESReceiptRuleOrderConfig = fmt.Sprintf(` resource "aws_ses_receipt_rule_set" "test" { rule_set_name = "test-me-%d" From f73b7c172070a45bcd1088c64deec005ce8b5d29 Mon Sep 17 00:00:00 2001 From: saravanan30erd Date: Mon, 25 Jun 2018 18:57:00 +0400 Subject: [PATCH 3/3] randomize the acceptance test attribute value --- aws/resource_aws_ses_receipt_rule_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aws/resource_aws_ses_receipt_rule_test.go b/aws/resource_aws_ses_receipt_rule_test.go index 1b77a6cc0a0f..36c13ddcdadf 100644 --- a/aws/resource_aws_ses_receipt_rule_test.go +++ b/aws/resource_aws_ses_receipt_rule_test.go @@ -268,7 +268,7 @@ resource "aws_ses_receipt_rule_set" "test" { } resource "aws_s3_bucket" "emails" { - bucket = "ses-terraform-emails" + bucket = "ses-terraform-emails-%d" acl = "public-read-write" force_destroy = "true" } @@ -286,7 +286,7 @@ resource "aws_ses_receipt_rule" "basic" { position = 1 } } -`, srrsRandomInt) +`, srrsRandomInt, srrsRandomInt) var testAccAWSSESReceiptRuleOrderConfig = fmt.Sprintf(` resource "aws_ses_receipt_rule_set" "test" {