blob: 967d7a0fc2b0f878f2fa685e61d6733112ed720b [file]
#!/usr/bin/env bash
# Integration test for Armeria gRPC + REST server
# Prerequisites: server running on localhost:9090
set -e
SERVER="localhost:9090"
echo "=== Armeria Server Integration Tests ==="
# Test 1: Health endpoint
echo -n "Health check... "
curl -sf "http://$SERVER/internal/actuator/health" | grep -q "UP" && echo "PASS" || echo "FAIL"
# Test 2: DocService
echo -n "DocService available... "
curl -sf "http://$SERVER/docs/" | grep -q "Armeria" && echo "PASS" || echo "FAIL"
# Test 3: gRPC reflection (if grpcurl is available)
if command -v grpcurl &>/dev/null; then
echo -n "gRPC reflection... "
grpcurl -plaintext $SERVER list | grep -q "ExperimentService" && echo "PASS" || echo "FAIL"
echo -n "gRPC service list... "
SERVICES=$(grpcurl -plaintext $SERVER list | wc -l)
echo "$SERVICES services found"
fi
# Test 4: REST transcoding - GET endpoints
echo -n "REST transcoding (GET /api/v1/gateways)... "
HTTP_CODE=$(curl -sf -o /dev/null -w "%{http_code}" "http://$SERVER/api/v1/gateways" -H "Authorization: Bearer test")
[[ "$HTTP_CODE" == "200" || "$HTTP_CODE" == "401" ]] && echo "PASS (HTTP $HTTP_CODE)" || echo "FAIL (HTTP $HTTP_CODE)"
# Test 5: REST transcoding - another endpoint
echo -n "REST transcoding (GET /api/v1/experiments)... "
HTTP_CODE=$(curl -sf -o /dev/null -w "%{http_code}" "http://$SERVER/api/v1/experiments" -H "Authorization: Bearer test")
[[ "$HTTP_CODE" == "200" || "$HTTP_CODE" == "401" ]] && echo "PASS (HTTP $HTTP_CODE)" || echo "FAIL (HTTP $HTTP_CODE)"
echo "=== Done ==="