Skip to content

Commit e2b7076

Browse files
committed
fix test_ovs_controller
1 parent 89132f7 commit e2b7076

File tree

2 files changed

+33
-20
lines changed

2 files changed

+33
-20
lines changed

simulation-system/libs/csle-common/tests/test_ossec_ids_controller.py

+32-19
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
import csle_common.constants.constants as constants
44
from unittest.mock import patch, MagicMock
55
from csle_common.dao.emulation_config.emulation_env_config import EmulationEnvConfig
6-
from csle_common.controllers.ossec_ids_controller import (
7-
OSSECIDSController,
8-
)
6+
from csle_common.controllers.ossec_ids_controller import OSSECIDSController
97

108

119
class TestOssecIdsSuite:
@@ -192,9 +190,7 @@ def test_start_ossec_idses_managers(self, mock_start_manager) -> None:
192190

193191
@patch("csle_common.util.emulation_util.EmulationUtil.connect_admin")
194192
@patch("csle_common.util.emulation_util.EmulationUtil.execute_ssh_cmd")
195-
def test_start_ossec_ids_manager(
196-
self, mock_execute_ssh_cmd, mock_connect_admin
197-
) -> None:
193+
def test_start_ossec_ids_manager(self, mock_execute_ssh_cmd, mock_connect_admin) -> None:
198194
"""
199195
Test method for starting the OSSEC IDS manager on a specific container
200196
@@ -205,6 +201,7 @@ def test_start_ossec_ids_manager(
205201
"""
206202
ip = "192.168.1.10"
207203
mock_execute_ssh_cmd.return_value = ("ossec_ids_manager running", "", 0)
204+
constants.COMMANDS.SEARCH_OSSEC_IDS_MANAGER = "ossec_ids_manager running"
208205
OSSECIDSController.start_ossec_ids_manager(
209206
emulation_env_config=self.emulation_env_config, ip=ip
210207
)
@@ -252,14 +249,24 @@ def test_stop_ossec_ids_manager(
252249
mock_execute_ssh_cmd.assert_called()
253250
mock_connect_admin.assert_called()
254251

255-
"""@patch("csle_common.controllers.ossec_ids_controller.OSSECIDSController.start_ossec_ids_monitor_thread")
256-
def test_start_ossec_idses_monitor_threads(self, mock_start_monitor) -> None:
257-
constants.CONTAINER_IMAGES = MagicMock()
252+
@patch("csle_common.controllers.ossec_ids_controller.OSSECIDSController.start_ossec_idses_managers")
253+
@patch("csle_common.controllers.ossec_ids_controller.OSSECIDSController.start_ossec_ids_monitor_thread")
254+
def test_start_ossec_idses_monitor_threads(self, mock_start_monitor, mock_start_managers) -> None:
255+
"""
256+
Unit test for the start_ossec_ids_monnitor_threads method of the OSSEC IDS controller
257+
258+
:param mock_start_monitor: mock of the start_monitor method
259+
:param mock_start_managers: mock of the start_managers method
260+
:return:
261+
"""
258262
constants.CONTAINER_IMAGES.OSSEC_IDS_IMAGES = ["container-1", "container-2"]
259263
physical_server_ip = "192.168.1.10"
260264
OSSECIDSController.start_ossec_idses_monitor_threads(emulation_env_config=self.emulation_env_config,
261-
physical_server_ip=physical_server_ip,logger=self.logger)
262-
assert mock_start_monitor.call_count == 2"""
265+
physical_server_ip=physical_server_ip,
266+
logger=self.logger)
267+
mock_start_managers.assert_called_once_with(emulation_env_config=self.emulation_env_config,
268+
physical_server_ip=physical_server_ip)
269+
assert mock_start_monitor.call_count == 2
263270

264271
@patch(
265272
"csle_common.controllers.ossec_ids_controller.OSSECIDSController.start_ossec_ids_manager"
@@ -303,7 +310,7 @@ def test_stop_ossec_ids_monitor_threads(self, mock_stop_monitor) -> None:
303310
an IDS to stop the monitor threads
304311
305312
:param mock_stop_monitor: _description_
306-
:type mock_stop_monitor: _type_
313+
:return: None
307314
"""
308315
constants.CONTAINER_IMAGES = MagicMock() # type: ignore
309316
constants.CONTAINER_IMAGES.OSSEC_IDS_IMAGES = ["container-1", "container-2"]
@@ -317,16 +324,21 @@ def test_stop_ossec_ids_monitor_threads(self, mock_stop_monitor) -> None:
317324
@patch(
318325
"csle_common.controllers.ossec_ids_controller.OSSECIDSController.start_ossec_ids_manager"
319326
)
320-
def test_stop_ossec_ids_monitor_thread(self, mock_start_manager) -> None:
327+
@patch("grpc.insecure_channel")
328+
def test_stop_ossec_ids_monitor_thread(
329+
self, mock_insecure_channel, mock_start_manager
330+
) -> None:
321331
"""
322332
Test a method that sends a request to the OSSECIDSManager for a specific IP to stop the monitor thread
323333
324334
:param mock_start_manager: mock start_manager
325-
335+
:param mock_insecure_channel: mock of the channel
326336
:return: None
327337
"""
338+
mock_channel = MagicMock()
339+
mock_insecure_channel.return_value.__enter__.return_value = mock_channel
328340
ip = "192.168.1.10"
329-
OSSECIDSController.start_ossec_ids_monitor_thread(
341+
OSSECIDSController.stop_ossec_ids_monitor_thread(
330342
emulation_env_config=self.emulation_env_config, ip=ip
331343
)
332344
mock_start_manager.assert_called_once_with(
@@ -336,17 +348,18 @@ def test_stop_ossec_ids_monitor_thread(self, mock_start_manager) -> None:
336348
@patch(
337349
"csle_common.controllers.ossec_ids_controller.OSSECIDSController.start_ossec_idses_managers"
338350
)
339-
def test_get_ossec_idses_monitor_threads_statuses(
340-
self, mock_start_managers
341-
) -> None:
351+
@patch("grpc.insecure_channel")
352+
def test_get_ossec_idses_monitor_threads_statuses(self, mock_insecure_channel, mock_start_managers) -> None:
342353
"""
343354
Test a method that sends a request to the OSSECIDSManager on every container to get the status of the
344355
IDS monitor thread
345356
346357
:param mock_start_manager: mock start_manager
347-
358+
:param mock_insecure_channel: mock of the channel
348359
:return: None
349360
"""
361+
mock_channel = MagicMock()
362+
mock_insecure_channel.return_value.__enter__.return_value = mock_channel
350363
physical_server_ip = "192.168.1.10"
351364
constants.CONTAINER_IMAGES = MagicMock() # type: ignore
352365
constants.CONTAINER_IMAGES.OSSEC_IDS_IMAGES = ["container-1", "container-2"]

simulation-system/libs/csle-common/tests/test_ovs_controller.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class TestOVSControllerSuite:
1212
"""
1313

1414
@pytest.fixture
15-
def mock_containers_config(self) -> None:
15+
def mock_containers_config(self) -> ContainersConfig:
1616
"""
1717
Test method that sets up OVS switches on containers
1818

0 commit comments

Comments
 (0)