from astrbot.core.utils.astrbot_path import get_astrbot_root from astrbot.core.utils.runtime_env import is_packaged_desktop_runtime def test_desktop_client_env_marks_desktop_runtime_without_frozen(monkeypatch): monkeypatch.setenv("ASTRBOT_DESKTOP_CLIENT", "1") monkeypatch.delattr("sys.frozen", raising=False) assert is_packaged_desktop_runtime() is True def test_desktop_client_uses_home_root_without_explicit_astrbot_root(monkeypatch): monkeypatch.setenv("ASTRBOT_DESKTOP_CLIENT", "1") monkeypatch.delenv("ASTRBOT_ROOT", raising=False) monkeypatch.delattr("sys.frozen", raising=False) assert get_astrbot_root().endswith(".astrbot") def test_explicit_astrbot_root_overrides_desktop_default(monkeypatch, tmp_path): explicit_root = tmp_path / "astrbot-root" monkeypatch.setenv("ASTRBOT_DESKTOP_CLIENT", "1") monkeypatch.setenv("ASTRBOT_ROOT", str(explicit_root)) monkeypatch.delattr("sys.frozen", raising=False) assert get_astrbot_root() == str(explicit_root.resolve())