Skip to content

Functional testing: Tier C — Full regression and API validation #45

@renecannao

Description

@renecannao

Tier C: Full Regression Suite

Comprehensive validation of all features shipped in Phases 1-3.

Pre-requisites

Chi Router Regression (v1 API)

Verify critical v1 API endpoints still work after the martini→chi migration:

  • GET /api/clusters — list clusters
  • GET /api/cluster/{alias} — cluster instances
  • GET /api/instance/{host}/{port} — instance detail
  • GET /api/topology/{cluster} — topology view
  • GET /api/problems — replication problems
  • GET /api/audit-recovery — audit trail
  • PUT /api/begin-maintenance/{host}/{port}/{reason} — begin maintenance
  • PUT /api/end-maintenance/{host}/{port} — end maintenance
  • GET /api/cluster-info/{alias} — cluster info
  • GET /api/master/{alias} — cluster master
  • Static file serving: CSS, JS, images load correctly

API v2 Validation

  • GET /api/v2/clusters — returns V2APIResponse envelope
  • GET /api/v2/clusters/{alias} — cluster detail
  • GET /api/v2/clusters/{alias}/instances — instances in cluster
  • GET /api/v2/instances/{host}/{port} — instance detail with proper 404 on not-found
  • GET /api/v2/topology/{cluster} — topology
  • GET /api/v2/recoveries — recovery list
  • GET /api/v2/status — status endpoint
  • GET /api/v2/proxysql/servers — ProxySQL servers
  • Error responses return proper HTTP status codes (not 200)

Prometheus Metrics

  • /metrics returns valid Prometheus exposition format
  • orchestrator_instances_total gauge has a value > 0
  • orchestrator_clusters_total gauge has a value > 0
  • orchestrator_discoveries_total counter increments over time
  • Metrics are scrapeable by a Prometheus instance (optional: add Prometheus container)

Health Endpoints

  • /health/live returns 200 always
  • /health/ready returns 200 when healthy, 503 when backend unreachable
  • /health/leader returns 200 (non-raft mode)

Database Provider

  • Verify GetProvider() returns MySQL provider at runtime
  • Verify provider methods work against real MySQL instances

Web UI

  • Homepage loads without errors
  • Cluster topology visualization renders
  • Navigation works (clusters, search, audit)

Findings

(To be updated as tests run)

Bugs Found

(To be updated — each bug gets its own issue)

Depends on #43 (Tier A) and #44 (Tier B).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions