bec/bec_server/tests/test_service_handler.py

62 lines
2.1 KiB
Python

import sys
from unittest import mock
from bec_server.service_handler import ServiceHandler
def test_service_handler():
bec_path = "/path/to/bec"
config_path = "/path/to/config"
with mock.patch("bec_server.service_handler.sys") as mock_sys:
mock_sys.platform = "linux"
service_handler = ServiceHandler(bec_path, config_path)
assert service_handler.interface == "tmux"
def test_service_handler_start():
bec_path = "/path/to/bec"
config_path = "/path/to/config"
with mock.patch("bec_server.service_handler.sys") as mock_sys:
mock_sys.platform = "linux"
service_handler = ServiceHandler(bec_path, config_path)
with mock.patch("bec_server.service_handler.tmux_start") as mock_tmux_start:
service_handler.start()
mock_tmux_start.assert_called_once_with(bec_path, config_path, service_handler.SERVICES)
def test_service_handler_stop():
with mock.patch("bec_server.service_handler.tmux_stop") as mock_tmux_stop:
service_handler = ServiceHandler("/path/to/bec", "/path/to/config")
service_handler.stop()
mock_tmux_stop.assert_called_once()
def test_service_handler_restart():
bec_path = "/path/to/bec"
config_path = "/path/to/config"
with mock.patch("bec_server.service_handler.sys") as mock_sys:
mock_sys.platform = "linux"
service_handler = ServiceHandler(bec_path, config_path)
with mock.patch("bec_server.service_handler.tmux_stop") as mock_tmux_stop:
with mock.patch("bec_server.service_handler.tmux_start") as mock_tmux_start:
service_handler.restart()
mock_tmux_stop.assert_called_once()
mock_tmux_start.assert_called_once_with(
bec_path, config_path, service_handler.SERVICES
)
def test_service_handler_services():
service_handler = ServiceHandler("/path/to/bec", "/path/to/config")
assert (
service_handler.SERVICES["scan_server"]["path"].substitute(base_path="/path/to/bec")
== "/path/to/bec/scan_server"
)
assert service_handler.SERVICES["scan_server"]["command"] == "bec-scan-server"