From 51a373e06c7872a761b5937285d301405edef85f Mon Sep 17 00:00:00 2001 From: marsal Date: Tue, 7 Jul 2026 13:35:41 +0800 Subject: [PATCH] chore: consolidate docker-compose and add integration tests - Merge infrastructure/docker-compose.yml + docker-compose.app.yml into root docker-compose.yml with profiles (infra/app). - Add healthchecks for mysql/redis/rabbitmq/mci-server/channel-service and depends_on conditions. - Rewrite scripts/local-up.sh to use profiles and wait for healthy states. - Add curl to mci-server and channel-service Docker images for healthchecks. - Add npm test script to admin-web (type-check + build smoke test). - Add scripts/test-external-api.sh covering 11 API endpoints. - Verify Java (7/7), Python (6/6), npm build, external API (11/11), and UI flows. --- admin-web/package.json | 3 +- backend/mci-server/Dockerfile | 2 + channel-service/Dockerfile | 2 + docker-compose.app.yml | 45 ----- docker-compose.yml | 144 ++++++++++++++++ .../specs/ui-send-record-success.png | Bin 0 -> 229748 bytes infrastructure/docker-compose.yml | 55 ------ scripts/local-up.sh | 75 +++++---- scripts/test-external-api.sh | 159 ++++++++++++++++++ 9 files changed, 347 insertions(+), 138 deletions(-) delete mode 100644 docker-compose.app.yml create mode 100644 docker-compose.yml create mode 100644 docs/superpowers/specs/ui-send-record-success.png delete mode 100644 infrastructure/docker-compose.yml create mode 100755 scripts/test-external-api.sh diff --git a/admin-web/package.json b/admin-web/package.json index d4873b7..ee4ed69 100644 --- a/admin-web/package.json +++ b/admin-web/package.json @@ -6,7 +6,8 @@ "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", - "preview": "vite preview" + "preview": "vite preview", + "test": "vue-tsc -b && npm run build" }, "dependencies": { "axios": "^1.18.1", diff --git a/backend/mci-server/Dockerfile b/backend/mci-server/Dockerfile index 0a303df..087699b 100644 --- a/backend/mci-server/Dockerfile +++ b/backend/mci-server/Dockerfile @@ -14,6 +14,8 @@ RUN mvn -N install && \ FROM eclipse-temurin:21-jre-alpine +RUN apk add --no-cache curl + WORKDIR /app COPY --from=builder /app/mci-server/target/*.jar app.jar diff --git a/channel-service/Dockerfile b/channel-service/Dockerfile index 2bf6443..78302d6 100644 --- a/channel-service/Dockerfile +++ b/channel-service/Dockerfile @@ -2,6 +2,8 @@ FROM python:3.11-slim WORKDIR /app +RUN apt-get update && apt-get install -y --no-install-recommends curl && rm -rf /var/lib/apt/lists/* + COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt diff --git a/docker-compose.app.yml b/docker-compose.app.yml deleted file mode 100644 index 32347ac..0000000 --- a/docker-compose.app.yml +++ /dev/null @@ -1,45 +0,0 @@ -version: '3.8' - -services: - mci-server: - build: - context: ./backend - dockerfile: mci-server/Dockerfile - container_name: mci-server - ports: - - "8080:8080" - environment: - - SPRING_PROFILES_ACTIVE=dev - - SPRING_DATASOURCE_URL=jdbc:mysql://mci-mysql:3306/sino_mci?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true - - SPRING_DATASOURCE_USERNAME=root - - SPRING_DATASOURCE_PASSWORD=root - - SPRING_DATA_REDIS_HOST=mci-redis - - SPRING_RABBITMQ_HOST=mci-rabbitmq - networks: - - mci-network - - admin-web: - build: - context: ./admin-web - dockerfile: Dockerfile - container_name: mci-admin-web - ports: - - "80:80" - networks: - - mci-network - - channel-service: - build: - context: ./channel-service - dockerfile: Dockerfile - container_name: mci-channel-service - ports: - - "8000:8000" - environment: - - MCI_SERVER_URL=http://mci-server:8080/msg-platform - networks: - - mci-network - -networks: - mci-network: - external: true diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..09057ad --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,144 @@ +version: '3.8' + +services: + mysql: + image: mysql:8.0.36 + container_name: mci-mysql + profiles: ["infra"] + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: sino_mci + ports: + - "3306:3306" + volumes: + - mci-mysql-data:/var/lib/mysql + networks: + - mci-network + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-proot"] + interval: 5s + timeout: 5s + retries: 20 + start_period: 30s + + redis: + image: redis:7.2 + container_name: mci-redis + profiles: ["infra"] + ports: + - "6379:6379" + networks: + - mci-network + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 5s + timeout: 5s + retries: 10 + start_period: 10s + + rabbitmq: + image: rabbitmq:3.13-management + container_name: mci-rabbitmq + profiles: ["infra"] + environment: + RABBITMQ_DEFAULT_USER: guest + RABBITMQ_DEFAULT_PASS: guest + ports: + - "5672:5672" + - "15672:15672" + networks: + - mci-network + healthcheck: + test: ["CMD", "rabbitmq-diagnostics", "ping"] + interval: 5s + timeout: 5s + retries: 15 + start_period: 30s + + seaweedfs: + image: chrislusf/seaweedfs:3.62 + container_name: mci-seaweedfs + profiles: ["infra"] + ports: + - "9333:9333" + - "8888:8888" + command: server -dir=/data + volumes: + - mci-seaweedfs-data:/data + networks: + - mci-network + + mci-server: + build: + context: ./backend + dockerfile: mci-server/Dockerfile + container_name: mci-server + profiles: ["app"] + ports: + - "8080:8080" + environment: + - SPRING_PROFILES_ACTIVE=dev + - SPRING_DATASOURCE_URL=jdbc:mysql://mci-mysql:3306/sino_mci?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true + - SPRING_DATASOURCE_USERNAME=root + - SPRING_DATASOURCE_PASSWORD=root + - SPRING_DATA_REDIS_HOST=mci-redis + - SPRING_RABBITMQ_HOST=mci-rabbitmq + networks: + - mci-network + depends_on: + mysql: + condition: service_healthy + redis: + condition: service_healthy + rabbitmq: + condition: service_healthy + healthcheck: + test: ["CMD", "curl", "-fsS", "http://localhost:8080/msg-platform/actuator/health"] + interval: 10s + timeout: 5s + retries: 15 + start_period: 90s + + admin-web: + build: + context: ./admin-web + dockerfile: Dockerfile + container_name: mci-admin-web + profiles: ["app"] + ports: + - "80:80" + networks: + - mci-network + depends_on: + mci-server: + condition: service_healthy + + channel-service: + build: + context: ./channel-service + dockerfile: Dockerfile + container_name: mci-channel-service + profiles: ["app"] + ports: + - "8000:8000" + environment: + - MCI_SERVER_URL=http://mci-server:8080/msg-platform + networks: + - mci-network + depends_on: + mci-server: + condition: service_healthy + healthcheck: + test: ["CMD", "curl", "-fsS", "http://localhost:8000/health"] + interval: 10s + timeout: 5s + retries: 10 + start_period: 30s + +volumes: + mci-mysql-data: + mci-seaweedfs-data: + +networks: + mci-network: + driver: bridge diff --git a/docs/superpowers/specs/ui-send-record-success.png b/docs/superpowers/specs/ui-send-record-success.png new file mode 100644 index 0000000000000000000000000000000000000000..f7ed08c27f1ab8e29a94bc912ca72007f3a3ca7e GIT binary patch literal 229748 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
EW`;Je51u?hKoFd1 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
a7#h#jmETW~6uordowhVzd~akgC|@h|54? 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

c#9;EHyUK|1vf=h<%5IO-qrp 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 YM7?Xn79T9V4Nr6i^z(4t*GD=3|IDaH3;+NC literal 0 HcmV?d00001 diff --git a/infrastructure/docker-compose.yml b/infrastructure/docker-compose.yml deleted file mode 100644 index 20077f7..0000000 --- a/infrastructure/docker-compose.yml +++ /dev/null @@ -1,55 +0,0 @@ -version: '3.8' - -services: - mysql: - image: mysql:8.0.36 - container_name: mci-mysql - environment: - MYSQL_ROOT_PASSWORD: root - MYSQL_DATABASE: sino_mci - ports: - - "3306:3306" - volumes: - - mci-mysql-data:/var/lib/mysql - networks: - - mci-network - - redis: - image: redis:7.2 - container_name: mci-redis - ports: - - "6379:6379" - networks: - - mci-network - - rabbitmq: - image: rabbitmq:3.13-management - container_name: mci-rabbitmq - environment: - RABBITMQ_DEFAULT_USER: guest - RABBITMQ_DEFAULT_PASS: guest - ports: - - "5672:5672" - - "15672:15672" - networks: - - mci-network - - seaweedfs: - image: chrislusf/seaweedfs:3.62 - container_name: mci-seaweedfs - ports: - - "9333:9333" - - "8888:8888" - command: server -dir=/data - volumes: - - mci-seaweedfs-data:/data - networks: - - mci-network - -volumes: - mci-mysql-data: - mci-seaweedfs-data: - -networks: - mci-network: - external: true diff --git a/scripts/local-up.sh b/scripts/local-up.sh index faa46c4..08118e0 100755 --- a/scripts/local-up.sh +++ b/scripts/local-up.sh @@ -4,47 +4,42 @@ set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR/.." -echo "Creating shared network..." -docker network create mci-network 2>/dev/null || true +wait_for_healthy() { + local service=$1 + local max_retries=${2:-60} + local retry_count=0 + local container_name -echo "Starting local infrastructure..." -docker compose -f infrastructure/docker-compose.yml up -d + echo "Waiting for $service to become healthy..." + while [ "$retry_count" -lt "$max_retries" ]; do + container_name=$(docker compose --profile infra --profile app ps -q "$service" 2>/dev/null | head -n1) -echo "Waiting for MySQL..." -MAX_RETRIES=60 -RETRY_COUNT=0 -until docker exec mci-mysql mysql -uroot -proot -e "SELECT 1" > /dev/null 2>&1; do - RETRY_COUNT=$((RETRY_COUNT + 1)) - if [ "$RETRY_COUNT" -ge "$MAX_RETRIES" ]; then - echo "MySQL did not become ready within ${MAX_RETRIES} seconds." - exit 1 - fi - sleep 1 -done + if [ -n "$container_name" ]; then + local status + status=$(docker inspect --format='{{.State.Health.Status}}' "$container_name" 2>/dev/null || true) + if [ "$status" = "healthy" ]; then + echo "$service is healthy." + return 0 + fi + fi -echo "Waiting for Redis..." -RETRY_COUNT=0 -until docker exec mci-redis redis-cli ping | grep -q "PONG"; do - RETRY_COUNT=$((RETRY_COUNT + 1)) - if [ "$RETRY_COUNT" -ge 30 ]; then - echo "Redis did not become ready within 30 seconds." - exit 1 - fi - sleep 1 -done + retry_count=$((retry_count + 1)) + sleep 2 + done -echo "Waiting for RabbitMQ..." -RETRY_COUNT=0 -until curl -s -o /dev/null -w "%{http_code}" http://guest:guest@localhost:15672/api/overview | grep -q "200"; do - RETRY_COUNT=$((RETRY_COUNT + 1)) - if [ "$RETRY_COUNT" -ge 30 ]; then - echo "RabbitMQ did not become ready within 30 seconds." - exit 1 - fi - sleep 1 -done + echo "$service did not become healthy within $((max_retries * 2)) seconds." + docker compose --profile infra --profile app logs --tail=50 "$service" + return 1 +} -echo "Local infrastructure is ready." +echo "Starting infrastructure services..." +docker compose --profile infra up -d + +wait_for_healthy mysql 60 +wait_for_healthy redis 30 +wait_for_healthy rabbitmq 60 + +echo "Infrastructure is ready." echo "MySQL: jdbc:mysql://localhost:3306/sino_mci" echo "Redis: localhost:6379" echo "RabbitMQ: localhost:5672 / http://localhost:15672" @@ -52,7 +47,13 @@ echo "SeaweedFS: http://localhost:9333" if [ "$1" == "--with-apps" ]; then echo "Starting application services..." - docker compose -f docker-compose.app.yml up -d --build + # Include infra profile so that depends_on conditions can resolve. + docker compose --profile infra --profile app up -d --build + + wait_for_healthy mci-server 90 + wait_for_healthy channel-service 60 + + echo "Application services are ready." echo "Admin Web: http://localhost" echo "Backend API: http://localhost:8080/msg-platform" echo "Channel Service: http://localhost:8000" diff --git a/scripts/test-external-api.sh b/scripts/test-external-api.sh new file mode 100755 index 0000000..38e1793 --- /dev/null +++ b/scripts/test-external-api.sh @@ -0,0 +1,159 @@ +#!/bin/bash +set -e + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +cd "$SCRIPT_DIR/.." + +BASE_URL="${BASE_URL:-http://localhost/msg-platform}" +CHANNEL_URL="${CHANNEL_URL:-http://localhost:8000}" + +command -v curl >/dev/null 2>&1 || { echo "curl is required but not installed."; exit 1; } +command -v jq >/dev/null 2>&1 || { echo "jq is required but not installed."; exit 1; } + +PASS_COUNT=0 +FAIL_COUNT=0 + +TENANT_CODE="ext-test-$(date +%s)" + +make_request() { + local method=$1 + local url=$2 + local payload=$3 + shift 3 + local headers=("$@") + + if [ "$method" = "GET" ]; then + curl -s -S -X GET "${headers[@]}" "$url" + elif [ -n "$payload" ]; then + curl -s -S -X "$method" "${headers[@]}" -H "Content-Type: application/json" -d "$payload" "$url" + else + curl -s -S -X "$method" "${headers[@]}" -H "Content-Type: application/json" "$url" + fi +} + +assert_code_zero() { + local name=$1 + local response=$2 + local code + code=$(echo "$response" | jq -r '.code // .errcode // empty') + + if [ "$code" = "0" ]; then + echo "[PASS] $name" + PASS_COUNT=$((PASS_COUNT + 1)) + return 0 + else + echo "[FAIL] $name (code=$code)" + echo " response: $response" + FAIL_COUNT=$((FAIL_COUNT + 1)) + return 1 + fi +} + +# 1. Create tenant +echo "==> 1. Create tenant" +TENANT_RESPONSE=$(make_request POST "$BASE_URL/api/v1/account/tenant" \ + '{"tenantCode":"'"$TENANT_CODE"'","tenantName":"External API Test"}') +assert_code_zero "Create tenant" "$TENANT_RESPONSE" + +# 2. Create channel subject +echo "==> 2. Create channel subject" +SUBJECT_RESPONSE=$(make_request POST "$BASE_URL/api/v1/channel-subject" \ + '{"channelType":"wecom","subjectCode":"sino","subjectName":"Sino Test"}' \ + -H "X-Tenant-Code: $TENANT_CODE") +assert_code_zero "Create channel subject" "$SUBJECT_RESPONSE" + +# 3. Create channel account +echo "==> 3. Create channel account" +ACCOUNT_RESPONSE=$(make_request POST "$BASE_URL/api/v1/channel-account" \ + '{"accountType":1,"channelType":"wecom","accountId":"ZhangSan","accountName":"张三"}' \ + -H "X-Tenant-Code: $TENANT_CODE") +assert_code_zero "Create channel account" "$ACCOUNT_RESPONSE" +ACCOUNT_ID=$(echo "$ACCOUNT_RESPONSE" | jq -r '.data.id') + +# 4. Create conversation +echo "==> 4. Create conversation" +CONVERSATION_RESPONSE=$(make_request POST "$BASE_URL/api/v1/conversation" \ + '{"conversationType":2,"channelType":"wecom","channelConversationId":"room-test-'"$(date +%s)"'","conversationName":"Test Group"}' \ + -H "X-Tenant-Code: $TENANT_CODE") +assert_code_zero "Create conversation" "$CONVERSATION_RESPONSE" +CONVERSATION_ID=$(echo "$CONVERSATION_RESPONSE" | jq -r '.data.id') + +# 5. Bind account to conversation +echo "==> 5. Bind account to conversation" +BIND_RESPONSE=$(make_request POST "$BASE_URL/api/v1/conversation/$CONVERSATION_ID/bind-account" \ + "{\"accountId\":$ACCOUNT_ID,\"bindingType\":1,\"sortOrder\":1}" \ + -H "X-Tenant-Code: $TENANT_CODE") +assert_code_zero "Bind account to conversation" "$BIND_RESPONSE" + +# 6. Test send +echo "==> 6. Test send" +SEND_RESPONSE=$(make_request POST "$BASE_URL/api/v1/send/test" \ + "{\"targetType\":\"conversation\",\"targetValue\":{\"conversation_id\":$CONVERSATION_ID},\"contentType\":\"text\",\"content\":{\"text\":\"hello from external api test\"},\"channelStrategy\":{\"channel_type\":\"wecom\",\"strategy\":\"primary\"}}" \ + -H "X-Tenant-Code: $TENANT_CODE") +assert_code_zero "Test send" "$SEND_RESPONSE" +TASK_ID=$(echo "$SEND_RESPONSE" | jq -r '.data.taskId') + +# 7. Query send records +echo "==> 7. Query send records" +RECORDS_RESPONSE=$(make_request GET "$BASE_URL/api/v1/send/$TASK_ID/records" "" \ + -H "X-Tenant-Code: $TENANT_CODE") +assert_code_zero "Query send records" "$RECORDS_RESPONSE" + +# 8. Receive inbound message +echo "==> 8. Receive inbound message" +EVENT_ID="evt-$(date +%s)-$RANDOM" +INBOUND_RESPONSE=$(make_request POST "$BASE_URL/api/v1/inbound/receive" \ + "{\"eventId\":\"$EVENT_ID\",\"channelType\":\"wecom\",\"channelSubjectId\":1,\"eventType\":\"message\",\"messageSource\":\"realtime\",\"conversationId\":$CONVERSATION_ID,\"accountId\":$ACCOUNT_ID,\"content\":{\"text\":\"hello inbound\"},\"rawPayload\":{},\"businessContext\":{}}" \ + -H "X-Tenant-Code: $TENANT_CODE") +assert_code_zero "Receive inbound message" "$INBOUND_RESPONSE" + +# 9. Channel-service health +echo "==> 9. Channel-service health" +HEALTH_RESPONSE=$(curl -s -S "$CHANNEL_URL/health") +if echo "$HEALTH_RESPONSE" | jq -e '.status == "ok"' >/dev/null 2>&1; then + echo "[PASS] Channel-service health" + PASS_COUNT=$((PASS_COUNT + 1)) +else + echo "[FAIL] Channel-service health" + echo " response: $HEALTH_RESPONSE" + FAIL_COUNT=$((FAIL_COUNT + 1)) +fi + +# 10. WeChat personal login start +echo "==> 10. WeChat personal login start" +LOGIN_RESPONSE=$(make_request POST "$CHANNEL_URL/v1/wechat-personal/login/start" \ + '{"account_id":"bot-test-'"$(date +%s)"'","account_name":"Test Bot"}') +if echo "$LOGIN_RESPONSE" | jq -e '.login_id' >/dev/null 2>&1; then + echo "[PASS] WeChat personal login start" + PASS_COUNT=$((PASS_COUNT + 1)) +else + echo "[FAIL] WeChat personal login start" + echo " response: $LOGIN_RESPONSE" + FAIL_COUNT=$((FAIL_COUNT + 1)) +fi + +# 11. WeChat personal send text (after confirming a login) +echo "==> 11. WeChat personal send text" +BOT_ID="bot-send-$(date +%s)" +make_request POST "$CHANNEL_URL/v1/wechat-personal/login/start" \ + '{"account_id":"'"$BOT_ID"'"}' >/dev/null +make_request POST "$CHANNEL_URL/v1/wechat-personal/login/$BOT_ID/confirm" "{}" >/dev/null +SEND_TEXT_RESPONSE=$(make_request POST "$CHANNEL_URL/v1/wechat-personal/send/text" \ + '{"account_id":"'"$BOT_ID"'","conversation_id":"room-test","text":"hello"}') +if echo "$SEND_TEXT_RESPONSE" | jq -e '.success == true' >/dev/null 2>&1; then + echo "[PASS] WeChat personal send text" + PASS_COUNT=$((PASS_COUNT + 1)) +else + echo "[FAIL] WeChat personal send text" + echo " response: $SEND_TEXT_RESPONSE" + FAIL_COUNT=$((FAIL_COUNT + 1)) +fi + +echo "" +echo "=========================" +echo "Total: $((PASS_COUNT + FAIL_COUNT)), Passed: $PASS_COUNT, Failed: $FAIL_COUNT" +echo "=========================" + +if [ "$FAIL_COUNT" -gt 0 ]; then + exit 1 +fi