github.com/koding/terraform@v0.6.4-0.20170608090606-5d7e0339779d/builtin/providers/aws/data_source_aws_acm_certificate_test.go (about)

     1  package aws
     2  
     3  import (
     4  	"fmt"
     5  	"regexp"
     6  	"testing"
     7  
     8  	"github.com/hashicorp/terraform/helper/resource"
     9  )
    10  
    11  func TestAccAwsAcmCertificateDataSource_noMatchReturnsError(t *testing.T) {
    12  	domain := "hashicorp.com"
    13  	resource.Test(t, resource.TestCase{
    14  		PreCheck: func() {
    15  			testAccPreCheck(t)
    16  		},
    17  		Providers: testAccProviders,
    18  		Steps: []resource.TestStep{
    19  			{
    20  				Config:      testAccCheckAwsAcmCertificateDataSourceConfig(domain),
    21  				ExpectError: regexp.MustCompile(`No certificate for domain`),
    22  			},
    23  			{
    24  				Config:      testAccCheckAwsAcmCertificateDataSourceConfigWithStatus(domain),
    25  				ExpectError: regexp.MustCompile(`No certificate for domain`),
    26  			},
    27  			{
    28  				Config:      testAccCheckAwsAcmCertificateDataSourceConfigWithTypes(domain),
    29  				ExpectError: regexp.MustCompile(`No certificate for domain`),
    30  			},
    31  		},
    32  	})
    33  }
    34  
    35  func testAccCheckAwsAcmCertificateDataSourceConfig(domain string) string {
    36  	return fmt.Sprintf(`
    37  data "aws_acm_certificate" "test" {
    38  	domain = "%s"
    39  }
    40  `, domain)
    41  }
    42  
    43  func testAccCheckAwsAcmCertificateDataSourceConfigWithStatus(domain string) string {
    44  	return fmt.Sprintf(`
    45  data "aws_acm_certificate" "test" {
    46  	domain = "%s"
    47  	statuses = ["ISSUED"]
    48  }
    49  `, domain)
    50  }
    51  
    52  func testAccCheckAwsAcmCertificateDataSourceConfigWithTypes(domain string) string {
    53  	return fmt.Sprintf(`
    54  data "aws_acm_certificate" "test" {
    55  	domain = "%s"
    56  	types = ["IMPORTED"]
    57  }
    58  `, domain)
    59  }