mcpField
I
integration-testing

integration-testing

github.com/elasticTesting & quality16516 installsUpdated 5w ago
Repository

About integration-testing

integration-testing is a testing skill for Elastic integrations developers, covering pipeline fixtures, system tests, and script tests. It maps test types to focused references, including system-test guidance for different input types.

Key features

  1. 01Author pipeline test fixtures
  2. 02Configure and debug system tests
  3. 03Write failure-path and upgrade script tests
  4. 04Select references by input type
  5. 05Follow testing layout and troubleshooting guidance

Use cases

  1. 01Prepare pipeline sample inputs and expected outputs
  2. 02Debug integration system tests or mock APIs
  3. 03Test API error handling and package upgrades

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/elastic/integration-skills --skill integration-testing

After installing, type/integration-testingin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
builder-setup-subagent-guidance.md
builder-system-test-subagent-guidance.md
pipeline-testing.md
script-testing.md
system-testing-cel.md
system-testing-cloud-skip.md
system-testing-http-endpoint.md
system-testing-kafka-pubsub.md
system-testing-logfile.md
system-testing-tcp-udp.md
system-testing.md

Details

From the project README

integration-testing

When to use

Load this skill whenever tasks include:

  • authoring or debugging pipeline test fixtures (.log/.json inputs, *-expected.json output, config files)
  • setting up or debugging system tests (_dev/test/system/, _dev/deploy/, mock APIs, 0-hits failures)
  • writing script tests for failure paths, API error handling, or package upgrades

When not to use

Do not use this skill as the primary guide for:

  • ingest pipeline processor design and architecture (ingest-pipelines)
  • CEL program development (cel-programs)
  • broad elastic-package command selection and stack lifecycle (elastic-package-cli)

Reference files — load the one that matches your test type

Test typeLoad whenReference file
Pipeline testsWriting fixtures, config files, expected output, debugging pipeline test failuresreferences/pipeline-testing.md
System tests (generic)Always load for any system test work — config fields, commands, teardown, debuggingreferences/system-testing.md
Script teststxtar failure/error tests, upgrade tests, mock services embedded in txtarreferences/script-testing.md
System test input-specific references

In addition to the generic system-testing.md, load the reference file matching your data stream's input type:

Input typeReference file
celreferences/system-testing-cel.md
tcp, udpreferences/system-testing-tcp-udp.md
http_endpointreferences/system-testing-http-endpoint.md
logfile, filestreamreferences/system-testing-logfile.md
kafka, gcp-pubsubreferences/system-testing-kafka-pubsub.md
aws-s3, gcs, azure-blob-storage, azure-eventhubreferences/system-testing-cloud-skip.md

When an integration supports multiple input types, load the generic reference plus each applicable input-type reference.

When working across multiple test types in one task (e.g. creating a new data stream end-to-end), load all applicable reference files.

References

  • references/pipeline-testing.md — directory layout, naming conventions, fixture formats, config options, expected output format and review, core workflow, fixture scenario coverage, data anonymization, troubleshooting
  • references/system-testing.md — generic system test reference: required layout, config fields, core commands, teardown failures, sample_event.json verification, general debugging
  • references/system-testing-cel.md — CEL mock API wiring, 0-hits debugging for CEL, variable-capture patterns
  • references/system-testing-tcp-udp.md — TCP/UDP log sender pattern with elastic/stream, signal coordination, port alignment
  • references/system-testing-http-endpoint.md — webhook/HTTP endpoint testing with STREAM_PROTOCOL=webhook, auth headers
  • references/system-testing-logfile.md — Alpine container + SERVICE_LOGS_DIR pattern for logfile/filestream inputs
  • references/system-testing-kafka-pubsub.md — Kafka broker + stream producer, Pub/Sub emulator patterns
  • references/system-testing-cloud-skip.md — when and why to skip system tests for cloud storage inputs (aws-s3, gcs, azure-blob-storage, azure-eventhub)
  • references/script-testing.md — txtar format, env smoke test, system-level skeleton, mock service docker-compose and config.yml, upgrade test pattern, pitfalls, full o365 examples
  • references/builder-setup-subagent-guidance.md — subagent operating manual for wiring data collection (docker-compose, sample logs, agent stream template, system test config, manifest var cleanup) for non-CEL data streams. The orchestrator dispatches subagents by passing this file's path in the task prompt; the subagent reads it itself in its own fresh context. Do NOT embed/paste its contents into the task prompt.
  • references/builder-system-test-subagent-guidance.md — subagent operating manual for running elastic-package test system --generate after pipeline work completes (any testable input). Same dispatch rule as above: orchestrators pass the path, the subagent reads the file itself.

Comments

Markdown supported