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  }