Skip to content

Add an end-to-end test against a real gateway #28

Description

@bburda

Summary

Every test in tests/ mocks the HTTP layer with respx. Nothing runs the server against a real gateway. A change in the gateway API, a mismatch between the generated client and the live OpenAPI document, or a transport problem would leave the whole suite green.

A manual run against the published gateway image shows the chain works today. ros2_medkit_status_get returns ready for an app and for the host component, and all five lifecycle transitions return 501 [not-implemented] Lifecycle control not available for this entity when no lifecycle provider is registered. None of this is repeatable in CI.


Proposed solution (optional)

Start the published gateway image in CI, wait for /health, discover one app and one component from the running graph, then drive the registered MCP handlers against them.

Lifecycle is a good first case. Both of its outcomes are stable on a plain gateway with no plugins, so the test needs no fixture beyond the image itself.


Additional context (optional)

This is new test infrastructure for this repository, not a change to existing tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions