registry/tests/integration
Repository files (latest commit first)
Filename Latest commit message Latest commit date
adam jones 694a4d8879
Add registry validators (#350)
Fixes #96

## Motivation and Context

See #96

## How Has This Been Tested?

Has some unit and integration tests, still needs proper testing of the
different registry types

## Breaking Changes

Yes, new package uploads will need extra verification

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [x] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
2025-09-04 22:45:59 +01:00
..
docker-compose.integration-test.yml Add registry validators (#350) 2025-09-04 22:45:59 +01:00
main.go Database implementation cleanup (#335) 2025-09-02 13:37:28 +01:00
README.md auth: New auth flow (#273) 2025-08-15 13:03:35 +01:00
run.sh Move publisher CLI from tools/ to cmd/ (#326) 2025-08-29 14:45:36 +01:00

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
  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

./tests/integration/run.sh