github.com/aspring/terraform@v0.8.2-0.20161216122603-6a8619a5db2e/builtin/providers/aws/data_source_aws_iam_server_certificate_test.go (about) 1 package aws 2 3 import ( 4 "fmt" 5 "sort" 6 "testing" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/service/iam" 11 "github.com/hashicorp/terraform/helper/resource" 12 ) 13 14 func timePtr(t time.Time) *time.Time { 15 return &t 16 } 17 18 func TestResourceSortByExpirationDate(t *testing.T) { 19 certs := []*iam.ServerCertificateMetadata{ 20 &iam.ServerCertificateMetadata{ 21 ServerCertificateName: aws.String("oldest"), 22 Expiration: timePtr(time.Now()), 23 }, 24 &iam.ServerCertificateMetadata{ 25 ServerCertificateName: aws.String("latest"), 26 Expiration: timePtr(time.Now().Add(3 * time.Hour)), 27 }, 28 &iam.ServerCertificateMetadata{ 29 ServerCertificateName: aws.String("in between"), 30 Expiration: timePtr(time.Now().Add(2 * time.Hour)), 31 }, 32 } 33 sort.Sort(certificateByExpiration(certs)) 34 if *certs[0].ServerCertificateName != "latest" { 35 t.Fatalf("Expected first item to be %q, but was %q", "latest", *certs[0].ServerCertificateName) 36 } 37 } 38 39 func TestAccAWSDataSourceIAMServerCertificate_basic(t *testing.T) { 40 resource.Test(t, resource.TestCase{ 41 PreCheck: func() { testAccPreCheck(t) }, 42 Providers: testAccProviders, 43 CheckDestroy: testAccCheckIAMServerCertificateDestroy, 44 Steps: []resource.TestStep{ 45 { 46 Config: testAccAwsDataIAMServerCertConfig, 47 Check: resource.ComposeTestCheckFunc( 48 resource.TestCheckResourceAttrSet("aws_iam_server_certificate.test_cert", "arn"), 49 resource.TestCheckResourceAttrSet("data.aws_iam_server_certificate.test", "arn"), 50 resource.TestCheckResourceAttrSet("data.aws_iam_server_certificate.test", "name"), 51 resource.TestCheckResourceAttrSet("data.aws_iam_server_certificate.test", "path"), 52 ), 53 }, 54 }, 55 }) 56 } 57 58 var testAccAwsDataIAMServerCertConfig = fmt.Sprintf(`%s 59 data "aws_iam_server_certificate" "test" { 60 name = "${aws_iam_server_certificate.test_cert.name}" 61 latest = true 62 } 63 `, testAccIAMServerCertConfig)