@@ -629,66 +629,78 @@ def test_ensure_instance_exists(self, basic_durable_agent):
629629
630630 def test_process_user_message (self , basic_durable_agent ):
631631 """Test _process_user_message helper method."""
632+ from datetime import datetime , timezone
633+
632634 instance_id = "test-instance-123"
633635 task = "Hello, world!"
634636 user_message_copy = {"role" : "user" , "content" : "Hello, world!" }
635637
636- # Set up instance
637- basic_durable_agent .state ["instances" ][instance_id ] = {
638- "input" : "Test task" ,
639- "source" : "test_source" ,
640- "triggering_workflow_instance_id" : None ,
641- "workflow_instance_id" : instance_id ,
642- "workflow_name" : "AgenticWorkflow" ,
643- "status" : "RUNNING" ,
644- "messages" : [],
645- "tool_history" : [],
646- "end_time" : None ,
647- "trace_context" : None ,
648- }
638+ # Set up instance using AgentWorkflowEntry
639+ if not hasattr (basic_durable_agent ._state_model , 'instances' ):
640+ basic_durable_agent ._state_model .instances = {}
641+
642+ basic_durable_agent ._state_model .instances [instance_id ] = AgentWorkflowEntry (
643+ input_value = "Test task" ,
644+ source = "test_source" ,
645+ triggering_workflow_instance_id = None ,
646+ workflow_instance_id = instance_id ,
647+ workflow_name = "AgenticWorkflow" ,
648+ status = "RUNNING" ,
649+ messages = [],
650+ tool_history = [],
651+ end_time = None ,
652+ start_time = datetime .now (timezone .utc ),
653+ )
649654
650- # Mock memory.add_message
655+ # Mock memory.add_message and save_state
651656 with patch .object (type (basic_durable_agent .memory ), "add_message" ):
652- basic_durable_agent ._process_user_message (
653- instance_id , task , user_message_copy
654- )
657+ with patch .object (basic_durable_agent , 'save_state' ):
658+ basic_durable_agent ._process_user_message (
659+ instance_id , task , user_message_copy
660+ )
655661
656662 # Verify message was added to instance
657- instance_data = basic_durable_agent .state [ " instances" ] [instance_id ]
658- assert len (instance_data [ " messages" ] ) == 1
659- assert instance_data [ " messages" ] [0 ][ " role" ] == "user"
660- assert instance_data [ " messages" ] [0 ][ " content" ] == "Hello, world!"
661- assert instance_data [ " last_message" ][ " role" ] == "user"
663+ entry = basic_durable_agent ._state_model . instances [instance_id ]
664+ assert len (entry . messages ) == 1
665+ assert entry . messages [0 ]. role == "user"
666+ assert entry . messages [0 ]. content == "Hello, world!"
667+ assert entry . last_message . role == "user"
662668
663669 def test_save_assistant_message (self , basic_durable_agent ):
664670 """Test _save_assistant_message helper method."""
671+ from datetime import datetime , timezone
672+
665673 instance_id = "test-instance-123"
666674 assistant_message = {"role" : "assistant" , "content" : "Hello back!" }
667675
668- # Set up instance
669- basic_durable_agent .state ["instances" ][instance_id ] = {
670- "input" : "Test task" ,
671- "source" : "test_source" ,
672- "triggering_workflow_instance_id" : None ,
673- "workflow_instance_id" : instance_id ,
674- "workflow_name" : "AgenticWorkflow" ,
675- "status" : "RUNNING" ,
676- "messages" : [],
677- "tool_history" : [],
678- "end_time" : None ,
679- "trace_context" : None ,
680- }
676+ # Set up instance using AgentWorkflowEntry
677+ if not hasattr (basic_durable_agent ._state_model , 'instances' ):
678+ basic_durable_agent ._state_model .instances = {}
679+
680+ basic_durable_agent ._state_model .instances [instance_id ] = AgentWorkflowEntry (
681+ input_value = "Test task" ,
682+ source = "test_source" ,
683+ triggering_workflow_instance_id = None ,
684+ workflow_instance_id = instance_id ,
685+ workflow_name = "AgenticWorkflow" ,
686+ status = "RUNNING" ,
687+ messages = [],
688+ tool_history = [],
689+ end_time = None ,
690+ start_time = datetime .now (timezone .utc ),
691+ )
681692
682- # Mock memory.add_message
693+ # Mock memory.add_message and save_state
683694 with patch .object (type (basic_durable_agent .memory ), "add_message" ):
684- basic_durable_agent ._save_assistant_message (instance_id , assistant_message )
695+ with patch .object (basic_durable_agent , 'save_state' ):
696+ basic_durable_agent ._save_assistant_message (instance_id , assistant_message )
685697
686698 # Verify message was added to instance
687- instance_data = basic_durable_agent .state [ " instances" ] [instance_id ]
688- assert len (instance_data [ " messages" ] ) == 1
689- assert instance_data [ " messages" ] [0 ][ " role" ] == "assistant"
690- assert instance_data [ " messages" ] [0 ][ " content" ] == "Hello back!"
691- assert instance_data [ " last_message" ][ " role" ] == "assistant"
699+ entry = basic_durable_agent ._state_model . instances [instance_id ]
700+ assert len (entry . messages ) == 1
701+ assert entry . messages [0 ]. role == "assistant"
702+ assert entry . messages [0 ]. content == "Hello back!"
703+ assert entry . last_message . role == "assistant"
692704
693705 def test_get_last_message_from_state (self , basic_durable_agent ):
694706 """Test _get_last_message_from_state helper method."""
0 commit comments