This PR simplifies the seed data import configuration based on maintainer feedback by removing command line flags and using a clearer environment variable name. ## Key Changes ### Configuration Simplification - **Renamed**: `MCP_REGISTRY_SEED_FILE_PATH` → `MCP_REGISTRY_SEED_FROM` - **Removed**: `--seed-file-path` command line flag to eliminate configuration complexity ### Improved User Experience Users now configure seed data import using a single, clear environment variable: ```bash # Before (multiple ways to configure) MCP_REGISTRY_SEED_FILE_PATH=data/seed.json ./registry ./registry --seed-file-path=data/seed.json # After (simplified single method) MCP_REGISTRY_SEED_FROM=data/seed.json ./registry ``` ### Registry Composability The composability workflow is now simplified while maintaining all functionality: ```bash # Start first registry with seed data MCP_REGISTRY_SEED_FROM=data/seed.json ./registry # Start second registry importing from first via pagination MCP_REGISTRY_SEED_FROM=http://localhost:8080 ./registry ``` ## Technical Implementation - Maintains full backward compatibility for import functionality - All existing seed data sources continue to work (local files, HTTP URLs, registry URLs) - Automatic pagination through `/v0/servers` endpoint remains unchanged - Configurable delays between requests preserved ## Benefits - **Reduced complexity**: Single configuration method instead of multiple - **Clearer naming**: `SEED_FROM` better describes the source of seed data - **Easier maintenance**: Fewer configuration paths to test and document - **Consistent patterns**: Aligns with other environment-variable-only configuration All existing functionality is preserved while providing a cleaner, more maintainable configuration interface. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Avinash Sridhar <sridharavinash@users.noreply.github.com> Co-authored-by: Toby Padilla <toby@toby.sh> Co-authored-by: toby <83556+toby@users.noreply.github.com>
33 lines
1.2 KiB
Markdown
33 lines
1.2 KiB
Markdown
# Integration Test
|
|
|
|
This directory contains an end-to-end test for publishing to the registry.
|
|
|
|
## What the Test Covers
|
|
|
|
1. **Publisher Tool**: Tests the `publisher` CLI that publishes metadata to the registry
|
|
2. **Registry API**: Validates the `/v0/publish` and `/v0/servers/{id}` endpoints work correctly
|
|
3. **Example Validation**: Ensures all example JSON in `docs/server-json/examples.md` is valid and can be published
|
|
4. **Data Consistency**: Verifies published data matches what's retrieved from the registry
|
|
|
|
## Test Flow
|
|
|
|
1. **Build**: Build `publisher` and `registry`
|
|
- build `registry` with the `noauth` tag so that it accepts fake tokens
|
|
2. **Start Services**: Launch registry and MongoDB using Docker Compose with test configuration
|
|
3. **Publish Examples**: Extract JSON examples from documentation and run `publisher` to publish each one
|
|
4. **Validate Responses**: GET each published server from the registry and compare it to the example JSON
|
|
5. **Cleanup**: Stop Docker containers and remove temporary files
|
|
|
|
## How to Run
|
|
|
|
### Prerequisites
|
|
|
|
- Docker and Docker Compose
|
|
- Go 1.24
|
|
- Make sure you're in the repository root directory
|
|
|
|
### Run the Tests
|
|
|
|
```sh
|
|
./tests/integration/run.sh
|
|
```
|