UT: Fix broken IslandMode tests
This commit is contained in:
parent
4e0f2c89ec
commit
fb2165b2e8
monkey/tests/unit_tests/monkey_island/cc/resources
|
@ -5,27 +5,26 @@ import pytest
|
||||||
from tests.common import StubDIContainer
|
from tests.common import StubDIContainer
|
||||||
from tests.monkey_island import InMemorySimulationRepository
|
from tests.monkey_island import InMemorySimulationRepository
|
||||||
|
|
||||||
|
from monkey_island.cc.event_queue import IIslandEventQueue
|
||||||
from monkey_island.cc.models import IslandMode
|
from monkey_island.cc.models import IslandMode
|
||||||
from monkey_island.cc.repository import RetrievalError
|
from monkey_island.cc.repository import ISimulationRepository
|
||||||
from monkey_island.cc.resources.island_mode import IslandMode as IslandModeResource
|
from monkey_island.cc.resources.island_mode import IslandMode as IslandModeResource
|
||||||
from monkey_island.cc.services import IslandModeService
|
|
||||||
|
|
||||||
|
|
||||||
class MockIslandModeService(IslandModeService):
|
|
||||||
def __init__(self):
|
|
||||||
self._simulation_repository = InMemorySimulationRepository()
|
|
||||||
|
|
||||||
def get_mode(self) -> IslandMode:
|
|
||||||
return self._simulation_repository.get_mode()
|
|
||||||
|
|
||||||
def set_mode(self, mode: IslandMode):
|
|
||||||
self._simulation_repository.set_mode(mode)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def flask_client(build_flask_client):
|
def flask_client(build_flask_client):
|
||||||
container = StubDIContainer()
|
container = StubDIContainer()
|
||||||
container.register_instance(IslandModeService, MockIslandModeService())
|
|
||||||
|
in_memory_simulation_repository = InMemorySimulationRepository()
|
||||||
|
container.register_instance(ISimulationRepository, in_memory_simulation_repository)
|
||||||
|
|
||||||
|
def wrap_in_memory_simulation_repository_set_mode(topic, event):
|
||||||
|
mode = event
|
||||||
|
in_memory_simulation_repository.set_mode(mode)
|
||||||
|
|
||||||
|
mock_island_event_queue = MagicMock(spec=IIslandEventQueue)
|
||||||
|
mock_island_event_queue.publish.side_effect = wrap_in_memory_simulation_repository_set_mode
|
||||||
|
container.register_instance(IIslandEventQueue, mock_island_event_queue)
|
||||||
|
|
||||||
with build_flask_client(container) as flask_client:
|
with build_flask_client(container) as flask_client:
|
||||||
yield flask_client
|
yield flask_client
|
||||||
|
@ -54,11 +53,7 @@ def test_island_mode_post__invalid_mode(flask_client):
|
||||||
|
|
||||||
|
|
||||||
def test_island_mode_post__internal_server_error(build_flask_client):
|
def test_island_mode_post__internal_server_error(build_flask_client):
|
||||||
mock_island_mode_service = MagicMock(spec=IslandModeService)
|
|
||||||
mock_island_mode_service.set_mode = MagicMock(side_effect=RetrievalError)
|
|
||||||
|
|
||||||
container = StubDIContainer()
|
container = StubDIContainer()
|
||||||
container.register_instance(IslandModeService, mock_island_mode_service)
|
|
||||||
|
|
||||||
with build_flask_client(container) as flask_client:
|
with build_flask_client(container) as flask_client:
|
||||||
resp = flask_client.put(
|
resp = flask_client.put(
|
||||||
|
|
Loading…
Reference in New Issue