Skip to content

Commit 3a808eb

Browse files
committed
test(serializer): update standalone test for checkpoint 3.0 API
Convert all dumps/loads calls to dumps_typed/loads_typed. Update blob assertion to expect bytes instead of str.
1 parent 1fb37e4 commit 3a808eb

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

test_jsonplus_redis_serializer.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ def test_human_message_serialization():
1515
serializer = JsonPlusRedisSerializer()
1616
msg = HumanMessage(content="What is the weather?", id="msg-1")
1717

18-
# This would raise TypeError before the fix
19-
serialized = serializer.dumps(msg)
20-
print(f" ✓ Serialized to {len(serialized)} bytes")
18+
# Checkpoint 3.0: Use dumps_typed instead of dumps
19+
type_str, serialized = serializer.dumps_typed(msg)
20+
print(f" ✓ Serialized to {len(serialized)} bytes (type: {type_str})")
2121

2222
# Deserialize
23-
deserialized = serializer.loads(serialized)
23+
deserialized = serializer.loads_typed((type_str, serialized))
2424
assert isinstance(deserialized, HumanMessage)
2525
assert deserialized.content == "What is the weather?"
2626
assert deserialized.id == "msg-1"
@@ -39,8 +39,8 @@ def test_all_message_types():
3939
]
4040

4141
for msg in messages:
42-
serialized = serializer.dumps(msg)
43-
deserialized = serializer.loads(serialized)
42+
type_str, serialized = serializer.dumps_typed(msg)
43+
deserialized = serializer.loads_typed((type_str, serialized))
4444
assert type(deserialized) == type(msg)
4545
print(f" ✓ {type(msg).__name__} works")
4646

@@ -56,8 +56,8 @@ def test_message_list():
5656
HumanMessage(content="Question 2"),
5757
]
5858

59-
serialized = serializer.dumps(messages)
60-
deserialized = serializer.loads(serialized)
59+
type_str, serialized = serializer.dumps_typed(messages)
60+
deserialized = serializer.loads_typed((type_str, serialized))
6161

6262
assert isinstance(deserialized, list)
6363
assert len(deserialized) == 3
@@ -78,8 +78,8 @@ def test_nested_structure():
7878
"step": 1,
7979
}
8080

81-
serialized = serializer.dumps(state)
82-
deserialized = serializer.loads(serialized)
81+
type_str, serialized = serializer.dumps_typed(state)
82+
deserialized = serializer.loads_typed((type_str, serialized))
8383

8484
assert "messages" in deserialized
8585
assert len(deserialized["messages"]) == 2
@@ -97,8 +97,9 @@ def test_dumps_typed():
9797

9898
type_str, blob = serializer.dumps_typed(msg)
9999
assert type_str == "json"
100-
assert isinstance(blob, str)
101-
print(f" ✓ dumps_typed returns: type='{type_str}', blob={len(blob)} chars")
100+
# Checkpoint 3.0: blob is now bytes, not str
101+
assert isinstance(blob, bytes)
102+
print(f" ✓ dumps_typed returns: type='{type_str}', blob={len(blob)} bytes")
102103

103104
deserialized = serializer.loads_typed((type_str, blob))
104105
assert isinstance(deserialized, HumanMessage)
@@ -119,8 +120,8 @@ def test_backwards_compatibility():
119120
]
120121

121122
for name, obj in test_cases:
122-
serialized = serializer.dumps(obj)
123-
deserialized = serializer.loads(serialized)
123+
type_str, serialized = serializer.dumps_typed(obj)
124+
deserialized = serializer.loads_typed((type_str, serialized))
124125
assert deserialized == obj
125126
print(f" ✓ {name} works")
126127

0 commit comments

Comments
 (0)