File size: 2,056 Bytes
b46d0f8 4576e13 b46d0f8 5b38545 4576e13 1f36bcf | 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | 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)
|