cora / tests /verify_system.py
tokgae's picture
Upload folder using huggingface_hub
38ab39c verified
import asyncio
import io
import time
import requests
import uvicorn
import threading
from PIL import Image
from cora_engine import CoraEngine
from fastapi.testclient import TestClient
from api import app
def create_dummy_image():
img = Image.new('RGB', (100, 100), color = 'white')
return img
def test_engine_logic():
print("\n--- Testing CoraEngine ---")
try:
engine = CoraEngine()
if not engine.client:
print("FAIL: Engine initialized/HuggingFace Client missing (Check .env)")
return False
print("PASS: Engine Initialized")
# Test Resizing
big_img = Image.new('RGB', (2000, 2000), color='white')
resized = engine.resize_image(big_img, max_size=1024)
if resized.size != (1024, 1024):
print(f"FAIL: Resize logic incorrect. Got {resized.size}")
return False
print("PASS: Resize Logic")
return True
except Exception as e:
print(f"FAIL: Engine Error - {e}")
return False
def test_api_logic():
print("\n--- Testing API (TestClient) ---")
client = TestClient(app)
# 1. Health Check
try:
response = client.get("/health")
if response.status_code == 200 and response.json().get("status") == "online":
print("PASS: /health endpoint")
else:
print(f"FAIL: /health endpoint - {response.json()}")
except Exception as e:
print(f"FAIL: API Error - {e}")
if __name__ == "__main__":
img = create_dummy_image()
if test_engine_logic():
test_api_logic()
else:
print("Skipping API test due to Engine failure.")