Skip to content
This repository was archived by the owner on Jul 13, 2026. It is now read-only.
This repository was archived by the owner on Jul 13, 2026. It is now read-only.

test: E2E MemoryHub test should discover URL from discovery endpoint #242

Description

@rdwj

Summary

The MemoryHub E2E test (apps/adk-server/tests/e2e/examples/agent-integration/memoryhub/test_memoryhub_recall.py) currently uses the MEMORYHUB_E2E_URL repo secret, which must be manually updated when the sandbox cluster rotates. MemoryHub now publishes the current MCP URL at a stable discovery endpoint:

https://redhat-ai-americas.github.io/memory-hub/discovery.json

The E2E test should read this endpoint at startup to resolve the URL, falling back to MEMORYHUB_E2E_URL if the fetch fails (so the test still works in environments without internet access or with a custom instance).

Discovery file format

{
  "instances": {
    "sandbox": {
      "mcp_url": "https://..../mcp/",
      "environment": "sandbox",
      "updated": "2026-05-12",
      "status": "active"
    }
  },
  "default": "sandbox",
  "schema_version": 1
}

The test should read .instances[.default].mcp_url from the response.

Suggested change

In the test fixture that resolves the MemoryHub URL:

  1. Try fetching the discovery endpoint (with a short timeout, e.g. 5s)
  2. Parse .instances[.default].mcp_url
  3. Fall back to os.environ.get("MEMORYHUB_E2E_URL") if fetch fails or the endpoint is unreachable

This way the test self-heals after cluster rotations without waiting for someone to update the repo secret.

References

  • Decision record: redhat-ai-americas/memory-hub planning/kagenti-adk-e2e-cluster-url-stability.md
  • Discovery implementation: redhat-ai-americas/memory-hub PR (incoming)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Status
In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions