Skip to content

Commit 5e54ab1

Browse files
committedMar 19, 2025
Revert "Extract common parts from test"
This reverts commit 14f2911.
1 parent ef17a78 commit 5e54ab1

File tree

1 file changed

+26
-34
lines changed

1 file changed

+26
-34
lines changed
 

‎tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/AWS/AwsLambdaTests.cs

+26-34
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
using System.Linq;
1010
using System.Text.RegularExpressions;
1111
using System.Threading.Tasks;
12-
using Datadog.Trace.Configuration;
1312
using Datadog.Trace.ExtensionMethods;
1413
using Datadog.Trace.TestHelpers;
1514
using FluentAssertions;
@@ -24,16 +23,6 @@ namespace Datadog.Trace.ClrProfiler.IntegrationTests.AWS
2423
[Trait("RequiresDockerDependency", "true")]
2524
public class AwsLambdaTests : TestHelper
2625
{
27-
private const int ExpectedRequests =
28-
9 // param tests
29-
+ 3 // param with context
30-
+ 5 // base instrumentation
31-
+ 6 // other parameter types
32-
+ 3 // throwing (manual only)
33-
+ 3 // throwing with context
34-
+ 8 // Generic types
35-
+ 1; // Toplevel Statement
36-
3726
private static readonly Regex StackRegex = new(@"( error.stack:)(?:\n|\r){1,2}(?:[^,]*(?:\n|\r){1,2})+.*(,(?:\r|\n){1,2})");
3827
private static readonly Regex ErrorMsgRegex = new(@"( error.msg:).*(,(\r|\n){1,2})");
3928

@@ -60,17 +49,39 @@ public async Task SubmitsTraces()
6049
agent.Output = Output;
6150
using (await RunSampleAndWaitForExit(agent))
6251
{
63-
// we manually instrument each request too
64-
var expectedSpans = ExpectedRequests * 2;
52+
var requests = 9 // param tests
53+
+ 3 // param with context
54+
+ 5 // base instrumentation
55+
+ 6 // other parameter types
56+
+ 3 // throwing (manual only)
57+
+ 3 // throwing with context
58+
+ 8 // Generic types
59+
+ 1; // Toplevel Statement
60+
61+
var expectedSpans = requests * 2; // we manually instrument each request too
6562

6663
var spans = agent.WaitForSpans(expectedSpans, 15_000).ToArray();
6764

6865
// Verify all the "with context" end invocations have a corresponding start context
6966
using var s = new AssertionScope();
70-
var allExtensionSpans = GetExtensionSpans(extensionWithContext, extensionNoContext);
67+
var startWithContext = extensionWithContext.StartInvocations.ToList();
68+
var endWithContext = extensionWithContext.EndInvocations.ToList();
69+
startWithContext.Should().OnlyContain(x => x.TraceId.HasValue);
70+
endWithContext.Should().OnlyContain(x => x.TraceId.HasValue);
71+
var contextPairs = extensionWithContext.EndInvocations
72+
.Select(x => (start: startWithContext.SingleOrDefault(y => y.TraceId == x.TraceId), end: x))
73+
.ToList();
74+
contextPairs.Should().OnlyContain(x => x.start != null);
75+
var withContextSpans = contextPairs.Select(x => ToMockSpan(x.end, x.start.Created));
76+
77+
// We can't match no-context start invocations with the end invocations, so just use the end ones
78+
var noContextSpans = extensionNoContext.EndInvocations.Select(x => ToMockSpan(x, startTime: null));
7179

7280
// Create the complete traces
73-
var allSpans = allExtensionSpans.Concat(spans).ToList();
81+
var allSpans = withContextSpans
82+
.Concat(noContextSpans)
83+
.Concat(spans)
84+
.ToList();
7485

7586
var settings = VerifyHelper.GetSpanVerifierSettings();
7687

@@ -83,25 +94,6 @@ await VerifyHelper.VerifySpans(allSpans, settings)
8394
}
8495
}
8596

86-
private static IEnumerable<MockSpan> GetExtensionSpans(MockLambdaExtension extensionWithContext, MockLambdaExtension extensionNoContext)
87-
{
88-
var startWithContext = extensionWithContext.StartInvocations.ToList();
89-
var endWithContext = extensionWithContext.EndInvocations.ToList();
90-
startWithContext.Should().OnlyContain(x => x.TraceId.HasValue);
91-
endWithContext.Should().OnlyContain(x => x.TraceId.HasValue);
92-
var contextPairs = extensionWithContext.EndInvocations
93-
.Select(x => (start: startWithContext.SingleOrDefault(y => y.TraceId == x.TraceId), end: x))
94-
.ToList();
95-
contextPairs.Should().OnlyContain(x => x.start != null);
96-
var withContextSpans = contextPairs.Select(x => ToMockSpan(x.end, x.start.Created));
97-
98-
// We can't match no-context start invocations with the end invocations, so just use the end ones
99-
var noContextSpans = extensionNoContext.EndInvocations.Select(x => ToMockSpan(x, startTime: null));
100-
101-
var allExtensionSpans = withContextSpans.Concat(noContextSpans);
102-
return allExtensionSpans;
103-
}
104-
10597
private static MockSpan ToMockSpan(MockLambdaExtension.EndExtensionRequest endInvocation, DateTimeOffset? startTime)
10698
{
10799
var start = startTime ?? endInvocation.Created.AddMilliseconds(100);

0 commit comments

Comments
 (0)
Failed to load comments.