Skip to content

Commit 80d7b92

Browse files
authored
Merge pull request #367 from Limmen/flags-controller
flags_controller unit test
2 parents 69edd80 + ac50780 commit 80d7b92

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import logging
2+
from unittest.mock import MagicMock, patch
3+
from csle_common.controllers.flags_controller import FlagsController
4+
from csle_common.dao.emulation_config.emulation_env_config import EmulationEnvConfig
5+
from csle_common.dao.emulation_config.node_flags_config import NodeFlagsConfig
6+
from csle_common.dao.emulation_config.flag import Flag
7+
8+
9+
class TestFlagsControllerSuite:
10+
"""
11+
Test suite for flags controller
12+
"""
13+
14+
@patch("csle_common.util.emulation_util.EmulationUtil.connect_admin")
15+
@patch("csle_common.util.emulation_util.EmulationUtil.execute_ssh_cmd")
16+
@patch("csle_common.util.emulation_util.EmulationUtil.disconnect_admin")
17+
def test_create_flags(
18+
self, mock_disconnect_admin, mock_execute_ssh_cmd, mock_connect_admin
19+
) -> None:
20+
"""
21+
Test case for creating flags using the FlagsController
22+
23+
:param mock_disconnect_admin: Mocked disconnect_admin method
24+
:param mock_execute_ssh_cmd: Mocked execute_ssh_cmd method
25+
:param mock_connect_admin: Mocked connect_admin
26+
"""
27+
emulation_env_config = MagicMock(spec=EmulationEnvConfig)
28+
flags_config = MagicMock()
29+
emulation_env_config.flags_config = flags_config
30+
flags_config.node_flag_configs = [
31+
NodeFlagsConfig(
32+
ip="10.0.0.1",
33+
docker_gw_bridge_ip="172.17.0.1",
34+
physical_host_ip="192.168.0.1",
35+
flags=[
36+
Flag(name="flag1", dir="/dir1", id=1, path="/path/to/flag1"),
37+
Flag(name="flag2", dir="/dir2", id=2, path="/path/to/flag2"),
38+
],
39+
),
40+
]
41+
logger = MagicMock(spec=logging.Logger)
42+
physical_server_ip = "192.168.0.1"
43+
FlagsController.create_flags(emulation_env_config, physical_server_ip, logger)
44+
mock_connect_admin.assert_called_once_with(
45+
emulation_env_config=emulation_env_config, ip="172.17.0.1"
46+
)
47+
mock_disconnect_admin.assert_called_once_with(
48+
emulation_env_config=emulation_env_config
49+
)
50+
mock_execute_ssh_cmd.assert_called()

0 commit comments

Comments
 (0)