test: real integration tests calling actual service operations
CI / Vet, test, build (push) Canceled after 11s
CI / Build and push image (push) Canceled after 0s

REAL tests that call actual services, not fake routing checks:
- Get real JWT from Authentik (client_credentials flow)
- Call SQS list-queues and send-message
- Call MinIO/S3 list-objects with JWT
- Call Authentik API with JWT
- Call Memory query operations
- Call Temporal (gRPC not yet implemented)

Tests gracefully skip if services unreachable (502/504).
Tests warn if operations partially integrated (e.g., MinIO JWT not validated).
Tests document current JWT integration state vs. what's still TODO.

Configuration:
  GATEWAY_URL=https://api.riotpiao.com
  AUTHENTIK_CLIENT_ID=<from OAuth2 provider>
  AUTHENTIK_CLIENT_SECRET=<from OAuth2 provider>
  TEST_TIMEOUT=30

Run: ./scripts/test-integration.sh

Documentation:
- INTEGRATION_TESTS.md lists what's working vs. TODO
- Phase 3: Implement actual JWT validation in services
- Phase 9: Add gRPC proxying for Temporal
This commit is contained in:
Admin Bot
2026-08-27 11:20:21 -07:00
parent a8d8b17a03
commit 4953580a8d
5 changed files with 408 additions and 371 deletions
+27 -12
View File
@@ -1,25 +1,40 @@
#!/bin/bash
# Run integration tests against real gateway
# Usage:
# ./scripts/test-integration.sh # Test local gateway
# GATEWAY_URL=https://api.riotpiao.com ./scripts/test-integration.sh # Test production
# Run REAL integration tests against live gateway
# These tests call actual services and validate real operations
# Not routing checks - actual API operations
set -e
GATEWAY_URL=${GATEWAY_URL:-http://localhost:8080}
SKIP_AUTH_TESTS=${SKIP_AUTH_TESTS:-true}
TEST_TIMEOUT=${TEST_TIMEOUT:-10}
AUTHENTIK_URL=${AUTHENTIK_URL:-https://authentik.riotpiao.com}
AUTHENTIK_CLIENT_ID=${AUTHENTIK_CLIENT_ID:-}
AUTHENTIK_CLIENT_SECRET=${AUTHENTIK_CLIENT_SECRET:-}
TEST_TIMEOUT=${TEST_TIMEOUT:-30}
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Integration Tests"
echo "Real Integration Tests"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Gateway URL: $GATEWAY_URL"
echo "Skip Auth Tests: $SKIP_AUTH_TESTS"
echo "Timeout: ${TEST_TIMEOUT}s"
echo "Gateway: $GATEWAY_URL"
echo "Authentik: $AUTHENTIK_URL"
echo "Timeout: ${TEST_TIMEOUT}s"
echo ""
if [ -z "$AUTHENTIK_CLIENT_ID" ]; then
echo "⚠️ No AUTHENTIK_CLIENT_ID set"
echo "Tests will skip JWT authentication"
echo ""
echo "To enable auth tests, set:"
echo " export AUTHENTIK_CLIENT_ID=<id>"
echo " export AUTHENTIK_CLIENT_SECRET=<secret>"
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
export GATEWAY_URL
export SKIP_AUTH_TESTS
export AUTHENTIK_URL
export AUTHENTIK_CLIENT_ID
export AUTHENTIK_CLIENT_SECRET
export TEST_TIMEOUT
go test -tags integration -v ./internal/serviceadapter -run TestIntegration
go test -tags integration -v ./internal/serviceadapter -run TestRealIntegration