"""iCal 동기화 테스트 스크립트"""
import os
os.environ["ICAL_SYNC_ENABLED"] = "false" # 자동 동기화 비활성화
from src.server import sync_all_platforms, storage
def test_sync():
"""동기화 기능 테스트"""
print("=" * 70)
print("🧪 iCal 동기화 기능 테스트")
print("=" * 70)
print()
# 환경 변수 확인
print("📋 환경 변수 확인:")
platforms = {
"AIRBNB_ICAL_URL": os.getenv("AIRBNB_ICAL_URL"),
"SPACECLOUD_ICAL_URL": os.getenv("SPACECLOUD_ICAL_URL"),
"NAVER_ICAL_URL": os.getenv("NAVER_ICAL_URL"),
"YANOLJA_ICAL_URL": os.getenv("YANOLJA_ICAL_URL"),
"KAKAO_ICAL_URL": os.getenv("KAKAO_ICAL_URL"),
}
for platform, url in platforms.items():
status = "✅ 설정됨" if url else "❌ 미설정"
print(f" {platform}: {status}")
print()
print("=" * 70)
# 동기화 실행
if any(platforms.values()):
print("\n🔄 동기화 시작...\n")
synced_count, total_reservations = sync_all_platforms()
print()
print("=" * 70)
print(f"✅ 동기화 완료: {synced_count}개 플랫폼, {total_reservations}건 예약")
print("=" * 70)
# 저장된 예약 확인
all_reservations = storage.get_all_reservations()
print(f"\n📊 현재 저장된 총 예약: {len(all_reservations)}건")
if all_reservations:
print("\n최근 예약:")
for r in sorted(all_reservations, key=lambda x: x.start_time, reverse=True)[:5]:
print(f" • [{r.platform}] {r.start_time.strftime('%Y-%m-%d %H:%M')} | {r.customer_name}")
else:
print("\n⚠️ iCal URL이 설정되지 않았습니다.")
print(" .env 파일을 생성하고 iCal URL을 설정하세요.")
print(" 가이드: ICAL_SETUP_GUIDE.md 참고")
print()
print("💡 테스트를 위해 샘플 데이터를 생성하려면:")
print(" python test_data.py")
if __name__ == "__main__":
test_sync()