#!/bin/bash # Content Service 통합 테스트 스크립트 # 작성일: 2025-10-30 # 테스트 대상: content-service (포트 8084) BASE_URL="http://localhost:8084/api/v1/content" COLOR_GREEN='\033[0;32m' COLOR_RED='\033[0;31m' COLOR_YELLOW='\033[1;33m' COLOR_NC='\033[0m' # No Color echo "==========================================" echo "Content Service 통합 테스트 시작" echo "==========================================" echo "" # 테스트 데이터 EVENT_ID="EVT-str_dev_test_001-20251029220003-610158ce" TEST_IMAGE_ID=1 # 1. Health Check echo -e "${COLOR_YELLOW}[1/7] Health Check${COLOR_NC}" curl -s http://localhost:8084/actuator/health | jq . || echo -e "${COLOR_RED}❌ Health check 실패${COLOR_NC}" echo "" # 2. 이미지 생성 요청 (HTTP 통신 테스트) echo -e "${COLOR_YELLOW}[2/7] 이미지 생성 요청 (HTTP 통신)${COLOR_NC}" RESPONSE=$(curl -s -X POST "$BASE_URL/images/generate" \ -H "Content-Type: application/json" \ -d @test-image-generation.json) echo "$RESPONSE" | jq . JOB_ID=$(echo "$RESPONSE" | jq -r '.jobId') echo -e "${COLOR_GREEN}✅ Job ID: $JOB_ID${COLOR_NC}" echo "" # 3. Job 상태 조회 (Job 관리 테스트) echo -e "${COLOR_YELLOW}[3/7] Job 상태 조회 (Job 관리)${COLOR_NC}" if [ ! -z "$JOB_ID" ] && [ "$JOB_ID" != "null" ]; then curl -s "$BASE_URL/images/jobs/$JOB_ID" | jq . echo -e "${COLOR_GREEN}✅ Job 상태 조회 성공${COLOR_NC}" else echo -e "${COLOR_RED}❌ JOB_ID가 없어 테스트 건너뜀${COLOR_NC}" fi echo "" # 4. EventId 기반 콘텐츠 조회 echo -e "${COLOR_YELLOW}[4/7] EventId 기반 콘텐츠 조회${COLOR_NC}" curl -s "$BASE_URL/events/$EVENT_ID" | jq . echo -e "${COLOR_GREEN}✅ 콘텐츠 조회 성공${COLOR_NC}" echo "" # 5. 이미지 목록 조회 echo -e "${COLOR_YELLOW}[5/7] 이미지 목록 조회${COLOR_NC}" curl -s "$BASE_URL/events/$EVENT_ID/images" | jq . echo -e "${COLOR_GREEN}✅ 이미지 목록 조회 성공${COLOR_NC}" echo "" # 6. 이미지 목록 조회 (필터링: style) echo -e "${COLOR_YELLOW}[6/7] 이미지 필터링 (style=SIMPLE)${COLOR_NC}" curl -s "$BASE_URL/events/$EVENT_ID/images?style=SIMPLE" | jq . echo "" # 7. 이미지 재생성 요청 echo -e "${COLOR_YELLOW}[7/7] 이미지 재생성 요청${COLOR_NC}" REGEN_RESPONSE=$(curl -s -X POST "$BASE_URL/images/$TEST_IMAGE_ID/regenerate" \ -H "Content-Type: application/json" \ -d '{"newPrompt": "Updated image with modern Korean BBQ theme"}') echo "$REGEN_RESPONSE" | jq . REGEN_JOB_ID=$(echo "$REGEN_RESPONSE" | jq -r '.jobId') if [ ! -z "$REGEN_JOB_ID" ] && [ "$REGEN_JOB_ID" != "null" ]; then echo -e "${COLOR_GREEN}✅ 재생성 Job ID: $REGEN_JOB_ID${COLOR_NC}" else echo -e "${COLOR_YELLOW}⚠️ 이미지 ID가 존재하지 않을 수 있음${COLOR_NC}" fi echo "" echo "==========================================" echo "테스트 완료" echo "=========================================="