- Updated CLI documentation to reflect the new handling of `CIVITAI_API_TOKEN`, which is now automatically passed to SwarmUI user settings during startup. - Improved the `render_access_panel` function to include additional warnings for idle-killer failures and stack errors, enhancing user feedback. - Introduced a new function `seed_swarmui_api_keys` to manage API key injection into SwarmUI, ensuring seamless integration with the Model Downloader. - Enhanced GPU environment verification logic to include fail-fast checks for critical components like CUDA, improving error handling and user notifications. - Updated tests to validate the new API key handling and access panel behavior, ensuring robustness in the integration process.
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
from gpu_rent.access_card import collect_access_links, mcp_snippet_lines, render_access_panel
|
|
|
|
|
|
class _Cfg:
|
|
swarmui_local_port = 17801
|
|
llm_runtime = "ollama"
|
|
ollama_local_port = 17811
|
|
llamacpp_local_port = 17812
|
|
enable_swarmui = True
|
|
|
|
|
|
def test_collect_links_swarm_and_ollama(monkeypatch):
|
|
monkeypatch.setattr(
|
|
"gpu_rent.access_card.load_state",
|
|
lambda: type("S", (), {"notes": {"llm_runtime": "ollama"}})(),
|
|
)
|
|
links = collect_access_links(_Cfg(), tunneled=True)
|
|
labels = [x.label for x in links]
|
|
assert "SwarmUI UI" in labels
|
|
assert "SwarmUI MCP" in labels
|
|
assert "Ollama API" in labels
|
|
assert any("17811" in x.url for x in links)
|
|
|
|
|
|
def test_collect_links_no_tunnel():
|
|
links = collect_access_links(_Cfg(), tunneled=False)
|
|
assert links[0].url.startswith("gpu-rent tunnel")
|
|
|
|
|
|
def test_mcp_snippet_json():
|
|
lines = mcp_snippet_lines(_Cfg())
|
|
assert any("17801/mcp" in line for line in lines)
|
|
|
|
|
|
def test_access_panel_red_when_killer_failed(monkeypatch):
|
|
monkeypatch.setattr(
|
|
"gpu_rent.access_card.load_state",
|
|
lambda: type(
|
|
"S",
|
|
(),
|
|
{"notes": {"idle_killer": "failed", "idle_killer_error": "no cred"}},
|
|
)(),
|
|
)
|
|
panel = render_access_panel(_Cfg(), tunneled=True)
|
|
assert panel.border_style == "red"
|