Files
lijiaoqiao/tests/supply/test_env_port_config.sh
Your Name 50a6775eb3 fix: 修复 M-018 指标计算和 .env 端口配置问题
1. 修复 .env 中 API_BASE_URL 端口配置 (localhost:18082 -> 127.0.0.1:18080)
2. 优化 M-018 计算逻辑:DEFERRED 状态视为有效(非失败)
3. 修复 grep 返回码1导致 set -e 退出的问题(添加 || true)
4. 添加测试脚本验证端口配置和 M-018 计算

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 22:53:12 +08:00

53 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Test: verify .env port configuration matches mock server
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
ROOT_DIR="$(cd "${SCRIPT_DIR}/../.." && pwd)"
# Expected mock server port
EXPECTED_PORT="18080"
# Expected mock server host
EXPECTED_HOST="127.0.0.1"
# Load .env file
ENV_FILE="${ROOT_DIR}/scripts/supply-gate/.env"
source "${ENV_FILE}"
# Parse API_BASE_URL
API_HOST="$(echo "${API_BASE_URL}" | sed -E 's|http://([^/:]+).*|\1|')"
API_PORT="$(echo "${API_BASE_URL}" | sed -E 's|http://[^/:]+:([0-9]+).*|\1|')"
echo "=== Port Configuration Test ==="
echo "Expected mock server: ${EXPECTED_HOST}:${EXPECTED_PORT}"
echo "Loaded from .env: ${API_HOST}:${API_PORT}"
FAILED=0
if [[ "${API_HOST}" != "${EXPECTED_HOST}" ]]; then
echo "[FAIL] API_HOST mismatch: expected ${EXPECTED_HOST}, got ${API_HOST}"
FAILED=1
fi
if [[ "${API_PORT}" != "${EXPECTED_PORT}" ]]; then
echo "[FAIL] API_PORT mismatch: expected ${EXPECTED_PORT}, got ${API_PORT}"
FAILED=1
fi
if [[ ${FAILED} -eq 0 ]]; then
echo "[PASS] Port configuration matches mock server"
else
echo "[FAIL] Port configuration does NOT match mock server"
fi
# Test connectivity
echo ""
echo "=== Connectivity Test ==="
if curl -sS -m 2 -I "${API_BASE_URL}" >/dev/null 2>&1; then
echo "[PASS] Can connect to ${API_BASE_URL}"
else
echo "[FAIL] Cannot connect to ${API_BASE_URL}"
FAILED=1
fi
exit ${FAILED}