From 3caa22dd92de2a307dff74fbfe98289ad05ada9f Mon Sep 17 00:00:00 2001 From: Tomuta Gabriel Date: Thu, 5 Feb 2026 10:25:49 +0200 Subject: [PATCH 1/2] Redirect initial event into the queue --- ankaios_sdk/ankaios.py | 2 ++ tests/test_ankaios.py | 1 + 2 files changed, 3 insertions(+) diff --git a/ankaios_sdk/ankaios.py b/ankaios_sdk/ankaios.py index ad77075..e11a316 100644 --- a/ankaios_sdk/ankaios.py +++ b/ankaios_sdk/ankaios.py @@ -1240,6 +1240,8 @@ def register_event( raise AnkaiosResponseError(f"Received error: {content}") if content_type == ResponseType.COMPLETE_STATE: self.logger.info("Event registered successfully, state received.") + initial_entry = EventEntry(content, [], [], []) + event_queue.add_event(initial_entry) self._events_callbacks[request.get_id()] = event_queue.add_event return event_queue raise AnkaiosProtocolException("Received unexpected content type.") diff --git a/tests/test_ankaios.py b/tests/test_ankaios.py index c9ae0e7..73ce2e7 100644 --- a/tests/test_ankaios.py +++ b/tests/test_ankaios.py @@ -1067,6 +1067,7 @@ def test_register_events(): request = mock_send_request.call_args[0][0] assert isinstance(events_queue, EventQueue) assert len(ankaios._events_callbacks) == 1 + assert events_queue.qsize() == 1 # Initial event # pylint: disable=comparison-with-callable assert ( ankaios._events_callbacks[request.get_id()] From 7be769b1cdaebbcd2c7f31c2614ca91bc8c067ba Mon Sep 17 00:00:00 2001 From: Tomuta Gabriel Date: Thu, 5 Feb 2026 13:00:11 +0200 Subject: [PATCH 2/2] Remove complete_state attribute from event entry --- ankaios_sdk/_components/event_campaign.py | 19 ------------------- ankaios_sdk/ankaios.py | 4 ++-- tests/test_ankaios.py | 2 +- tests/test_event_campaign.py | 6 ++---- 4 files changed, 5 insertions(+), 26 deletions(-) diff --git a/ankaios_sdk/_components/event_campaign.py b/ankaios_sdk/_components/event_campaign.py index a4b3684..3763ec3 100644 --- a/ankaios_sdk/_components/event_campaign.py +++ b/ankaios_sdk/_components/event_campaign.py @@ -26,12 +26,6 @@ Usage ----- -- Check current state of the followed fields: - .. code-block:: python - - event_queue: EventQueue - current_state = event_queue.complete_state - - Get the events out of the queue: .. code-block:: python @@ -44,8 +38,6 @@ from queue import Queue from .request import EventsRequest -from .response import EventEntry -from .complete_state import CompleteState class EventQueue(Queue): @@ -66,15 +58,4 @@ def __init__( request_id (str): The request id of the event campaign. """ super().__init__() - self.complete_state: CompleteState = None self._request_id = request_id - - def add_event(self, event: EventEntry) -> None: - """ - Adds an event to the queue and updates the known complete state. - - Args: - event (EventEntry): The event to be added to the queue. - """ - self.complete_state = event.complete_state - self.put(event) diff --git a/ankaios_sdk/ankaios.py b/ankaios_sdk/ankaios.py index e11a316..40b7452 100644 --- a/ankaios_sdk/ankaios.py +++ b/ankaios_sdk/ankaios.py @@ -1241,8 +1241,8 @@ def register_event( if content_type == ResponseType.COMPLETE_STATE: self.logger.info("Event registered successfully, state received.") initial_entry = EventEntry(content, [], [], []) - event_queue.add_event(initial_entry) - self._events_callbacks[request.get_id()] = event_queue.add_event + event_queue.put(initial_entry) + self._events_callbacks[request.get_id()] = event_queue.put return event_queue raise AnkaiosProtocolException("Received unexpected content type.") diff --git a/tests/test_ankaios.py b/tests/test_ankaios.py index 73ce2e7..326df32 100644 --- a/tests/test_ankaios.py +++ b/tests/test_ankaios.py @@ -1071,7 +1071,7 @@ def test_register_events(): # pylint: disable=comparison-with-callable assert ( ankaios._events_callbacks[request.get_id()] - == events_queue.add_event + == events_queue.put ) mock_send_request.assert_called_once() ankaios.logger.info.assert_called() diff --git a/tests/test_event_campaign.py b/tests/test_event_campaign.py index 42f0525..1802a8a 100644 --- a/tests/test_event_campaign.py +++ b/tests/test_event_campaign.py @@ -48,15 +48,13 @@ def test_events_queue(): Test the queue functionality. """ events_queue = EventQueue(EventsRequest(masks=["field1"])) - complete_state = CompleteState(_proto=COMPLETE_STATE_PROTO) - event_entry = generate_test_event_entry(complete_state=complete_state) - events_queue.add_event(event_entry) + event_entry = generate_test_event_entry() + events_queue.put(event_entry) assert events_queue.empty() is False entry = events_queue.get() assert isinstance(entry, EventEntry) assert entry == event_entry - assert events_queue.complete_state == complete_state assert ( str(entry) == "Event:\n Added fields: ['field1']\n "