@@ -2,24 +2,25 @@ package demux
22
33import (
44 "context"
5+ "errors"
56 "github.com/aws/aws-lambda-go/events"
67 "github.com/stretchr/testify/assert"
78 "reflect"
89 "testing"
910)
1011
11- var handlers = []any {
12- func (ctx context.Context , event * events.APIGatewayWebsocketProxyRequest ) (
13- * events.APIGatewayProxyResponse ,
14- error ) {
15- return nil , nil
16- },
17- func (ctx context.Context , event * events.APIGatewayProxyRequest ) (
18- * events.APIGatewayProxyResponse ,
19- error ) {
20- return nil , nil
21- },
22- }
12+ // var handlers = []any{
13+ // func(ctx context.Context, event *events.APIGatewayWebsocketProxyRequest) (
14+ // *events.APIGatewayProxyResponse,
15+ // error) {
16+ // return nil, nil
17+ // },
18+ // func(ctx context.Context, event *events.APIGatewayProxyRequest) (
19+ // *events.APIGatewayProxyResponse,
20+ // error) {
21+ // return nil, nil
22+ // },
23+ // }
2324
2425func TestCreateEventWorks (t * testing.T ) {
2526 eventFactories := []Factory {
@@ -81,6 +82,33 @@ func TestProcessEventWorks(t *testing.T) {
8182 assert .True (t , factoryCalled )
8283}
8384
85+ func TestProcessEventWorksReturningError (t * testing.T ) {
86+ handlerMap , err := createHandlerMap (
87+ []any {
88+ func (ctx context.Context , event * events.APIGatewayProxyRequest ) (
89+ * events.APIGatewayProxyResponse ,
90+ error ) {
91+ return & events.APIGatewayProxyResponse {}, errors .New ("hello this is an error" )
92+ }})
93+ assert .NoError (t , err )
94+ assert .NotNil (t , handlerMap )
95+
96+ cfg := & demuxCfg {
97+ factories : []Factory {
98+ func (ctx * EventContext ) any {
99+ return & events.APIGatewayProxyRequest {}
100+ },
101+ },
102+ handlerMap : handlerMap ,
103+ }
104+
105+ rawEvent := map [string ]any {}
106+
107+ resp , err := processEvent (cfg , context .TODO (), rawEvent )
108+ assert .EqualError (t , err , "hello this is an error" )
109+ assert .Nil (t , resp )
110+ }
111+
84112func TestProcessEventFailsWithUnhandledEventType (t * testing.T ) {
85113 handlerMap , err := createHandlerMap (
86114 []any {})
0 commit comments