Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions tests/schemas/test_schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,14 @@ def test_agent(self):
condition=context.library >= "php@1.8.3",
ticket="DEBUG-3709",
),
SchemaBug(
endpoint="/api/v2/debugger",
data_path="$[]",
condition=context.library < "dotnet@3.57.0"
or context.library < "nodejs@5.133.0"
or (context.library >= "nodejs@6.0.0" and context.library < "nodejs@6.22.0"),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Include Node 6 prereleases in the known-bug range

When testing the supported nodejs@6.0.0-pre version, this lower-bound check is false because semantic-version prereleases sort before 6.0.0; the repository explicitly uses >=6.0.0-pre as the start of Node 6 support in manifests/nodejs.yml. Consequently, affected Node 6 prerelease builds that predate the 6.22.0 fix are not covered by DEBUG-6442, so their missing root timestamp causes test_agent to fail instead of being recorded as the known bug. Start this range at nodejs@6.0.0-pre (or otherwise include Node 6 prereleases).

Useful? React with 👍 / 👎.

ticket="DEBUG-6442",
),
SchemaBug(
endpoint="/api/v2/apmtelemetry",
data_path="$.payload",
Expand Down
5 changes: 5 additions & 0 deletions tests/schemas/utils/agent/api/v2/debugger-request.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
"type": "array",
"items": {
"type": "object",
"if": {
"required": ["debugger"],
"properties": { "debugger": { "type": "object", "required": ["snapshot"] } }
},
"then": { "required": ["timestamp"] },
Comment on lines +6 to +10

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Enforce the timestamp on the legacy logs intake path

When an agent still forwards debugger snapshots to /api/v2/logs—the supported compatibility path documented in tests/debugger/utils.py:887-893—this conditional is never evaluated because SchemaValidator selects the schema from the request path, and tests/schemas/utils/agent/api/v2/logs-request.json currently accepts everything. Those runs therefore continue accepting snapshots without the root timestamp, so the new contract is only enforced after the agent switches to /api/v2/debugger; add equivalent snapshot validation to the logs schema.

Useful? React with 👍 / 👎.

"oneOf": [
{
"properties": {
Expand Down
Loading