26 lines
667 B
Python
26 lines
667 B
Python
import base64
|
|
|
|
import pytest
|
|
|
|
from app.detector import MockDetector
|
|
|
|
# 1x1 透明 PNG
|
|
TINY_PNG = base64.b64decode(
|
|
"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
|
|
)
|
|
|
|
|
|
def test_mock_detector_returns_canned_detection():
|
|
det = MockDetector(class_name="sick", confidence=0.92)
|
|
result = det.detect(TINY_PNG)
|
|
assert len(result) == 1
|
|
assert result[0]["class_name"] == "sick"
|
|
assert result[0]["confidence"] == 0.92
|
|
assert result[0]["bbox"]["w"] > 0
|
|
|
|
|
|
def test_mock_detector_rejects_invalid_image():
|
|
det = MockDetector()
|
|
with pytest.raises(ValueError):
|
|
det.detect(b"not an image")
|