@@ -36,14 +36,14 @@ func (h testWrapperHandler) Invoke(ctx context.Context, payload []byte) ([]byte,
36
36
var _ Handler = (testWrapperHandler )(nil )
37
37
38
38
func TestInvoke (t * testing.T ) {
39
- srv := & Function { handler : testWrapperHandler (
39
+ srv := NewFunction ( testWrapperHandler (
40
40
func (ctx context.Context , input []byte ) (interface {}, error ) {
41
41
if deadline , ok := ctx .Deadline (); ok {
42
42
return deadline .UnixNano (), nil
43
43
}
44
44
return nil , errors .New ("!?!?!?!?!" )
45
45
},
46
- )}
46
+ ))
47
47
deadline := time .Now ()
48
48
var response messages.InvokeResponse
49
49
err := srv .Invoke (& messages.InvokeRequest {
@@ -59,15 +59,17 @@ func TestInvoke(t *testing.T) {
59
59
60
60
func TestInvokeWithContext (t * testing.T ) {
61
61
key := struct {}{}
62
- srv := NewFunction (testWrapperHandler (
63
- func (ctx context.Context , input []byte ) (interface {}, error ) {
64
- assert .Equal (t , "dummy" , ctx .Value (key ))
65
- if deadline , ok := ctx .Deadline (); ok {
66
- return deadline .UnixNano (), nil
67
- }
68
- return nil , errors .New ("!?!?!?!?!" )
69
- }))
70
- srv = srv .withContext (context .WithValue (context .Background (), key , "dummy" ))
62
+ srv := NewFunction (& handlerOptions {
63
+ Handler : testWrapperHandler (
64
+ func (ctx context.Context , input []byte ) (interface {}, error ) {
65
+ assert .Equal (t , "dummy" , ctx .Value (key ))
66
+ if deadline , ok := ctx .Deadline (); ok {
67
+ return deadline .UnixNano (), nil
68
+ }
69
+ return nil , errors .New ("!?!?!?!?!" )
70
+ }),
71
+ baseContext : context .WithValue (context .Background (), key , "dummy" ),
72
+ })
71
73
deadline := time .Now ()
72
74
var response messages.InvokeResponse
73
75
err := srv .Invoke (& messages.InvokeRequest {
@@ -86,12 +88,11 @@ type CustomError struct{}
86
88
func (e CustomError ) Error () string { return "Something bad happened!" }
87
89
88
90
func TestCustomError (t * testing.T ) {
89
-
90
- srv := & Function {handler : testWrapperHandler (
91
+ srv := NewFunction (testWrapperHandler (
91
92
func (ctx context.Context , input []byte ) (interface {}, error ) {
92
93
return nil , CustomError {}
93
94
},
94
- )}
95
+ ))
95
96
var response messages.InvokeResponse
96
97
err := srv .Invoke (& messages.InvokeRequest {}, & response )
97
98
assert .NoError (t , err )
@@ -106,11 +107,11 @@ func (e *CustomError2) Error() string { return "Something bad happened!" }
106
107
107
108
func TestCustomErrorRef (t * testing.T ) {
108
109
109
- srv := & Function { handler : testWrapperHandler (
110
+ srv := NewFunction ( testWrapperHandler (
110
111
func (ctx context.Context , input []byte ) (interface {}, error ) {
111
112
return nil , & CustomError2 {}
112
113
},
113
- )}
114
+ ))
114
115
var response messages.InvokeResponse
115
116
err := srv .Invoke (& messages.InvokeRequest {}, & response )
116
117
assert .NoError (t , err )
@@ -120,12 +121,12 @@ func TestCustomErrorRef(t *testing.T) {
120
121
}
121
122
122
123
func TestContextPlumbing (t * testing.T ) {
123
- srv := & Function { handler : testWrapperHandler (
124
+ srv := NewFunction ( testWrapperHandler (
124
125
func (ctx context.Context , input []byte ) (interface {}, error ) {
125
126
lc , _ := lambdacontext .FromContext (ctx )
126
127
return lc , nil
127
128
},
128
- )}
129
+ ))
129
130
var response messages.InvokeResponse
130
131
err := srv .Invoke (& messages.InvokeRequest {
131
132
CognitoIdentityId : "dummyident" ,
@@ -172,14 +173,14 @@ func TestXAmznTraceID(t *testing.T) {
172
173
Ctx string
173
174
}
174
175
175
- srv := & Function { handler : testWrapperHandler (
176
+ srv := NewFunction ( testWrapperHandler (
176
177
func (ctx context.Context , input []byte ) (interface {}, error ) {
177
178
return & XRayResponse {
178
179
Env : os .Getenv ("_X_AMZN_TRACE_ID" ),
179
180
Ctx : ctx .Value ("x-amzn-trace-id" ).(string ),
180
181
}, nil
181
182
},
182
- )}
183
+ ))
183
184
184
185
sequence := []struct {
185
186
Input string
0 commit comments