diff --git a/test_utils/test_utils.go b/test_utils/test_utils.go index 728577b83c8853fed72bc822489582ba789df886..c9955da6fbd717818396988d1150093ff29f9119 100644 --- a/test_utils/test_utils.go +++ b/test_utils/test_utils.go @@ -1,6 +1,7 @@ package test_utils import ( + "bytes" "context" "fmt" "github.com/aws/aws-lambda-go/lambda" @@ -14,7 +15,7 @@ import ( "os/exec" ) -func StartTestHandler(context context.Context, apiHandler lambda.Handler, sqsHandler lambda.Handler) { +func StartTestHandler(context context.Context, apiHandler lambda.Handler, sqsHandler lambda.Handler, batchFunc func(bodyBytes []byte)) { if os.Getenv("DEBUG_PROXY") == "true" { StartProxy() } @@ -27,6 +28,23 @@ func StartTestHandler(context context.Context, apiHandler lambda.Handler, sqsHan } })) + http.HandleFunc("/batch/", debugger.Middleware(func(writer http.ResponseWriter, request *http.Request) { + // Read body + buf := new(bytes.Buffer) + _, err := buf.ReadFrom(request.Body) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + request.Body.Close() + + batchFunc(buf.Bytes()) + }, func(r *http.Request) []string { + return []string{ + "path", r.RequestURI, + } + })) + http.HandleFunc("/", debugger.Middleware(func(writer http.ResponseWriter, request *http.Request) { handler_utils.ServeHTTPFunctions(context, apiHandler, writer, request) }, func(r *http.Request) []string {