Safety_Violation_CCTV_AI2 / tests /test_gradio.py
PrashanthB461's picture
Update tests/test_gradio.py
3da661b verified
import pytest
import gradio as gr
from app import process_image, initialize_model
import numpy as np
from PIL import Image
def test_initialize_model():
"""Test model initialization through Gradio interface"""
result = initialize_model()
assert isinstance(result, tuple), "Initialize model should return a tuple"
assert len(result) == 4, "Initialize model should return 4 values"
status_message = result[0]
assert isinstance(status_message, str), "Status message should be a string"
def test_process_image_no_model():
"""Test image processing without initialized model"""
# Reset global model to None
import app
app.yolo_model = None
# Create a dummy image
image = Image.fromarray(np.zeros((640, 640, 3), dtype=np.uint8))
result = process_image(image)
assert isinstance(result, tuple), "Process image should return a tuple"
assert len(result) == 4, "Process image should return 4 values"
output_image, output_text, pdf_file, violations = result
assert "not initialized" in output_text.lower(), "Should indicate model not initialized"
def test_process_image_no_input():
"""Test image processing with no image input"""
result = process_image(None)
assert isinstance(result, tuple), "Process image should return a tuple"
assert len(result) == 4, "Process image should return 4 values"
output_image, output_text, pdf_file, violations = result
assert "no image" in output_text.lower(), "Should indicate no image provided"