github.com/gabrielperezs/terraform@v0.7.0-rc2.0.20160715084931-f7da2612946f/builtin/providers/aws/resource_aws_ses_active_receipt_rule_set_test.go (about) 1 package aws 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/aws/aws-sdk-go/service/ses" 8 "github.com/hashicorp/terraform/helper/resource" 9 "github.com/hashicorp/terraform/terraform" 10 ) 11 12 func TestAccAWSSESActiveReceiptRuleSet_basic(t *testing.T) { 13 resource.Test(t, resource.TestCase{ 14 PreCheck: func() { 15 testAccPreCheck(t) 16 }, 17 Providers: testAccProviders, 18 CheckDestroy: testAccCheckSESActiveReceiptRuleSetDestroy, 19 Steps: []resource.TestStep{ 20 resource.TestStep{ 21 Config: testAccAWSSESActiveReceiptRuleSetConfig, 22 Check: resource.ComposeTestCheckFunc( 23 testAccCheckAwsSESActiveReceiptRuleSetExists("aws_ses_active_receipt_rule_set.test"), 24 ), 25 }, 26 }, 27 }) 28 } 29 30 func testAccCheckSESActiveReceiptRuleSetDestroy(s *terraform.State) error { 31 conn := testAccProvider.Meta().(*AWSClient).sesConn 32 33 for _, rs := range s.RootModule().Resources { 34 if rs.Type != "aws_ses_active_receipt_rule_set" { 35 continue 36 } 37 38 response, err := conn.DescribeActiveReceiptRuleSet(&ses.DescribeActiveReceiptRuleSetInput{}) 39 if err != nil { 40 return err 41 } 42 43 if response.Metadata != nil && *response.Metadata.Name == "test-receipt-rule" { 44 return fmt.Errorf("Active receipt rule set still exists") 45 } 46 47 } 48 49 return nil 50 51 } 52 53 func testAccCheckAwsSESActiveReceiptRuleSetExists(n string) resource.TestCheckFunc { 54 return func(s *terraform.State) error { 55 rs, ok := s.RootModule().Resources[n] 56 if !ok { 57 return fmt.Errorf("SES Active Receipt Rule Set not found: %s", n) 58 } 59 60 if rs.Primary.ID == "" { 61 return fmt.Errorf("SES Active Receipt Rule Set name not set") 62 } 63 64 conn := testAccProvider.Meta().(*AWSClient).sesConn 65 66 response, err := conn.DescribeActiveReceiptRuleSet(&ses.DescribeActiveReceiptRuleSetInput{}) 67 if err != nil { 68 return err 69 } 70 71 if *response.Metadata.Name != "test-receipt-rule" { 72 return fmt.Errorf("The active receipt rule set (%s) was not set to test-receipt-rule", *response.Metadata.Name) 73 } 74 75 return nil 76 } 77 } 78 79 const testAccAWSSESActiveReceiptRuleSetConfig = ` 80 resource "aws_ses_receipt_rule_set" "test" { 81 rule_set_name = "test-receipt-rule" 82 } 83 84 resource "aws_ses_active_receipt_rule_set" "test" { 85 rule_set_name = "${aws_ses_receipt_rule_set.test.rule_set_name}" 86 } 87 `