123456789101112131415161718192021222324252627282930313233 |
- from typing import Iterator, TypeAlias
- from unittest import mock
- import numpy as np
- import pytest
- from fastapi.testclient import TestClient
- from PIL import Image
- from .main import app, init_state
- ndarray: TypeAlias = np.ndarray[int, np.dtype[np.float32]]
- @pytest.fixture
- def pil_image() -> Image.Image:
- return Image.new("RGB", (600, 800))
- @pytest.fixture
- def cv_image(pil_image: Image.Image) -> ndarray:
- return np.asarray(pil_image)[:, :, ::-1] # PIL uses RGB while cv2 uses BGR
- @pytest.fixture
- def mock_get_model() -> Iterator[mock.Mock]:
- with mock.patch("app.models.cache.InferenceModel.from_model_type", autospec=True) as mocked:
- yield mocked
- @pytest.fixture(scope="session")
- def deployed_app() -> TestClient:
- init_state()
- return TestClient(app)
|