19 lines
863 B
Python
19 lines
863 B
Python
from src.llm_models.payload_content.message import MessageBuilder, RoleType
|
|
from src.plugin_runtime.hook_payloads import deserialize_prompt_messages, serialize_prompt_messages
|
|
|
|
|
|
def test_prompt_messages_roundtrip_preserves_image_parts() -> None:
|
|
messages = [
|
|
MessageBuilder().set_role(RoleType.User).add_text_content("你好").add_image_content("png", "ZmFrZQ==").build(),
|
|
]
|
|
|
|
serialized_messages = serialize_prompt_messages(messages)
|
|
restored_messages = deserialize_prompt_messages(serialized_messages)
|
|
|
|
assert len(restored_messages) == 1
|
|
assert restored_messages[0].role == RoleType.User
|
|
assert restored_messages[0].get_text_content() == "你好"
|
|
assert len(restored_messages[0].parts) == 2
|
|
assert restored_messages[0].parts[1].image_format == "png"
|
|
assert restored_messages[0].parts[1].image_base64 == "ZmFrZQ=="
|