# 테스트 환경 설정 (환경별 구성)
# 최종 최적화 버전: 2023-11-15

# 로컬 환경 테스트 설정
local:
  # 비동기 작업 타임아웃 설정 (밀리초)
  # 테스트 실패 상황 분석 결과 3000ms가 적절함
  async_timeout: 3000
  
  # 테스트 간 지연 시간 (밀리초)
  # 이전 테스트의 비동기 작업이 완전히 정리되도록 500ms 유지
  test_delay: 500
  
  # 테스트 재시도 횟수
  # 일시적 실패를 방지하기 위해 3회로 설정
  retry_count: 3
  
  # 테스트 병렬 실행 여부
  # 로컬에서는 병렬 실행으로 시간 절약
  parallel: true
  
  # 메모리 제한 (MB, 0은 제한 없음)
  memory_limit: 0
  
  # 로깅 레벨 (1: 최소, 5: 최대)
  # 개발 환경에서는 상세한 로그가 필요하지만 모든 로그를 출력하지는 않음
  log_level: 4
  
  # 테스트 격리 모드 (strict, normal, relaxed)
  # 로컬 테스트에서는 normal이 적절함
  isolation_mode: normal
  
  # 테스트 종료 전 타이머 완료 대기 시간 (밀리초)
  # EventBus와 MemberService 테스트에서 타이머 완료를 위해 적절한 대기 시간
  timer_completion_wait: 1000
  
  # 진단 로깅 활성화 여부
  diagnostics_enabled: true
  
  # 반복 테스트 실행 횟수 (기본값: 1)
  repeat_count: 1

# CI 환경 테스트 설정
ci:
  # CI 환경에서는 시스템 자원이 제한적일 수 있으므로 더 긴 타임아웃 설정
  async_timeout: 5000
  
  # CI 환경에서는 테스트 간 지연 시간을 더 길게 설정하여 안정성 확보
  test_delay: 1000
  
  # 실패 시 더 많은 재시도 횟수로 안정성 확보
  retry_count: 5
  
  # CI 환경에서는 병렬 실행 비활성화하여 테스트 간 간섬 방지
  parallel: false
  
  # 메모리 제한 없음
  memory_limit: 0
  
  # 최대 로깅 레벨로 상세한 로그 확보
  log_level: 5
  
  # CI 환경에서는 엄격한 격리 모드 사용
  isolation_mode: strict
  
  # 타이머 완료 대기 시간을 더 길게 설정하여 안정성 확보
  timer_completion_wait: 2000
  
  # 진단 로깅 활성화
  diagnostics_enabled: true
  
  # CI에서는 기본적으로 3회 반복 테스트로 안정성 확보
  repeat_count: 3

# 스트레스 테스트 설정
stress:
  # 스트레스 테스트에서는 의도적으로 짧은 타임아웃 설정
  async_timeout: 2000
  
  # 테스트 간 지연 시간을 짧게 설정하여 스트레스 상황 재현
  test_delay: 100
  
  # 많은 재시도 횟수로 오류 발견 확률 증가
  retry_count: 10
  
  # 병렬 실행으로 스트레스 상황 재현
  parallel: true
  
  # 메모리 제한 없음
  memory_limit: 0
  
  # 최대 로깅 레벨로 상세한 로그 확보
  log_level: 5
  
  # 엄격한 격리 모드로 스트레스 테스트 시 안정성 검증
  isolation_mode: strict
  
  # 의도적으로 짧은 타이머 대기 시간으로 스트레스 상황 재현
  timer_completion_wait: 500
  
  # 진단 로깅 활성화
  diagnostics_enabled: true
  
  # 스트레스 테스트에서는 5회 반복으로 안정성 검증
  repeat_count: 5

# 안정성 테스트 설정 (신규 추가)
stability:
  # 안정성 테스트에서는 매우 긴 타임아웃 설정
  async_timeout: 8000
  
  # 테스트 간 지연 시간을 길게 설정하여 완전한 리소스 정리 보장
  test_delay: 2000
  
  # 재시도 없이 실패하는 테스트 확인
  retry_count: 0
  
  # 병렬 실행 비활성화
  parallel: false
  
  # 메모리 제한 없음
  memory_limit: 0
  
  # 최대 로깅 레벨
  log_level: 5
  
  # 가장 엄격한 격리 모드
  isolation_mode: strict
  
  # 타이머 완료 대기 시간을 길게 설정
  timer_completion_wait: 3000
  
  # 진단 로깅 활성화
  diagnostics_enabled: true
  
  # 안정성 테스트에서는 10회 반복으로 완전한 안정성 확보
  repeat_count: 10
