import logging import sys from core.config import settings from ingestion.providers.sharepoint_provider import SharePointProvider from extraction.ocr_service import OCRService logging.basicConfig(level=logging.INFO, format="%(levelname)s:%(name)s:%(message)s") logger = logging.getLogger("TestModularArch") def run_tests(): logger.info("=== 1. KIỂM TRA CẤU HÌNH (CONFIG) ===") logger.info(f"VLM Endpoint: {settings.VLM_ENDPOINT}") logger.info(f"VLM Temperature: {settings.VLM_TEMPERATURE}") if not settings.VLM_ENDPOINT: logger.error("LỖI: Chưa nạp được cấu hình VLM từ .env") sys.exit(1) logger.info("\n=== 2. KIỂM TRA MÔ HÌNH PROVIDER (SHAREPOINT) ===") try: provider = SharePointProvider() logger.info("Khởi tạo SharePointProvider thành công.") logger.info("Thử nghiệm fetch_changes (Lấy danh sách file delta)...") items, next_state = provider.fetch_changes({}) logger.info(f"Thành công! Lấy được {len(items)} items thông qua kiến trúc Provider mới.") if items: logger.info(f"Item mẫu: {items[0]['name']} (ID: {items[0]['id'][:10]}...)") except Exception as e: logger.error(f"LỖI Khởi tạo Provider: {e}") logger.info("\n=== 3. KIỂM TRA VLM CLIENT (OCR SERVICE) ===") try: ocr = OCRService() logger.info(f"Khởi tạo OCRService thành công. Đang kết nối tới: {ocr.vlm_url}") except Exception as e: logger.error(f"LỖI Khởi tạo OCR Service: {e}") logger.info("\n=== KIỂM TRA KIẾN TRÚC HOÀN TẤT ===") if __name__ == "__main__": run_tests()