77using System . Net ;
88using System . Threading . Tasks ;
99using Datadog . Trace . ClrProfiler . AutoInstrumentation . AWS . Lambda ;
10+ using Datadog . Trace . ClrProfiler . CallTarget ;
1011using Datadog . Trace . ExtensionMethods ;
1112using Datadog . Trace . TestHelpers . TestTracer ;
1213using FluentAssertions ;
@@ -25,10 +26,10 @@ public async Task TestGetEndInvocationRequestWithError()
2526 var headers = new WebHeaderCollection ( ) . Wrap ( ) ;
2627 var scope = LambdaCommon . CreatePlaceholderScope ( tracer , headers ) ;
2728 var state = "example-aws-request-id" ;
29+ var stateObject = new CallTargetState ( scope , state ) ;
2830
2931 ILambdaExtensionRequest requestBuilder = new LambdaRequestBuilder ( ) ;
30- var request = requestBuilder . GetEndInvocationRequest ( scope , state , isError : true ) ;
31- request . Headers . Get ( "x-datadog-invocation-error" ) . Should ( ) . Be ( "true" ) ;
32+ var request = requestBuilder . GetEndInvocationRequest ( stateObject , true ) ;
3233 request . Headers . Get ( "x-datadog-tracing-enabled" ) . Should ( ) . Be ( "false" ) ;
3334 request . Headers . Get ( "x-datadog-sampling-priority" ) . Should ( ) . Be ( "1" ) ;
3435 request . Headers . Get ( "x-datadog-trace-id" ) . Should ( ) . NotBeNull ( ) ;
@@ -43,9 +44,10 @@ public async Task TestGetEndInvocationRequestWithoutError()
4344 var headers = new WebHeaderCollection ( ) . Wrap ( ) ;
4445 var scope = LambdaCommon . CreatePlaceholderScope ( tracer , headers ) ;
4546 var state = "example-aws-request-id" ;
47+ var stateObject = new CallTargetState ( scope , state ) ;
4648
4749 ILambdaExtensionRequest requestBuilder = new LambdaRequestBuilder ( ) ;
48- var request = requestBuilder . GetEndInvocationRequest ( scope , state , isError : false ) ;
50+ var request = requestBuilder . GetEndInvocationRequest ( stateObject , isError : false ) ;
4951 request . Headers . Get ( "x-datadog-invocation-error" ) . Should ( ) . BeNull ( ) ;
5052 request . Headers . Get ( "x-datadog-tracing-enabled" ) . Should ( ) . Be ( "false" ) ;
5153 request . Headers . Get ( "x-datadog-sampling-priority" ) . Should ( ) . Be ( "1" ) ;
@@ -61,9 +63,10 @@ public async Task TestGetEndInvocationRequestWithScope()
6163 var headers = new WebHeaderCollection { { HttpHeaderNames . TraceId , "1234" } } . Wrap ( ) ;
6264 var scope = LambdaCommon . CreatePlaceholderScope ( tracer , headers ) ;
6365 var state = "example-aws-request-id" ;
66+ var stateObject = new CallTargetState ( scope , state ) ;
6467
6568 ILambdaExtensionRequest requestBuilder = new LambdaRequestBuilder ( ) ;
66- var request = requestBuilder . GetEndInvocationRequest ( scope , state , isError : false ) ;
69+ var request = requestBuilder . GetEndInvocationRequest ( stateObject , isError : false ) ;
6770 request . Headers . Get ( "x-datadog-invocation-error" ) . Should ( ) . BeNull ( ) ;
6871 request . Headers . Get ( "x-datadog-tracing-enabled" ) . Should ( ) . Be ( "false" ) ;
6972 request . Headers . Get ( "x-datadog-sampling-priority" ) . Should ( ) . Be ( "1" ) ;
@@ -77,7 +80,9 @@ public void TestGetEndInvocationRequestWithoutScope()
7780 {
7881 ILambdaExtensionRequest requestBuilder = new LambdaRequestBuilder ( ) ;
7982 var state = "example-aws-request-id" ;
80- var request = requestBuilder . GetEndInvocationRequest ( scope : null , state , isError : false ) ;
83+ var stateObject = new CallTargetState ( scope : null , state ) ;
84+
85+ var request = requestBuilder . GetEndInvocationRequest ( stateObject , isError : false ) ;
8186 request . Headers . Get ( "x-datadog-invocation-error" ) . Should ( ) . BeNull ( ) ;
8287 request . Headers . Get ( "x-datadog-tracing-enabled" ) . Should ( ) . Be ( "false" ) ;
8388 request . Headers . Get ( "x-datadog-sampling-priority" ) . Should ( ) . BeNull ( ) ;
@@ -92,9 +97,10 @@ public async Task TestGetEndInvocationRequestWithoutState()
9297 await using var tracer = TracerHelper . CreateWithFakeAgent ( ) ;
9398 var headers = new WebHeaderCollection { { HttpHeaderNames . TraceId , "1234" } } . Wrap ( ) ;
9499 var scope = LambdaCommon . CreatePlaceholderScope ( tracer , headers ) ;
100+ var stateObject = new CallTargetState ( scope , state : null ) ;
95101
96102 ILambdaExtensionRequest requestBuilder = new LambdaRequestBuilder ( ) ;
97- var request = requestBuilder . GetEndInvocationRequest ( scope , state : null , isError : false ) ;
103+ var request = requestBuilder . GetEndInvocationRequest ( stateObject , isError : false ) ;
98104 request . Headers . Get ( "x-datadog-invocation-error" ) . Should ( ) . BeNull ( ) ;
99105 request . Headers . Get ( "x-datadog-tracing-enabled" ) . Should ( ) . Be ( "false" ) ;
100106 request . Headers . Get ( "x-datadog-sampling-priority" ) . Should ( ) . Be ( "1" ) ;
@@ -110,6 +116,7 @@ public async Task TestGetEndInvocationRequestWithErrorTags()
110116 var headers = new WebHeaderCollection ( ) . Wrap ( ) ;
111117 var scope = LambdaCommon . CreatePlaceholderScope ( tracer , headers ) ;
112118 var state = "example-aws-request-id" ;
119+ var stateObject = new CallTargetState ( scope , state ) ;
113120
114121 var errorMsg = "Exception" ;
115122 var errorType = "Exception" ;
@@ -123,7 +130,7 @@ public async Task TestGetEndInvocationRequestWithErrorTags()
123130 var expectedErrorStack = Convert . ToBase64String ( System . Text . Encoding . UTF8 . GetBytes ( errorStack ) ) ;
124131
125132 ILambdaExtensionRequest requestBuilder = new LambdaRequestBuilder ( ) ;
126- var request = requestBuilder . GetEndInvocationRequest ( scope , state , true ) ;
133+ var request = requestBuilder . GetEndInvocationRequest ( stateObject , true ) ;
127134 request . Headers . Get ( "x-datadog-invocation-error" ) . Should ( ) . NotBeNull ( ) ;
128135 request . Headers . Get ( "x-datadog-invocation-error-msg" ) . Should ( ) . Be ( expectedErrorMsg ) ;
129136 request . Headers . Get ( "x-datadog-invocation-error-type" ) . Should ( ) . Be ( expectedErrorType ) ;
@@ -142,9 +149,10 @@ public async Task TestGetEndInvocationRequestWithoutErrorTags()
142149 var headers = new WebHeaderCollection ( ) . Wrap ( ) ;
143150 var scope = LambdaCommon . CreatePlaceholderScope ( tracer , headers ) ;
144151 var state = "example-aws-request-id" ;
152+ var stateObject = new CallTargetState ( scope , state ) ;
145153
146154 ILambdaExtensionRequest requestBuilder = new LambdaRequestBuilder ( ) ;
147- var request = requestBuilder . GetEndInvocationRequest ( scope , state , true ) ;
155+ var request = requestBuilder . GetEndInvocationRequest ( stateObject , true ) ;
148156 request . Headers . Get ( "x-datadog-invocation-error" ) . Should ( ) . NotBeNull ( ) ;
149157 request . Headers . Get ( "x-datadog-invocation-error-msg" ) . Should ( ) . BeNull ( ) ;
150158 request . Headers . Get ( "x-datadog-invocation-error-type" ) . Should ( ) . BeNull ( ) ;
0 commit comments