-
Notifications
You must be signed in to change notification settings - Fork 5
/
context_test.go
52 lines (41 loc) · 1.18 KB
/
context_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package iopipe
import (
"context"
"testing"
"github.com/aws/aws-lambda-go/lambdacontext"
. "github.com/smartystreets/goconvey/convey"
)
func TestContext_NewContext(t *testing.T) {
Convey("NewContext should return a new context", t, func() {
lc := lambdacontext.LambdaContext{}
hw := &HandlerWrapper{}
cw := NewContextWrapper(&lc, hw)
ctx := context.Background()
newCtx := NewContext(ctx, cw)
So(newCtx, ShouldNotBeNil)
})
}
func TestContext_FromContext(t *testing.T) {
Convey("FromContext should return context value", t, func() {
lc := lambdacontext.LambdaContext{}
hw := &HandlerWrapper{}
cw := NewContextWrapper(&lc, hw)
ctx := context.Background()
newCtx := NewContext(ctx, cw)
cwValue, _ := FromContext(newCtx)
So(cwValue, ShouldResemble, cw)
})
}
func TestContext_NewContextWrapper(t *testing.T) {
Convey("A context wrapper should wrap a lambda context", t, func() {
lc := lambdacontext.LambdaContext{}
hw := &HandlerWrapper{}
cw := NewContextWrapper(&lc, hw)
Convey("And embed the lambda context", func() {
So(cw.AwsRequestID, ShouldNotBeNil)
})
Convey("And provide the handler wrapper", func() {
So(cw.IOpipe, ShouldEqual, hw)
})
})
}