| Filename | Latest commit message | Latest commit date |
|---|---|---|
## Motivation and Context The database logic was getting a bit unwieldy and fragile - especially because business logic that should really have lived at the registry service level was being pushed into the persistence level. This PR tightens the interface, simplifies the code there, as well as rips out a bunch of mocks etc. we don't need. ## How Has This Been Tested? Locally everything works ## Breaking Changes The list endpoint was surprisingly always filtering for isLatest only, which seems like a bug? I have removed this filter. |
||
| .. | ||
| docker-compose.integration-test.yml | ||
| main.go | ||
| README.md | ||
| run.sh | ||
Integration Test
This directory contains an end-to-end test for publishing to the registry.
What the Test Covers
- Publisher Tool: Tests the
publisherCLI that publishes metadata to the registry - Registry API: Validates the
/v0/publishand/v0/servers/{id}endpoints work correctly - Example Validation: Ensures all example JSON in
docs/server-json/examples.mdis valid and can be published - Data Consistency: Verifies published data matches what's retrieved from the registry
Test Flow
- Build: Build
publisherandregistry - Start Services: Launch registry and MongoDB using Docker Compose with test configuration
- Publish Examples: Extract JSON examples from documentation and run
publisherto publish each one - Validate Responses: GET each published server from the registry and compare it to the example JSON
- 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
./tests/integration/run.sh