Scriptorium / tests /test_app_startup.py
Codex
Fix Modal deployment and Magpie runtime integration
1f36bcf
Raw
History Blame Contribute Delete
2.06 kB
import importlib
import sys
from types import SimpleNamespace
import gradio as gr
def test_app_module_exposes_top_level_server_demo() -> None:
sys.modules.pop("app", None)
module = importlib.import_module("app")
assert isinstance(module.app, gr.Server)
assert hasattr(module, "demo")
assert isinstance(module.demo, gr.Blocks)
assert module.demo.mode == "server"
def test_launch_app_disables_ssr_for_custom_server_mode(monkeypatch) -> None:
sys.modules.pop("app", None)
module = importlib.import_module("app")
captured = {}
def fake_launch(**kwargs):
captured.update(kwargs)
monkeypatch.setattr(module.demo, "launch", fake_launch)
module._launch_app(7860)
assert captured["server_name"] == "0.0.0.0"
assert captured["server_port"] == 7860
assert captured["ssr_mode"] is False
assert captured["_app"] is module.app
def test_app_import_warns_for_modal_dashboard_url(monkeypatch) -> None:
sys.modules.pop("app", None)
printed = []
monkeypatch.setenv(
"SCRIPTORIUM_MODAL_BASE_URL",
"https://modal.com/apps/mattkevan/main/deployed/scriptorium-tts",
)
monkeypatch.setattr("builtins.print", lambda *args, **kwargs: printed.append(" ".join(str(arg) for arg in args)))
importlib.import_module("app")
assert any("SCRIPTORIUM_MODAL_BASE_URL" in line for line in printed)
assert any("modal.run" in line for line in printed)
def test_app_import_reports_modal_runtime_configuration(monkeypatch) -> None:
sys.modules.pop("app", None)
printed = []
monkeypatch.setenv(
"SCRIPTORIUM_MODAL_BASE_URL",
"https://scriptorium-tts--mattkevan.modal.run",
)
monkeypatch.setenv("SCRIPTORIUM_MODAL_TIMEOUT_SECONDS", "300")
monkeypatch.setattr("builtins.print", lambda *args, **kwargs: printed.append(" ".join(str(arg) for arg in args)))
importlib.import_module("app")
assert any("Modal backend configured" in line for line in printed)
assert any("timeout=300.0s" in line for line in printed)