mirror of
https://github.com/ivan-usov-org/bec.git
synced 2025-04-22 02:20:02 +02:00
48 lines
1.8 KiB
Python
48 lines
1.8 KiB
Python
from string import Template
|
|
from unittest import mock
|
|
|
|
from bec_server.tmux_launch import tmux_start, tmux_stop
|
|
|
|
|
|
def test_tmux_start():
|
|
with mock.patch("bec_server.tmux_launch.libtmux") as mock_libtmux_server:
|
|
tmux_start(
|
|
"/path/to/bec",
|
|
"/path/to/config",
|
|
{
|
|
"scan_server": {
|
|
"path": Template("$base_path/scan_server"),
|
|
"command": "bec-scan-server",
|
|
},
|
|
"scan_bundler": {
|
|
"path": Template("$base_path/scan_bundler"),
|
|
"command": "bec-scan-bundler",
|
|
},
|
|
},
|
|
)
|
|
mock_libtmux_server.Server().new_session.assert_called_once_with(
|
|
"bec", window_name="BEC server. Use `ctrl+b d` to detach.", kill_session=True
|
|
)
|
|
assert (
|
|
mock_libtmux_server.Server().new_session().attached_window.select_layout.call_count == 2
|
|
)
|
|
|
|
assert mock_libtmux_server.Server().new_session().set_option.call_count == 1
|
|
assert mock_libtmux_server.Server().new_session().set_option.call_args[0][0] == "mouse"
|
|
assert mock_libtmux_server.Server().new_session().set_option.call_args[0][1] == "on"
|
|
|
|
|
|
def test_tmux_stop_without_sessions():
|
|
with mock.patch("bec_server.tmux_launch.libtmux") as mock_libtmux_server:
|
|
mock_libtmux_server.Server().sessions.filter.return_value = []
|
|
tmux_stop()
|
|
mock_libtmux_server.Server().kill_server.assert_not_called()
|
|
|
|
|
|
def test_tmux_stop_with_sessions():
|
|
session = mock.MagicMock()
|
|
with mock.patch("bec_server.tmux_launch.libtmux") as mock_libtmux_server:
|
|
mock_libtmux_server.Server().sessions.filter.return_value = [session]
|
|
tmux_stop()
|
|
session.kill_session.assert_called_once()
|