Skip to content

Testing and validation for multi-region routing #208

@test3207

Description

@test3207

E2E Testing for Gateway Architecture

Parent Issue: #194

Status: ⏸️ Deferred

Basic manual testing complete. Automated E2E test framework deferred to later phase.


Manual Verification (2025-12-21)

Completed Tests

Test Command Result
Health Check curl https://m3w.test3207.fun/api/health ✅ Pass
Config Injection curl https://m3w.test3207.fun/config/nodes.json ✅ Pass
40MB Upload Upload audio via UI ✅ Pass (was 413, now works)
SSL Certificate curl -v https://gateway1.m3w.test3207.fun ✅ Valid
WireGuard VPN ping 10.10.0.2 from Gateway ✅ Pass
Redis Connection Backend logs [Redis] Connected successfully ✅ Pass
Redis Data Write Login creates m3w:github:{id} key ✅ Pass

Redis Cross-Region Routing Verification (2025-12-21)

# Verify Redis connection from backend
kubectl logs -n m3w -l app=m3w-backend | grep Redis
# Output: [Redis] Connected successfully

# Verify data write on login
ssh azureuser@4.241.232.69 "docker exec gateway-redis redis-cli KEYS 'm3w:github:*'"
# Output: m3w:github:20714425

# Verify region value
ssh azureuser@4.241.232.69 "docker exec gateway-redis redis-cli GET 'm3w:github:20714425'"
# Output: jp

Redis Data Format:

  • Key: m3w:github:${githubId}
  • Value: region code (e.g., jp, sea)
  • TTL: 30 days
  • Write trigger: First login via checkCrossRegion() SETNX

Upload Path Verification

Request: POST https://m3w.test3207.fun/api/upload/audio
    │
    ├── CF Worker (60s timeout) ✅
    │
    ├── Gateway VM nginx (100M, 60s) ✅
    │
    ├── K8s Gateway (100M, 60s) ✅
    │
    └── Backend (MinIO) ✅

Future E2E Framework

When needed, implement:

  • Playwright for frontend tests
  • k6 for load testing (already in m3w-load-test/)
  • Health check monitoring

Related

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions