콘텐츠로 이동

Script Execution Test

2026-01-28


Terminal window
bash -n scripts/setup-cloudflare-resources.sh
# Exit code: 0

테스트 케이스 1: “already exists” with exit code 1

섹션 제목: “테스트 케이스 1: “already exists” with exit code 1”

시뮬레이션:

Terminal window
D1_OUTPUT="✘ [ERROR] A database with that name already exists"
D1_EXIT_CODE=1

예상 결과: “already exists”로 인식되어 정보 메시지 출력

실제 결과: ✅ 통과

  • 올바르게 “already exists”로 식별됨
  • “ℹ️ Already exists” 메시지 출력

테스트 케이스 2: Success with exit code 0

섹션 제목: “테스트 케이스 2: Success with exit code 0”

시뮬레이션:

Terminal window
D1_OUTPUT="✅ Successfully created DB 'newsfork-metadata-dev'..."
D1_EXIT_CODE=0

예상 결과: 성공으로 인식되어 ID 추출 및 성공 메시지 출력

실제 결과: ✅ 통과

  • 올바르게 성공으로 식별됨
  • Database ID 추출 성공: f9e34a5c-d098-4fc2-bb5a-9239e7ec9ef5

테스트 케이스 3: Actual error (authentication failed)

섹션 제목: “테스트 케이스 3: Actual error (authentication failed)”

시뮬레이션:

Terminal window
D1_OUTPUT="✘ [ERROR] Authentication failed"
D1_EXIT_CODE=1

예상 결과: 실제 에러로 인식되어 에러 메시지 출력

실제 결과: ✅ 통과

  • 올바르게 실제 에러로 식별됨
  • Exit code와 전체 에러 메시지 출력

테스트 케이스 4: Queue “already taken”

섹션 제목: “테스트 케이스 4: Queue “already taken””

시뮬레이션:

Terminal window
KV_OUTPUT="✘ [ERROR] Queue name 'newsfork-research-dev' is already taken..."
KV_EXIT_CODE=1

예상 결과: “already exists”로 인식

실제 결과: ✅ 통과

  • 올바르게 “already exists”로 식별됨

테스트 케이스 5: KV Namespace success

섹션 제목: “테스트 케이스 5: KV Namespace success”

시뮬레이션:

Terminal window
KV_OUTPUT="✨ Success! ... \"id\": \"54fb1f5d47734607aa076042c7ef8416\""
KV_EXIT_CODE=0

예상 결과: 성공으로 인식되어 ID 추출

실제 결과: ✅ 통과

  • 올바르게 성공으로 식별됨
  • KV Namespace ID 추출 성공: 54fb1f5d47734607aa076042c7ef8416

Terminal window
# API 토큰 없이 실행
./scripts/setup-cloudflare-resources.sh
# 출력:
# ❌ Error: Cloudflare API token not set
# Please set CLOUDFLARE_API_TOKEN environment variable
# Example:
# export CLOUDFLARE_API_TOKEN='your-token-here'
# ./scripts/setup-cloudflare-resources.sh

확인 사항:

  • ✅ 명확한 에러 메시지
  • ✅ 사용 예시 제공
  • ✅ Exit code: 1 (정상)

⚠️ 실제 실행 시 주의:

  1. 실제 Cloudflare 리소스가 생성/변경됩니다
  2. 이미 존재하는 리소스는 “already exists” 메시지만 표시됩니다
  3. 새로운 리소스는 실제로 생성됩니다
Terminal window
# 1. API 토큰 설정
export CLOUDFLARE_API_TOKEN='your-token-here'
export CLOUDFLARE_ACCOUNT_ID='your-account-id' # 선택사항
# 2. 스크립트 실행
./scripts/setup-cloudflare-resources.sh
# 3. 디버그 모드 (더 자세한 정보)
DEBUG=true ./scripts/setup-cloudflare-resources.sh
  • D1 Database: 이미 존재하면 “ℹ️ Already exists”
  • KV Namespace: --env 플래그 없이 생성 시도
  • Queues: 이미 존재하면 “ℹ️ Already exists”
  • D1 Database: 이미 존재하면 “ℹ️ Already exists”
  • KV Namespace: --env staging 플래그로 생성 시도
  • Queues: 이미 존재하면 “ℹ️ Already exists”
  • D1 Database: 이미 존재하면 “ℹ️ Already exists”
  • KV Namespace: --env production 플래그로 생성 시도
  • Queues: 이미 존재하면 “ℹ️ Already exists”

  1. 문법 검사: 통과
  2. 인증 에러 처리: 명확한 메시지 출력
  3. “Already exists” 감지: Exit code와 무관하게 올바르게 처리
  4. 성공 케이스 처리: ID 추출 및 성공 메시지
  5. 실제 에러 처리: 전체 에러 메시지 출력
  6. Dev 환경 처리: --env 플래그 없이 처리

  1. 에러 메시지 투명화: 모든 에러 메시지가 전체 출력됨
  2. “Already exists” 우선 처리: Exit code와 무관하게 먼저 확인
  3. Dev 환경 KV 처리: --env 플래그 조건부 사용
  4. ID 추출: 생성된 리소스 ID 자동 추출 및 표시
  5. 디버그 모드: DEBUG=true 또는 ACTIONS_STEP_DEBUG=true 시 추가 정보 출력

  1. 로직 테스트 완료
  2. 문법 검사 완료
  3. 인증 에러 처리 확인
  4. 실제 실행 (API 토큰 필요)
    Terminal window
    export CLOUDFLARE_API_TOKEN='your-token'
    ./scripts/setup-cloudflare-resources.sh
  1. “Already exists” 메시지가 정상적으로 표시되는지
  2. 새로운 리소스 생성 시 ID가 올바르게 추출되는지
  3. 실제 에러 발생 시 전체 메시지가 표시되는지
  4. Dev 환경 KV Namespace가 정상적으로 생성되는지

  • 문법: 통과
  • 로직: 모든 테스트 케이스 통과
  • 에러 처리: 명확하고 투명함
  • “Already exists” 처리: Exit code와 무관하게 올바르게 처리

코드는 정상적으로 작동할 것으로 예상됩니다. 실제 Cloudflare API 토큰을 설정하고 실행하면 정상적으로 동작할 것입니다.


테스트 일시: 2026-01-28
상태: ✅ 검증 완료, 실제 실행 준비됨