github.com/webonyx/up@v0.7.4-0.20180808230834-91b94e551323/platform/lambda/lambda_test.go (about) 1 package lambda 2 3 import ( 4 "testing" 5 6 "github.com/aws/aws-sdk-go/aws" 7 "github.com/aws/aws-sdk-go/service/acm" 8 "github.com/tj/assert" 9 ) 10 11 func TestGetCert(t *testing.T) { 12 certs := []*acm.CertificateDetail{ 13 { 14 DomainName: aws.String("example.com"), 15 CertificateArn: aws.String("arn:example.com"), 16 SubjectAlternativeNames: aws.StringSlice([]string{ 17 "*.example.com", 18 }), 19 }, 20 { 21 DomainName: aws.String("*.apex.sh"), 22 CertificateArn: aws.String("arn:*.apex.sh"), 23 }, 24 { 25 DomainName: aws.String("api.example.com"), 26 CertificateArn: aws.String("arn:api.example.com"), 27 SubjectAlternativeNames: aws.StringSlice([]string{ 28 "*.api.example.com", 29 "something.example.com", 30 }), 31 }, 32 } 33 34 arn := getCert(certs, "example.com") 35 assert.Equal(t, "arn:example.com", arn) 36 37 arn = getCert(certs, "www.example.com") 38 assert.Equal(t, "arn:example.com", arn) 39 40 arn = getCert(certs, "api.example.com") 41 assert.Equal(t, "arn:api.example.com", arn) 42 43 arn = getCert(certs, "apex.sh") 44 assert.Empty(t, arn) 45 46 arn = getCert(certs, "api.apex.sh") 47 assert.Equal(t, "arn:*.apex.sh", arn) 48 49 arn = getCert(certs, "v1.api.example.com") 50 assert.Equal(t, "arn:api.example.com", arn) 51 52 arn = getCert(certs, "something.example.com") 53 assert.Equal(t, "arn:api.example.com", arn) 54 55 arn = getCert(certs, "staging.v1.api.example.com") 56 assert.Empty(t, arn) 57 }