refactor: restructure to make sure the Bel agents are also part of BDI.

ref: N25B-257
This commit is contained in:
Björn Otgaar
2025-11-12 12:01:37 +01:00
parent dfebe6f772
commit 9365f109ab
17 changed files with 46 additions and 40 deletions

View File

@@ -4,10 +4,12 @@ from unittest.mock import AsyncMock, MagicMock, call
import pytest
from control_backend.agents.bdi_agents.behaviours.belief_setter import BeliefSetterBehaviour
from control_backend.agents.bdi_agents.bdi_core_agent.behaviours.belief_setter import (
BeliefSetterBehaviour,
)
# Define a constant for the collector agent name to use in tests
COLLECTOR_AGENT_NAME = "bel_collector_agent"
COLLECTOR_AGENT_NAME = "bdi_belief_collector_agent"
COLLECTOR_AGENT_JID = f"{COLLECTOR_AGENT_NAME}@test"
@@ -25,7 +27,8 @@ def belief_setter(mock_agent, mocker):
"""Fixture to create an instance of BeliefSetterBehaviour with a mocked agent."""
# Patch the settings to use a predictable agent name
mocker.patch(
"control_backend.agents.bdi_agents.behaviours.belief_setter.settings.agent_settings.bel_collector_agent_name",
"control_backend.agents.bdi_agents.bdi_core_agent."
"behaviours.belief_setter.settings.agent_settings.bdi_belief_collector_agent_name",
COLLECTOR_AGENT_NAME,
)
@@ -62,7 +65,7 @@ async def test_run_message_received(belief_setter, mocker):
belief_setter._process_message.assert_called_once_with(msg)
def test_process_message_from_bel_collector_agent(belief_setter, mocker):
def test_process_message_from_bdi_belief_collector_agent(belief_setter, mocker):
"""
Test processing a message from the correct belief collector agent.
"""

View File

@@ -3,7 +3,7 @@ from unittest.mock import AsyncMock, MagicMock
import pytest
from control_backend.agents.bel_agents.bel_collector_agent.behaviours.continuous_collect import (
from control_backend.agents.bdi_agents.bdi_belief_collector_agent.behaviours.continuous_collect import ( # noqa: E501
ContinuousBeliefCollector,
)
@@ -20,7 +20,7 @@ def create_mock_message(sender_node: str, body: str) -> MagicMock:
def mock_agent(mocker):
"""Fixture to create a mock Agent."""
agent = MagicMock()
agent.jid = "bel_collector_agent@test"
agent.jid = "bdi_belief_collector_agent@test"
return agent

View File

@@ -4,7 +4,7 @@ from unittest.mock import AsyncMock, MagicMock, patch
import pytest
from spade.message import Message
from control_backend.agents.bel_agents.bel_text_extract_agent.behaviours.text_belief_extractor import ( # noqa: E501, We can't shorten this import.
from control_backend.agents.bdi_agents.bdi_text_belief_agent.behaviours.text_belief_extractor import ( # noqa: E501, We can't shorten this import.
BeliefFromText,
)
@@ -18,14 +18,14 @@ def mock_settings():
# Create a mock object that mimics the nested structure
settings_mock = MagicMock()
settings_mock.agent_settings.per_transcription_agent_name = "transcriber"
settings_mock.agent_settings.bel_collector_agent_name = "collector"
settings_mock.agent_settings.bdi_belief_collector_agent_name = "collector"
settings_mock.agent_settings.host = "fake.host"
# Use patch to replace the settings object during the test
# Adjust 'control_backend.behaviours.belief_from_text.settings' to where
# your behaviour file imports it from.
with patch(
"control_backend.agents.bel_agents.bel_text_extract_agent.behaviours.text_belief_extractor.settings",
"control_backend.agents.bdi_agents.bdi_text_belief_agent.behaviours.text_belief_extractor.settings",
settings_mock,
):
yield settings_mock
@@ -122,7 +122,7 @@ async def test_run_message_from_transcriber_demo(behavior, mock_settings, monkey
assert (
sent_msg.to
== mock_settings.agent_settings.bel_collector_agent_name
== mock_settings.agent_settings.bdi_belief_collector_agent_name
+ "@"
+ mock_settings.agent_settings.host
)
@@ -162,7 +162,7 @@ async def test_process_transcription_success(behavior, mock_settings):
# 2. Inspect the sent message
sent_msg: Message = behavior.send.call_args[0][0]
expected_to = (
mock_settings.agent_settings.bel_collector_agent_name
mock_settings.agent_settings.bdi_belief_collector_agent_name
+ "@"
+ mock_settings.agent_settings.host
)