github.com/webonyx/up@v0.7.4-0.20180808230834-91b94e551323/config/lambda_test.go (about)

     1  package config
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/aws/aws-sdk-go/aws"
     7  	"github.com/tj/assert"
     8  )
     9  
    10  func TestLambda(t *testing.T) {
    11  	c := &Lambda{}
    12  	assert.NoError(t, c.Default(), "default")
    13  	assert.Equal(t, 0, c.Timeout, "timeout")
    14  	assert.Equal(t, 512, c.Memory, "timeout")
    15  }
    16  
    17  func TestLambda_Override(t *testing.T) {
    18  	c := &Config{}
    19  
    20  	l := &Lambda{
    21  		Warm:      aws.Bool(true),
    22  		WarmCount: 30,
    23  	}
    24  
    25  	l.Override(c)
    26  
    27  	assert.Equal(t, true, *c.Lambda.Warm)
    28  	assert.Equal(t, 30, c.Lambda.WarmCount)
    29  }
    30  
    31  func TestLambda_Policy(t *testing.T) {
    32  	t.Run("defaults", func(t *testing.T) {
    33  		c := &Lambda{}
    34  		assert.NoError(t, c.Default(), "default")
    35  		assert.Len(t, c.Policy, 1)
    36  		assert.Equal(t, defaultPolicy, c.Policy[0])
    37  	})
    38  
    39  	t.Run("specified", func(t *testing.T) {
    40  		c := &Lambda{
    41  			Policy: []IAMPolicyStatement{
    42  				{
    43  					"Effect":   "Allow",
    44  					"Resource": "*",
    45  					"Action": []string{
    46  						"s3:List*",
    47  						"s3:Get*",
    48  					},
    49  				},
    50  			},
    51  		}
    52  
    53  		assert.NoError(t, c.Default(), "default")
    54  		assert.Len(t, c.Policy, 2)
    55  		assert.Equal(t, defaultPolicy, c.Policy[1])
    56  	})
    57  }