Files
gpu-rent/tests/test_access_card.py
T
Leonid Pershin 79cb0a7e25 Enhance error handling and state management in access card and session modules
- Updated the `render_access_panel` function to conditionally hide LLM errors when the Ollama model is operational, improving user experience by reducing unnecessary error visibility.
- Introduced a new `_notes_from_disk` function to streamline the retrieval of notes from disk, enhancing state management during GPU environment checks.
- Refactored error handling in the `_bind_access` function to ensure that stack and GPU environment errors are accurately recorded and managed, improving robustness in session state updates.
- Added tests to validate the new behavior of error handling and state management, ensuring that LLM errors are appropriately suppressed when conditions are met.
2026-08-21 20:20:49 +03:00

69 lines
2.1 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
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"
def test_access_panel_hides_stale_llm_error_when_ollama_ok(monkeypatch):
monkeypatch.setattr(
"gpu_rent.access_card.load_state",
lambda: type(
"S",
(),
{
"notes": {
"llm_error": "Ollama /api/tags без моделей",
"stack_vm": [
{
"name": "ollama",
"ok": True,
"detail": "1 models (huihui_ai/qwen2.5-vl-abliterated:7b)",
}
],
}
},
)(),
)
panel = render_access_panel(_Cfg(), tunneled=True)
assert panel.border_style != "red"