-
Notifications
You must be signed in to change notification settings - Fork 238
Expand file tree
/
Copy pathtest_util.py
More file actions
69 lines (44 loc) · 2.11 KB
/
test_util.py
File metadata and controls
69 lines (44 loc) · 2.11 KB
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
69
"""Tests for utility functions in tmux."""
import pytest
from tmuxp import exc
from tmuxp.exc import BeforeLoadScriptError, BeforeLoadScriptNotExists
from tmuxp.util import get_session, run_before_script
from .constants import FIXTURE_PATH
def test_raise_BeforeLoadScriptNotExists_if_not_exists():
script_file = FIXTURE_PATH / "script_noexists.sh"
with pytest.raises(BeforeLoadScriptNotExists):
run_before_script(script_file)
with pytest.raises(OSError):
run_before_script(script_file)
def test_raise_BeforeLoadScriptError_if_retcode():
script_file = FIXTURE_PATH / "script_failed.sh"
with pytest.raises(BeforeLoadScriptError):
run_before_script(script_file)
def test_return_stdout_if_ok(capsys: pytest.CaptureFixture[str]):
script_file = FIXTURE_PATH / "script_complete.sh"
run_before_script(script_file)
out, err = capsys.readouterr()
assert "hello" in out
def test_beforeload_returncode():
script_file = FIXTURE_PATH / "script_failed.sh"
with pytest.raises(exc.BeforeLoadScriptError) as excinfo:
run_before_script(script_file)
assert excinfo.match(r"113")
def test_beforeload_returns_stderr_messages():
script_file = FIXTURE_PATH / "script_failed.sh"
with pytest.raises(exc.BeforeLoadScriptError) as excinfo:
run_before_script(script_file)
assert excinfo.match(r"failed with returncode")
def test_get_session_should_default_to_local_attached_session(server, monkeypatch):
server.new_session(session_name="myfirstsession")
second_session = server.new_session(session_name="mysecondsession")
# Assign an active pane to the session
first_pane_on_second_session_id = second_session.list_windows()[0].list_panes()[0][
"pane_id"
]
monkeypatch.setenv("TMUX_PANE", first_pane_on_second_session_id)
assert get_session(server) == second_session
def test_get_session_should_return_first_session_if_no_active_session(server):
first_session = server.new_session(session_name="myfirstsession")
server.new_session(session_name="mysecondsession")
assert get_session(server) == first_session