Skip to content

Commit 0f14d1c

Browse files
khanayan123claude
andcommitted
Add DD-Root-Session-ID assertion to telemetry header tests
Verify DD-Session-ID equals runtime ID and DD-Root-Session-ID is absent when rootSessionId == runtimeId (non-child process), or present with the correct value when they differ. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent a18eeb9 commit 0f14d1c

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

telemetry/src/test/groovy/datadog/telemetry/TestTelemetryRouter.groovy

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import datadog.telemetry.api.DistributionSeries
77
import datadog.telemetry.api.LogMessage
88
import datadog.telemetry.api.Metric
99
import datadog.telemetry.api.RequestType
10+
import datadog.trace.api.Config
1011
import datadog.trace.api.ConfigSetting
1112
import datadog.trace.api.telemetry.Endpoint
1213
import datadog.trace.api.telemetry.ProductChange
@@ -97,6 +98,15 @@ class TestTelemetryRouter extends TelemetryRouter {
9798
assert entityId == null || entityId.startsWith("in-") || entityId.startsWith("cin-")
9899
def sessionId = this.request.header('DD-Session-ID')
99100
assert sessionId =~ /[\da-f]{8}-([\da-f]{4}-){3}[\da-f]{12}/
101+
assert sessionId == Config.get().getRuntimeId()
102+
// DD-Root-Session-ID should only be present when inherited from a parent process
103+
// (i.e., when rootSessionId != runtimeId). In normal test context, they're equal.
104+
def rootSessionId = this.request.header('DD-Root-Session-ID')
105+
if (Config.get().getRootSessionId() == Config.get().getRuntimeId()) {
106+
assert rootSessionId == null
107+
} else {
108+
assert rootSessionId == Config.get().getRootSessionId()
109+
}
100110
return this
101111
}
102112

0 commit comments

Comments
 (0)