-
Notifications
You must be signed in to change notification settings - Fork 149
Open
Labels
enhancementNew feature or requestNew feature or requestgoPull requests that update go codePull requests that update go codegood first issueGood for newcomersGood for newcomers
Description
Summary
The e2e tests currently have MCP container images scattered across multiple Go test files, making it difficult to maintain consistent versions and configure automated updates via Renovate.
Current State
Images in use
| Image | Occurrences |
|---|---|
ghcr.io/stackloklabs/yardstick/yardstick-server:0.0.2 |
1 constant, used in 2 files |
ghcr.io/stackloklabs/gofetch/server:1.0.1 |
6 |
ghcr.io/stackloklabs/osv-mcp/server:0.0.7 |
4 |
python:3.9-slim |
2 (utility pods) |
curlimages/curl:latest |
1 (utility pods) |
Current locations
test/e2e/thv-operator/virtualmcp/virtualmcp_yardstick_base_test.go- has one constant (YardstickImage)test/e2e/thv-operator/virtualmcp/virtualmcp_tokenexchange_test.go- inlinetest/e2e/thv-operator/virtualmcp/virtualmcp_inline_auth_test.go- inlinetest/e2e/thv-operator/virtualmcp/virtualmcp_discovered_mode_test.go- inlinetest/e2e/thv-operator/virtualmcp/virtualmcp_auth_discovery_test.go- inlinetest/e2e/thv-operator/virtualmcp/virtualmcp_aggregation_filtering_test.go- inlinetest/e2e/thv-operator/virtualmcp/helpers.go- inline (utility images)test/e2e/telemetry_metrics_validation_e2e_test.go- inline
Proposed Solution
Create a dedicated package test/e2e/images that exports all MCP test image constants:
package images
const (
// MCP server images
YardstickServer = "ghcr.io/stackloklabs/yardstick/yardstick-server:0.0.2"
GofetchServer = "ghcr.io/stackloklabs/gofetch/server:1.0.1"
OSVMCPServer = "ghcr.io/stackloklabs/osv-mcp/server:0.0.7"
// Utility images for test helpers
PythonSlim = "python:3.9-slim"
Curl = "curlimages/curl:latest"
)Benefits
- Single source of truth - All image versions in one place
- Renovate integration - Can configure Renovate to automatically update image versions in the constants file
- Easier maintenance - Version bumps require changes to only one file
- Consistency - Ensures all tests use the same image versions
Tasks
- Create
test/e2e/images/images.gopackage with all image constants - Update all Go test files to import and use the centralized constants
- Add Renovate configuration for the new images package
Out of Scope
Chainsaw YAML test files are excluded from this effort for now.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgoPull requests that update go codePull requests that update go codegood first issueGood for newcomersGood for newcomers