summaryrefslogtreecommitdiff
path: root/tests/conftest.py
blob: e4a7c4bddbc1d4da37791a449f5a975d033e505b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from __future__ import annotations

import base64
import io
from pathlib import Path

import pytest
from PIL import Image

from mcp_sd15.config import (
    AppConfig,
    ControlModelConfig,
    ControlNetConfig,
    GenerationConfig,
    ModelConfig,
    OutputConfig,
    PromptConfig,
    ServerConfig,
)


@pytest.fixture
def app_config(tmp_path: Path) -> AppConfig:
    return AppConfig(
        model=ModelConfig(tmp_path, "base.safetensors", None, ()),
        generation=GenerationConfig(),
        controlnet=ControlNetConfig(
            depth=ControlModelConfig(True, "depth.safetensors", "midas"),
            openpose=ControlModelConfig(True, "pose.safetensors"),
            inpaint=ControlModelConfig(True, "inpaint.safetensors"),
        ),
        output=OutputConfig(tmp_path / "outputs", False),
        server=ServerConfig(),
        prompt=PromptConfig(),
    )


@pytest.fixture
def image_base64() -> str:
    output = io.BytesIO()
    Image.new("RGB", (8, 8), "blue").save(output, format="PNG")
    return base64.b64encode(output.getvalue()).decode("ascii")