Skip to content

Add dynamic signal types system test support#3373

Merged
MichelLosier merged 64 commits into
elastic:mainfrom
MichelLosier:add-dynamic-signal-types-system-test-support
Mar 31, 2026
Merged

Add dynamic signal types system test support#3373
MichelLosier merged 64 commits into
elastic:mainfrom
MichelLosier:add-dynamic-signal-types-system-test-support

Conversation

@MichelLosier

@MichelLosier MichelLosier commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Resolves: #3298

Enhances system tests support for otel input packages with dynamic_signal_types with:

  • Detects datastreams in ES based on expected dataset and namespace
  • Adds signal_types config field to declare what signal types to explicitly expect in the test

Callouts

I explored a bit the following ask:

If elastic-package becomes able to detect the data streams created for a given policy, we could remove the logic we have to build the data stream names where it is expected to find data.

From the Fleet side we don't track what data streams actually get created concretely in ES for a policy, nor do data streams in ES point back to policies in the metadata so it seems to me we are left with constructing expected datastream and index template names in some form. Happy to explore further though if folks feel otherwise.

Additionally, the datastream discovery polls until it first gets a result of matching datastreams *-dataset-namespace, this though assumes that all expected signals will be produced in the first ingest cycle. In the case for sql_server_input_otel this works if I omit the signal_types option in the logs system test, although the test fails of course on field assertion, but both metric and log data streams are found. If we think there maybe some variability for the default cause we want to handle here, we can look at a longer wait poll strategy (configurable wait), or goroutine the discovery to poll and enqueue found datastreams as tests run.

How to test:

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support testing inputs that generate multiple signals

5 participants