diff --git a/nodes/src/nodes/memory_persistent/IInstance.py b/nodes/src/nodes/memory_persistent/IInstance.py index 7d9f752a3..75d02ff4c 100644 --- a/nodes/src/nodes/memory_persistent/IInstance.py +++ b/nodes/src/nodes/memory_persistent/IInstance.py @@ -40,7 +40,7 @@ def writeQuestions(self, question: Question) -> None: store = self.IGlobal.store if store is None: self.instance.writeQuestions(question) - return + return self.preventDefault() # Deep copy to prevent mutation of the original question question = copy.deepcopy(question) @@ -63,7 +63,7 @@ def writeQuestions(self, question: Question) -> None: self._current_session_id = None debug(f'Ignoring invalid session_id in question metadata: {session_id!r}') self.instance.writeQuestions(question) - return + return self.preventDefault() # Load all keys from the session keys_result = store.list_keys(session_id) @@ -83,6 +83,7 @@ def writeQuestions(self, question: Question) -> None: # Forward the (possibly enriched) question downstream self.instance.writeQuestions(question) + return self.preventDefault() def writeAnswers(self, answer: Answer) -> None: """Store answer text in session memory for future retrieval, then forward. @@ -93,7 +94,7 @@ def writeAnswers(self, answer: Answer) -> None: store = self.IGlobal.store if store is None: self.instance.writeAnswers(answer) - return + return self.preventDefault() # Deep copy to prevent mutation answer = copy.deepcopy(answer) @@ -116,7 +117,7 @@ def writeAnswers(self, answer: Answer) -> None: except ValueError: debug(f'Ignoring invalid session_id in answer metadata: {session_id!r}') self.instance.writeAnswers(answer) - return + return self.preventDefault() # Store the answer text answer_text = answer.getText() if hasattr(answer, 'getText') else str(answer) @@ -129,3 +130,4 @@ def writeAnswers(self, answer: Answer) -> None: # Forward the answer downstream self.instance.writeAnswers(answer) + return self.preventDefault() diff --git a/nodes/test/memory_persistent/test_node.py b/nodes/test/memory_persistent/test_node.py index 4d19d51ac..2cb83f49a 100644 --- a/nodes/test/memory_persistent/test_node.py +++ b/nodes/test/memory_persistent/test_node.py @@ -802,6 +802,7 @@ def _make_instance(self, store=None): inst.IGlobal = MagicMock() inst.IGlobal.store = store inst.instance = MagicMock() + inst.preventDefault = MagicMock() return inst def test_write_questions_forwards_without_store(self): @@ -809,12 +810,14 @@ def test_write_questions_forwards_without_store(self): question = MagicMock() inst.writeQuestions(question) inst.instance.writeQuestions.assert_called_once() + inst.preventDefault.assert_called_once() def test_write_answers_forwards_without_store(self): inst = self._make_instance(store=None) answer = MagicMock() inst.writeAnswers(answer) inst.instance.writeAnswers.assert_called_once() + inst.preventDefault.assert_called_once() def test_write_questions_enriches_with_memory(self): store = PersistentMemoryStore(backend='memory') @@ -827,6 +830,7 @@ def test_write_questions_enriches_with_memory(self): inst.writeQuestions(question) inst.instance.writeQuestions.assert_called_once() + inst.preventDefault.assert_called_once() # The forwarded question should have memory_context forwarded = inst.instance.writeQuestions.call_args[0][0] @@ -854,6 +858,7 @@ def test_write_answers_stores_in_session(self): inst.writeAnswers(answer) inst.instance.writeAnswers.assert_called_once() + inst.preventDefault.assert_called_once() # Check that answer was stored result = store.get('test-sess', 'last_answer')