Skip to content

Commit 08fab63

Browse files
Added tests
1 parent 42dc67d commit 08fab63

File tree

2 files changed

+17
-16
lines changed

2 files changed

+17
-16
lines changed

demux/event.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func processEvent(
3636
// map raw event onto event
3737
decoderCfg := &mapstructure.DecoderConfig{
3838
Metadata: nil,
39-
Result: eventType,
39+
Result: event,
4040
TagName: "json",
4141
}
4242
decoder, err := mapstructure.NewDecoder(decoderCfg)

demux/event_test.go

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,14 @@ package demux
22

33
import (
44
"context"
5+
"encoding/json"
56
"errors"
67
"github.com/aws/aws-lambda-go/events"
78
"github.com/stretchr/testify/assert"
89
"reflect"
910
"testing"
1011
)
1112

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-
//}
24-
2513
func TestCreateEventWorks(t *testing.T) {
2614
eventFactories := []Factory{
2715
func(ctx *EventContext) any {
@@ -54,10 +42,10 @@ func TestProcessEventWorks(t *testing.T) {
5442
handlerMap, err := createHandlerMap(
5543
[]any{
5644
func(ctx context.Context, event *events.APIGatewayProxyRequest) (
57-
*events.APIGatewayProxyResponse,
45+
*events.APIGatewayProxyRequest,
5846
error) {
5947
handlerCalled = true
60-
return &events.APIGatewayProxyResponse{}, nil
48+
return event, nil
6149
}})
6250
assert.NoError(t, err)
6351
assert.NotNil(t, handlerMap)
@@ -73,13 +61,26 @@ func TestProcessEventWorks(t *testing.T) {
7361
handlerMap: handlerMap,
7462
}
7563

64+
eventJson := `
65+
{
66+
"path": "/foo/bar",
67+
"httpMethod": "POST"
68+
}
69+
`
70+
7671
rawEvent := map[string]any{}
72+
err = json.Unmarshal([]byte(eventJson), &rawEvent)
73+
assert.NoError(t, err)
7774

7875
resp, err := processEvent(cfg, context.TODO(), rawEvent)
7976
assert.NoError(t, err)
8077
assert.NotNil(t, resp)
8178
assert.True(t, handlerCalled)
8279
assert.True(t, factoryCalled)
80+
assert.IsType(t, &events.APIGatewayProxyRequest{}, resp)
81+
ev, _ := resp.(*events.APIGatewayProxyRequest)
82+
assert.Equal(t, "/foo/bar", ev.Path)
83+
assert.Equal(t, "POST", ev.HTTPMethod)
8384
}
8485

8586
func TestProcessEventWorksReturningError(t *testing.T) {

0 commit comments

Comments
 (0)