@@ -96,3 +96,32 @@ def test_structured_output(model):
96
96
response = model .structured_output (Person )
97
97
98
98
assert response == Person (name = "test" , age = 20 )
99
+
100
+
101
+ def test_converse_logging (model , messages , tool_specs , system_prompt , caplog ):
102
+ """Test that converse method logs the formatted request at debug level."""
103
+ import logging
104
+
105
+ # Set the logger to debug level to capture debug messages
106
+ caplog .set_level (logging .DEBUG , logger = "strands.types.models.model" )
107
+
108
+ # Execute the converse method
109
+ response = model .converse (messages , tool_specs , system_prompt )
110
+ list (response ) # Consume the generator to trigger all logging
111
+
112
+ # Check that the expected log messages are present
113
+ assert "formatting request" in caplog .text
114
+ assert "formatted request=" in caplog .text
115
+ assert "invoking model" in caplog .text
116
+ assert "got response from model" in caplog .text
117
+ assert "finished streaming response from model" in caplog .text
118
+
119
+ # Check that the formatted request is logged with the expected content
120
+ expected_request_str = str (
121
+ {
122
+ "messages" : messages ,
123
+ "tool_specs" : tool_specs ,
124
+ "system_prompt" : system_prompt ,
125
+ }
126
+ )
127
+ assert expected_request_str in caplog .text
0 commit comments