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 }