@@ -7,6 +7,8 @@ const ddbEvent = require("../../event_samples/dynamodb.json");
7
7
const kinesisEvent = require ( "../../event_samples/kinesis.json" ) ;
8
8
const eventBridgeEvent = require ( "../../event_samples/eventbridge.json" ) ;
9
9
const webSocketEvent = require ( "../../event_samples/api-gateway-wss.json" ) ;
10
+ const apiGatewayV1 = require ( "../../event_samples/api-gateway-v1.json" ) ;
11
+ const apiGatewayV2 = require ( "../../event_samples/api-gateway-v2.json" ) ;
10
12
const s3Event = require ( "../../event_samples/s3.json" ) ;
11
13
const mockWrapper = {
12
14
startSpan : jest . fn ( ) ,
@@ -213,6 +215,56 @@ describe("SpanInferrer", () => {
213
215
} ,
214
216
} ) ;
215
217
} ) ;
218
+ it ( "creates an inferred span for API Gateway V1 events" , ( ) => {
219
+ const inferrer = new SpanInferrer ( mockWrapper as unknown as TracerWrapper ) ;
220
+ inferrer . createInferredSpan ( apiGatewayV1 , { } as any , { } as SpanContext ) ;
221
+
222
+ expect ( mockWrapper . startSpan ) . toBeCalledWith ( "aws.apigateway" , {
223
+ childOf : { } ,
224
+ startTime : undefined ,
225
+ tags : {
226
+ _inferred_span : { synchronicity : undefined , tag_source : "self" } ,
227
+ apiid : "id" ,
228
+ endpoint : "/my/path" ,
229
+ "http.url" : "id.execute-api.us-east-1.amazonaws.com/my/path" ,
230
+ "domain_name" : "id.execute-api.us-east-1.amazonaws.com" ,
231
+ operation_name : "aws.apigateway" ,
232
+ request_id : undefined ,
233
+ "http.method" : "GET" ,
234
+ "resource.name" : "id.execute-api.us-east-1.amazonaws.com /my/path" ,
235
+ resource_names : "id.execute-api.us-east-1.amazonaws.com /my/path" ,
236
+ service : "id.execute-api.us-east-1.amazonaws.com" ,
237
+ "service.name" : "id.execute-api.us-east-1.amazonaws.com" ,
238
+ "span.type" : "http" ,
239
+ "stage" : "$default"
240
+ } ,
241
+ } ) ;
242
+ } ) ;
243
+ it ( "creates an inferred span for API Gateway V2 events" , ( ) => {
244
+ const inferrer = new SpanInferrer ( mockWrapper as unknown as TracerWrapper ) ;
245
+ inferrer . createInferredSpan ( apiGatewayV2 , { } as any , { } as SpanContext ) ;
246
+
247
+ expect ( mockWrapper . startSpan ) . toBeCalledWith ( "aws.apigateway" , {
248
+ childOf : { } ,
249
+ startTime : 1583817383220 ,
250
+ tags : {
251
+ _inferred_span : { synchronicity : undefined , tag_source : "self" } ,
252
+ apiid : "r3pmxmplak" ,
253
+ endpoint : "/default/nodejs-apig-function-1G3XMPLZXVXYI" ,
254
+ "http.url" : "r3pmxmplak.execute-api.us-east-2.amazonaws.com/default/nodejs-apig-function-1G3XMPLZXVXYI" ,
255
+ "domain_name" : "r3pmxmplak.execute-api.us-east-2.amazonaws.com" ,
256
+ operation_name : "aws.apigateway" ,
257
+ request_id : undefined ,
258
+ "http.method" : "GET" ,
259
+ "resource.name" : "r3pmxmplak.execute-api.us-east-2.amazonaws.com /default/nodejs-apig-function-1G3XMPLZXVXYI" ,
260
+ resource_names : "r3pmxmplak.execute-api.us-east-2.amazonaws.com /default/nodejs-apig-function-1G3XMPLZXVXYI" ,
261
+ service : "r3pmxmplak.execute-api.us-east-2.amazonaws.com" ,
262
+ "service.name" : "r3pmxmplak.execute-api.us-east-2.amazonaws.com" ,
263
+ "span.type" : "http" ,
264
+ "stage" : "default"
265
+ } ,
266
+ } ) ;
267
+ } ) ;
216
268
it ( "creates an inferred span for s3 events" , ( ) => {
217
269
const inferrer = new SpanInferrer ( mockWrapper as unknown as TracerWrapper ) ;
218
270
inferrer . createInferredSpan ( s3Event , { } as any , { } as SpanContext ) ;
0 commit comments