@@ -15,22 +15,16 @@ def test_human_message_serialization():
1515 serializer = JsonPlusRedisSerializer ()
1616 msg = HumanMessage (content = "What is the weather?" , id = "msg-1" )
1717
18- try :
19- # This would raise TypeError before the fix
20- serialized = serializer .dumps (msg )
21- print (f" ✓ Serialized to { len (serialized )} bytes" )
22-
23- # Deserialize
24- deserialized = serializer .loads (serialized )
25- assert isinstance (deserialized , HumanMessage )
26- assert deserialized .content == "What is the weather?"
27- assert deserialized .id == "msg-1"
28- print (f" ✓ Deserialized correctly: { deserialized .content } " )
18+ # This would raise TypeError before the fix
19+ serialized = serializer .dumps (msg )
20+ print (f" ✓ Serialized to { len (serialized )} bytes" )
2921
30- return True
31- except TypeError as e :
32- print (f" ✗ FAILED: { e } " )
33- return False
22+ # Deserialize
23+ deserialized = serializer .loads (serialized )
24+ assert isinstance (deserialized , HumanMessage )
25+ assert deserialized .content == "What is the weather?"
26+ assert deserialized .id == "msg-1"
27+ print (f" ✓ Deserialized correctly: { deserialized .content } " )
3428
3529
3630def test_all_message_types ():
@@ -45,16 +39,10 @@ def test_all_message_types():
4539 ]
4640
4741 for msg in messages :
48- try :
49- serialized = serializer .dumps (msg )
50- deserialized = serializer .loads (serialized )
51- assert type (deserialized ) == type (msg )
52- print (f" ✓ { type (msg ).__name__ } works" )
53- except Exception as e :
54- print (f" ✗ { type (msg ).__name__ } FAILED: { e } " )
55- return False
56-
57- return True
42+ serialized = serializer .dumps (msg )
43+ deserialized = serializer .loads (serialized )
44+ assert type (deserialized ) == type (msg )
45+ print (f" ✓ { type (msg ).__name__ } works" )
5846
5947
6048def test_message_list ():
@@ -68,19 +56,13 @@ def test_message_list():
6856 HumanMessage (content = "Question 2" ),
6957 ]
7058
71- try :
72- serialized = serializer .dumps (messages )
73- deserialized = serializer .loads (serialized )
74-
75- assert isinstance (deserialized , list )
76- assert len (deserialized ) == 3
77- assert all (isinstance (m , (HumanMessage , AIMessage )) for m in deserialized )
78- print (f" ✓ List of { len (deserialized )} messages works" )
59+ serialized = serializer .dumps (messages )
60+ deserialized = serializer .loads (serialized )
7961
80- return True
81- except Exception as e :
82- print ( f" ✗ FAILED: { e } " )
83- return False
62+ assert isinstance ( deserialized , list )
63+ assert len ( deserialized ) == 3
64+ assert all ( isinstance ( m , ( HumanMessage , AIMessage )) for m in deserialized )
65+ print ( f" ✓ List of { len ( deserialized ) } messages works" )
8466
8567
8668def test_nested_structure ():
@@ -96,20 +78,14 @@ def test_nested_structure():
9678 "step" : 1 ,
9779 }
9880
99- try :
100- serialized = serializer .dumps (state )
101- deserialized = serializer .loads (serialized )
102-
103- assert "messages" in deserialized
104- assert len (deserialized ["messages" ]) == 2
105- assert isinstance (deserialized ["messages" ][0 ], HumanMessage )
106- assert isinstance (deserialized ["messages" ][1 ], AIMessage )
107- print (f" ✓ Nested structure works" )
81+ serialized = serializer .dumps (state )
82+ deserialized = serializer .loads (serialized )
10883
109- return True
110- except Exception as e :
111- print (f" ✗ FAILED: { e } " )
112- return False
84+ assert "messages" in deserialized
85+ assert len (deserialized ["messages" ]) == 2
86+ assert isinstance (deserialized ["messages" ][0 ], HumanMessage )
87+ assert isinstance (deserialized ["messages" ][1 ], AIMessage )
88+ print (f" ✓ Nested structure works" )
11389
11490
11591def test_dumps_typed ():
@@ -119,21 +95,15 @@ def test_dumps_typed():
11995 serializer = JsonPlusRedisSerializer ()
12096 msg = HumanMessage (content = "Test" , id = "test-123" )
12197
122- try :
123- type_str , blob = serializer .dumps_typed (msg )
124- assert type_str == "json"
125- assert isinstance (blob , str )
126- print (f" ✓ dumps_typed returns: type='{ type_str } ', blob={ len (blob )} chars" )
127-
128- deserialized = serializer .loads_typed ((type_str , blob ))
129- assert isinstance (deserialized , HumanMessage )
130- assert deserialized .content == "Test"
131- print (f" ✓ loads_typed works correctly" )
98+ type_str , blob = serializer .dumps_typed (msg )
99+ assert type_str == "json"
100+ assert isinstance (blob , str )
101+ print (f" ✓ dumps_typed returns: type='{ type_str } ', blob={ len (blob )} chars" )
132102
133- return True
134- except Exception as e :
135- print ( f" ✗ FAILED: { e } " )
136- return False
103+ deserialized = serializer . loads_typed (( type_str , blob ))
104+ assert isinstance ( deserialized , HumanMessage )
105+ assert deserialized . content == "Test"
106+ print ( f" ✓ loads_typed works correctly" )
137107
138108
139109def test_backwards_compatibility ():
@@ -149,16 +119,10 @@ def test_backwards_compatibility():
149119 ]
150120
151121 for name , obj in test_cases :
152- try :
153- serialized = serializer .dumps (obj )
154- deserialized = serializer .loads (serialized )
155- assert deserialized == obj
156- print (f" ✓ { name } works" )
157- except Exception as e :
158- print (f" ✗ { name } FAILED: { e } " )
159- return False
160-
161- return True
122+ serialized = serializer .dumps (obj )
123+ deserialized = serializer .loads (serialized )
124+ assert deserialized == obj
125+ print (f" ✓ { name } works" )
162126
163127
164128def main ():
@@ -176,19 +140,25 @@ def main():
176140 test_backwards_compatibility ,
177141 ]
178142
179- results = []
143+ passed = 0
144+ failed = 0
180145 for test in tests :
181- results .append (test ())
146+ try :
147+ test ()
148+ passed += 1
149+ except Exception as e :
150+ print (f" ✗ { test .__name__ } FAILED: { e } " )
151+ failed += 1
182152
183153 print ("\n " + "=" * 70 )
184- print (f"Results: { sum ( results ) } /{ len (results )} tests passed" )
154+ print (f"Results: { passed } /{ len (tests )} tests passed" )
185155 print ("=" * 70 )
186156
187- if all ( results ) :
157+ if failed == 0 :
188158 print ("\n ✅ ALL TESTS PASSED - Fix is working correctly!" )
189159 return 0
190160 else :
191- print ("\n ❌ SOME TESTS FAILED - Fix may not be working" )
161+ print (f "\n ❌ { failed } TESTS FAILED - Fix may not be working" )
192162 return 1
193163
194164
0 commit comments