File size: 1,966 Bytes
06c11b0 bcecf76 06c11b0 bcecf76 06c11b0 bcecf76 06c11b0 bcecf76 06c11b0 6a155d5 06c11b0 6a155d5 06c11b0 bcecf76 06c11b0 bcecf76 06c11b0 bcecf76 | 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 | from __future__ import annotations
import pytest
class _FakeSession:
def __init__(self, available=True):
self.raw_solve_options = [{"available": available}]
def test_precheck_execute_inputs_requires_action(monkeypatch, reload_module):
config = reload_module("config")
callbacks = reload_module("gradio_callbacks")
monkeypatch.setattr(callbacks, "get_session", lambda uid: _FakeSession(available=False))
with pytest.raises(Exception) as excinfo:
callbacks.precheck_execute_inputs("uid-1", None, config.UI_TEXT["coords"]["not_needed"])
assert config.UI_TEXT["log"]["execute_missing_action"] in str(excinfo.value)
def test_precheck_execute_inputs_requires_coords_when_option_needs_it(monkeypatch, reload_module):
config = reload_module("config")
callbacks = reload_module("gradio_callbacks")
monkeypatch.setattr(callbacks, "get_session", lambda uid: _FakeSession(available=True))
with pytest.raises(Exception) as excinfo:
callbacks.precheck_execute_inputs(
"uid-1", 0, config.UI_TEXT["coords"]["select_point"]
)
assert config.UI_TEXT["coords"]["select_point_before_execute"] in str(excinfo.value)
def test_precheck_execute_inputs_accepts_valid_coords(monkeypatch, reload_module):
reload_module("config")
callbacks = reload_module("gradio_callbacks")
monkeypatch.setattr(callbacks, "get_session", lambda uid: _FakeSession(available=True))
result = callbacks.precheck_execute_inputs("uid-1", 0, "11, 22")
assert result is None
def test_precheck_execute_inputs_session_error(monkeypatch, reload_module):
config = reload_module("config")
callbacks = reload_module("gradio_callbacks")
monkeypatch.setattr(callbacks, "get_session", lambda uid: None)
with pytest.raises(Exception) as excinfo:
callbacks.precheck_execute_inputs("uid-missing", 0, "1, 2")
assert config.UI_TEXT["log"]["session_error"] in str(excinfo.value)
|