Files
Seg_Data_Server_Net/backend/tests/test_artifacts.py

36 lines
1.2 KiB
Python

from pathlib import Path
from fastapi.testclient import TestClient
from app.main import app
def test_project_var_artifact_path_is_served(tmp_path, monkeypatch):
from app import main
project_root = tmp_path / "project"
source_root = tmp_path / "source"
artifact = project_root / "var" / "uploads" / "datasets" / "case" / "labels" / "label.txt"
artifact.parent.mkdir(parents=True)
artifact.write_text("ok", encoding="utf-8")
source_root.mkdir()
original = main.settings
patched = type(original)(
project_root=project_root,
source_root=source_root,
db_path=original.db_path,
log_dir=original.log_dir,
weights_root=original.weights_root,
task_conda_env=original.task_conda_env,
mmseg_conda_env=original.mmseg_conda_env,
backend_conda_env=original.backend_conda_env,
weight_mode=original.weight_mode,
enable_shell_tasks=original.enable_shell_tasks,
)
monkeypatch.setattr(main, "settings", patched)
response = TestClient(app).get("/api/artifacts/var/uploads/datasets/case/labels/label.txt")
assert response.status_code == 200
assert response.text == "ok"