@@ -17,18 +17,33 @@ func TestGetEventAttributes(t *testing.T) {
17
17
Arn string
18
18
}{
19
19
{Name : "nil" , Input : nil , Arn : "" },
20
+
20
21
{Name : "SQSEvent empty" , Input : events.SQSEvent {}, Arn : "" },
21
22
{Name : "SQSEvent" , Input : events.SQSEvent {
22
23
Records : []events.SQSMessage {{
23
24
EventSourceARN : "ARN" ,
24
25
}},
25
26
}, Arn : "ARN" },
27
+ {Name : "*SQSEvent nil" , Input : (* events .SQSEvent )(nil ), Arn : "" },
28
+ {Name : "*SQSEvent" , Input : & events.SQSEvent {
29
+ Records : []events.SQSMessage {{
30
+ EventSourceARN : "ARN" ,
31
+ }},
32
+ }, Arn : "ARN" },
33
+
26
34
{Name : "SNSEvent empty" , Input : events.SNSEvent {}, Arn : "" },
27
35
{Name : "SNSEvent" , Input : events.SNSEvent {
28
36
Records : []events.SNSEventRecord {{
29
37
EventSubscriptionArn : "ARN" ,
30
38
}},
31
39
}, Arn : "ARN" },
40
+ {Name : "*SNSEvent nil" , Input : (* events .SNSEvent )(nil ), Arn : "" },
41
+ {Name : "*SNSEvent" , Input : & events.SNSEvent {
42
+ Records : []events.SNSEventRecord {{
43
+ EventSubscriptionArn : "ARN" ,
44
+ }},
45
+ }, Arn : "ARN" },
46
+
32
47
{Name : "S3Event empty" , Input : events.S3Event {}, Arn : "" },
33
48
{Name : "S3Event" , Input : events.S3Event {
34
49
Records : []events.S3EventRecord {{
@@ -39,27 +54,64 @@ func TestGetEventAttributes(t *testing.T) {
39
54
},
40
55
}},
41
56
}, Arn : "ARN" },
57
+ {Name : "*S3Event nil" , Input : (* events .S3Event )(nil ), Arn : "" },
58
+ {Name : "*S3Event" , Input : & events.S3Event {
59
+ Records : []events.S3EventRecord {{
60
+ S3 : events.S3Entity {
61
+ Bucket : events.S3Bucket {
62
+ Arn : "ARN" ,
63
+ },
64
+ },
65
+ }},
66
+ }, Arn : "ARN" },
67
+
42
68
{Name : "DynamoDBEvent empty" , Input : events.DynamoDBEvent {}, Arn : "" },
43
69
{Name : "DynamoDBEvent" , Input : events.DynamoDBEvent {
44
70
Records : []events.DynamoDBEventRecord {{
45
71
EventSourceArn : "ARN" ,
46
72
}},
47
73
}, Arn : "ARN" },
74
+ {Name : "*DynamoDBEvent nil" , Input : (* events .DynamoDBEvent )(nil ), Arn : "" },
75
+ {Name : "*DynamoDBEvent" , Input : & events.DynamoDBEvent {
76
+ Records : []events.DynamoDBEventRecord {{
77
+ EventSourceArn : "ARN" ,
78
+ }},
79
+ }, Arn : "ARN" },
80
+
48
81
{Name : "CodeCommitEvent empty" , Input : events.CodeCommitEvent {}, Arn : "" },
49
82
{Name : "CodeCommitEvent" , Input : events.CodeCommitEvent {
50
83
Records : []events.CodeCommitRecord {{
51
84
EventSourceARN : "ARN" ,
52
85
}},
53
86
}, Arn : "ARN" },
87
+ {Name : "*CodeCommitEvent nil" , Input : (* events .CodeCommitEvent )(nil ), Arn : "" },
88
+ {Name : "*CodeCommitEvent" , Input : & events.CodeCommitEvent {
89
+ Records : []events.CodeCommitRecord {{
90
+ EventSourceARN : "ARN" ,
91
+ }},
92
+ }, Arn : "ARN" },
93
+
54
94
{Name : "KinesisEvent empty" , Input : events.KinesisEvent {}, Arn : "" },
55
95
{Name : "KinesisEvent" , Input : events.KinesisEvent {
56
96
Records : []events.KinesisEventRecord {{
57
97
EventSourceArn : "ARN" ,
58
98
}},
59
99
}, Arn : "ARN" },
100
+ {Name : "*KinesisEvent nil" , Input : (* events .KinesisEvent )(nil ), Arn : "" },
101
+ {Name : "*KinesisEvent" , Input : & events.KinesisEvent {
102
+ Records : []events.KinesisEventRecord {{
103
+ EventSourceArn : "ARN" ,
104
+ }},
105
+ }, Arn : "ARN" },
106
+
107
+ {Name : "KinesisFirehoseEvent empty" , Input : events.KinesisFirehoseEvent {}, Arn : "" },
60
108
{Name : "KinesisFirehoseEvent" , Input : events.KinesisFirehoseEvent {
61
109
DeliveryStreamArn : "ARN" ,
62
110
}, Arn : "ARN" },
111
+ {Name : "*KinesisFirehoseEvent nil" , Input : (* events .KinesisFirehoseEvent )(nil ), Arn : "" },
112
+ {Name : "*KinesisFirehoseEvent" , Input : & events.KinesisFirehoseEvent {
113
+ DeliveryStreamArn : "ARN" ,
114
+ }, Arn : "ARN" },
63
115
}
64
116
65
117
for _ , testcase := range testcases {
@@ -86,15 +138,15 @@ func TestEventWebRequest(t *testing.T) {
86
138
transport newrelic.TransportType
87
139
}{
88
140
{
89
- testname : "empty proxy request " ,
141
+ testname : "empty APIGatewayProxyRequest " ,
90
142
input : events.APIGatewayProxyRequest {},
91
143
numHeaders : 0 ,
92
144
method : "" ,
93
145
urlString : "" ,
94
146
transport : newrelic .TransportUnknown ,
95
147
},
96
148
{
97
- testname : "populated proxy request " ,
149
+ testname : "populated APIGatewayProxyRequest " ,
98
150
input : events.APIGatewayProxyRequest {
99
151
Headers : map [string ]string {
100
152
"x-forwarded-port" : "4000" ,
@@ -109,15 +161,39 @@ func TestEventWebRequest(t *testing.T) {
109
161
transport : newrelic .TransportHTTPS ,
110
162
},
111
163
{
112
- testname : "empty alb request" ,
164
+ testname : "nil *APIGatewayProxyRequest" ,
165
+ input : (* events .APIGatewayProxyRequest )(nil ),
166
+ numHeaders : 0 ,
167
+ method : "" ,
168
+ urlString : "" ,
169
+ transport : newrelic .TransportUnknown ,
170
+ },
171
+ {
172
+ testname : "populated *APIGatewayProxyRequest" ,
173
+ input : & events.APIGatewayProxyRequest {
174
+ Headers : map [string ]string {
175
+ "x-forwarded-port" : "4000" ,
176
+ "x-forwarded-proto" : "HTTPS" ,
177
+ },
178
+ HTTPMethod : "GET" ,
179
+ Path : "the/path" ,
180
+ },
181
+ numHeaders : 2 ,
182
+ method : "GET" ,
183
+ urlString : "//:4000/the/path" ,
184
+ transport : newrelic .TransportHTTPS ,
185
+ },
186
+
187
+ {
188
+ testname : "empty ALBTargetGroupRequest" ,
113
189
input : events.ALBTargetGroupRequest {},
114
190
numHeaders : 0 ,
115
191
method : "" ,
116
192
urlString : "" ,
117
193
transport : newrelic .TransportUnknown ,
118
194
},
119
195
{
120
- testname : "populated alb request " ,
196
+ testname : "populated ALBTargetGroupRequest " ,
121
197
input : events.ALBTargetGroupRequest {
122
198
Headers : map [string ]string {
123
199
"x-forwarded-port" : "3000" ,
@@ -131,6 +207,29 @@ func TestEventWebRequest(t *testing.T) {
131
207
urlString : "//:3000/the/path" ,
132
208
transport : newrelic .TransportHTTP ,
133
209
},
210
+ {
211
+ testname : "nil *ALBTargetGroupRequest" ,
212
+ input : (* events .ALBTargetGroupRequest )(nil ),
213
+ numHeaders : 0 ,
214
+ method : "" ,
215
+ urlString : "" ,
216
+ transport : newrelic .TransportUnknown ,
217
+ },
218
+ {
219
+ testname : "populated *ALBTargetGroupRequest" ,
220
+ input : & events.ALBTargetGroupRequest {
221
+ Headers : map [string ]string {
222
+ "x-forwarded-port" : "3000" ,
223
+ "x-forwarded-proto" : "HttP" ,
224
+ },
225
+ HTTPMethod : "GET" ,
226
+ Path : "the/path" ,
227
+ },
228
+ numHeaders : 2 ,
229
+ method : "GET" ,
230
+ urlString : "//:3000/the/path" ,
231
+ transport : newrelic .TransportHTTP ,
232
+ },
134
233
}
135
234
136
235
for _ , tc := range testcases {
@@ -168,13 +267,13 @@ func TestEventResponse(t *testing.T) {
168
267
code int
169
268
}{
170
269
{
171
- testname : "empty proxy response " ,
270
+ testname : "empty APIGatewayProxyResponse " ,
172
271
input : events.APIGatewayProxyResponse {},
173
272
numHeaders : 0 ,
174
273
code : 0 ,
175
274
},
176
275
{
177
- testname : "populated proxy response " ,
276
+ testname : "populated APIGatewayProxyResponse " ,
178
277
input : events.APIGatewayProxyResponse {
179
278
StatusCode : 200 ,
180
279
Headers : map [string ]string {
@@ -185,13 +284,31 @@ func TestEventResponse(t *testing.T) {
185
284
code : 200 ,
186
285
},
187
286
{
188
- testname : "empty alb response" ,
287
+ testname : "nil *APIGatewayProxyResponse" ,
288
+ input : (* events .APIGatewayProxyResponse )(nil ),
289
+ numHeaders : 0 ,
290
+ code : 0 ,
291
+ },
292
+ {
293
+ testname : "populated *APIGatewayProxyResponse" ,
294
+ input : & events.APIGatewayProxyResponse {
295
+ StatusCode : 200 ,
296
+ Headers : map [string ]string {
297
+ "x-custom-header" : "my custom header value" ,
298
+ },
299
+ },
300
+ numHeaders : 1 ,
301
+ code : 200 ,
302
+ },
303
+
304
+ {
305
+ testname : "empty ALBTargetGroupResponse" ,
189
306
input : events.ALBTargetGroupResponse {},
190
307
numHeaders : 0 ,
191
308
code : 0 ,
192
309
},
193
310
{
194
- testname : "populated alb response " ,
311
+ testname : "populated ALBTargetGroupResponse " ,
195
312
input : events.ALBTargetGroupResponse {
196
313
StatusCode : 200 ,
197
314
Headers : map [string ]string {
@@ -201,6 +318,23 @@ func TestEventResponse(t *testing.T) {
201
318
numHeaders : 1 ,
202
319
code : 200 ,
203
320
},
321
+ {
322
+ testname : "nil *ALBTargetGroupResponse" ,
323
+ input : (* events .ALBTargetGroupResponse )(nil ),
324
+ numHeaders : 0 ,
325
+ code : 0 ,
326
+ },
327
+ {
328
+ testname : "populated *ALBTargetGroupResponse" ,
329
+ input : & events.ALBTargetGroupResponse {
330
+ StatusCode : 200 ,
331
+ Headers : map [string ]string {
332
+ "x-custom-header" : "my custom header value" ,
333
+ },
334
+ },
335
+ numHeaders : 1 ,
336
+ code : 200 ,
337
+ },
204
338
}
205
339
206
340
for _ , tc := range testcases {
0 commit comments