Skip to content

Commit 5425279

Browse files
committed
Island: Fix logic error in AgentSignalsService
Issue #2817 PR #3065
1 parent 90fd53d commit 5425279

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

monkey/monkey_island/cc/services/agent_signals_service.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def _agent_is_first_to_register(self, agent: Agent) -> bool:
5151
first_to_register = min(
5252
agents_on_same_machine, key=lambda a: a.registration_time, default=agent
5353
)
54-
return agent is first_to_register
54+
return agent.id == first_to_register.id
5555

5656
def _agents_running_on_machine(self, machine_id: MachineID):
5757
return [

monkey/tests/unit_tests/monkey_island/cc/services/test_agent_signals_service.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from copy import copy
12
from unittest.mock import MagicMock
23
from uuid import UUID
34

@@ -67,15 +68,15 @@ def mock_agent_repository() -> IAgentRepository:
6768
def get_agent_by_id(agent_id: AgentID) -> Agent:
6869
for agent in ALL_AGENTS:
6970
if agent.id == agent_id:
70-
return agent
71+
return copy(agent)
7172

7273
raise UnknownRecordError(str(agent_id))
7374

7475
agent_repository = MagicMock(spec=IAgentRepository)
75-
agent_repository.get_progenitor = MagicMock(return_value=AGENT_1)
76+
agent_repository.get_progenitor = MagicMock(return_value=copy(AGENT_1))
7677
agent_repository.get_agent_by_id = MagicMock(side_effect=get_agent_by_id)
7778
agent_repository.get_running_agents = MagicMock(
78-
return_value=[a for a in ALL_AGENTS if a.stop_time is None]
79+
return_value=[copy(a) for a in ALL_AGENTS if a.stop_time is None]
7980
)
8081

8182
return agent_repository

0 commit comments

Comments
 (0)