|
1 | 1 | /*
|
2 | 2 | * Unless explicitly stated otherwise all files in this repository are licensed
|
3 | 3 | * under the Apache License Version 2.0.
|
4 |
| - * |
| 4 | + * |
5 | 5 | * This product includes software developed at Datadog (https://www.datadoghq.com/).
|
6 | 6 | * Copyright 2019 Datadog, Inc.
|
7 | 7 | */
|
@@ -177,6 +177,20 @@ func TestWrapHandlerEventArgumentOnly(t *testing.T) {
|
177 | 177 | assert.Equal(t, 5, response)
|
178 | 178 | }
|
179 | 179 |
|
| 180 | +func TestWrapHandlerContextArgumentOnly(t *testing.T) { |
| 181 | + called := true |
| 182 | + var handler = func(ctx context.Context) (interface{}, error) { |
| 183 | + return nil, nil |
| 184 | + } |
| 185 | + |
| 186 | + mhl := mockHandlerListener{} |
| 187 | + wrappedHandler := WrapHandlerWithListeners(handler, &mhl).(func(context.Context, json.RawMessage) (interface{}, error)) |
| 188 | + |
| 189 | + _, err := wrappedHandler(context.Background(), nil) |
| 190 | + assert.NoError(t, err) |
| 191 | + assert.True(t, called) |
| 192 | +} |
| 193 | + |
180 | 194 | func TestWrapHandlerNoArguments(t *testing.T) {
|
181 | 195 | called := false
|
182 | 196 |
|
@@ -223,6 +237,22 @@ func TestWrapHandlerReturnsError(t *testing.T) {
|
223 | 237 | assert.Equal(t, 5, response)
|
224 | 238 | }
|
225 | 239 |
|
| 240 | +func TestWrapHandlerReturnsErrorOnly(t *testing.T) { |
| 241 | + called := false |
| 242 | + defaultErr := errors.New("Some error") |
| 243 | + |
| 244 | + handler := func(request mockNonProxyEvent) error { |
| 245 | + called = true |
| 246 | + return defaultErr |
| 247 | + } |
| 248 | + |
| 249 | + _, response, err := runHandlerWithJSON(t, "../testdata/non-proxy-no-metadata.json", handler) |
| 250 | + |
| 251 | + assert.True(t, called) |
| 252 | + assert.Equal(t, defaultErr, err) |
| 253 | + assert.Equal(t, nil, response) |
| 254 | +} |
| 255 | + |
226 | 256 | func TestWrapHandlerReturnsOriginalHandlerIfInvalid(t *testing.T) {
|
227 | 257 |
|
228 | 258 | var handler interface{} = func(arg1, arg2, arg3 int) (int, error) {
|
|
0 commit comments