# 테스트 환경별 설정 선택
# 1. 단위 테스트용 (기본)
# 2. Docker 통합 테스트용 (integration-test profile 활성화 시)

spring:
  application:
    name: stt-test

  # Bean Override 허용
  main:
    allow-bean-definition-overriding: true

  # In-Memory Database (기본값)
  datasource:
    url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
    username: sa
    password:
    driver-class-name: org.h2.Driver

  jpa:
    show-sql: false
    hibernate:
      ddl-auto: create-drop
    properties:
      hibernate:
        dialect: org.hibernate.dialect.H2Dialect

  # Mock Redis (handled by TestConfig)
  data:
    redis:
      host: localhost
      port: 6370
      password:
      database: 0

# Test Server
server:
  port: 0

# Mock Azure Services
azure:
  speech:
    subscription-key: test-key
    region: eastus
    language: ko-KR
  blob:
    connection-string: DefaultEndpointsProtocol=https;AccountName=test;AccountKey=test;EndpointSuffix=core.windows.net
    container-name: test-recordings
  eventhub:
    connection-string: Endpoint=sb://test.servicebus.windows.net/;SharedAccessKeyName=test;SharedAccessKey=test
    name: test-events
    consumer-group: test-group

---
# Docker 통합 테스트용 설정
spring:
  config:
    activate:
      on-profile: integration-test

  # Real PostgreSQL (via Docker)
  datasource:
    url: jdbc:postgresql://localhost:5433/sttdb_test
    username: testuser
    password: testpass
    driver-class-name: org.postgresql.Driver

  jpa:
    show-sql: true
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        dialect: org.hibernate.dialect.PostgreSQLDialect

  # Real Redis (via Docker)
  data:
    redis:
      host: localhost
      port: 6380
      password: testpass
      database: 0

# Real Server
server:
  port: 8083

# Azure Emulator (Azurite)
azure:
  speech:
    subscription-key: test-key
    region: eastus
    language: ko-KR
  blob:
    connection-string: DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
    container-name: test-recordings
  eventhub:
    connection-string: Endpoint=sb://test.servicebus.windows.net/;SharedAccessKeyName=test;SharedAccessKey=test
    name: test-events
    consumer-group: test-group

---
# 공통 설정
jwt:
  secret: test-secret-key-for-testing-purposes-only-not-for-production-use
  access-token-validity: 3600
  refresh-token-validity: 604800

cors:
  allowed-origins: "*"

management:
  endpoints:
    enabled-by-default: false
  endpoint:
    health:
      enabled: true

springdoc:
  api-docs:
    enabled: false
  swagger-ui:
    enabled: false

logging:
  level:
    com.unicorn.hgzero.stt: INFO
    org.springframework: WARN
    org.hibernate: WARN
  pattern:
    console: "%d{HH:mm:ss} %-5level %logger{36} - %msg%n"
