diff --git a/test/integrationtests/voight_kampff/features/environment.py b/test/integrationtests/voight_kampff/features/environment.py index 74afb2f47e0..a7554ec6ff9 100644 --- a/test/integrationtests/voight_kampff/features/environment.py +++ b/test/integrationtests/voight_kampff/features/environment.py @@ -38,6 +38,10 @@ def create_voight_kampff_logger(): class InterceptAllBusClient(MessageBusClient): + """Bus Client storing all messages recieved. + + This allows readback of older messages and non-event-driven operation. + """ def __init__(self): super().__init__() self.messages = [] @@ -46,12 +50,23 @@ def __init__(self): self._processed_messages = 0 def on_message(self, message): + """Extends normal operation by storing the recieved message. + + Args: + message (Message): message from the Mycroft bus + """ with self.message_lock: self.messages.append(Message.deserialize(message)) self.new_message_available.set() super().on_message(message) def get_messages(self, msg_type): + """Get messages from received list of messages. + + Args: + msg_type (None,str): string filter for messagetype to extract. + if None all messages will be returned. + """ with self.message_lock: self._processed_messages = len(self.messages) if msg_type is None: @@ -60,6 +75,11 @@ def get_messages(self, msg_type): return [m for m in self.messages if m.msg_type == msg_type] def remove_message(self, msg): + """Remove a specific message from the list of messages. + + Args: + msg (Message): message to remove from the list + """ with self.message_lock: if msg not in self.messages: raise ValueError(f'{msg} was not found in ' @@ -71,11 +91,13 @@ def remove_message(self, msg): self.messages.remove(msg) def clear_messages(self): + """Clear all messages that has been fetched atleast once.""" with self.message_lock: self.messages = self.messages[:self._processed_messages] self._processed_messages = 0 def clear_all_messages(self): + """Clear all messages.""" with self.message_lock: self.messages = [] self._processed_messages = 0