|
| 1 | +import json |
1 | 2 | from typing import List, Optional, Any, Iterator |
2 | 3 | from unittest import mock |
3 | 4 | from unittest.mock import Mock, patch |
@@ -884,8 +885,6 @@ def test_langchain_message_role_mapping(sentry_init, capture_events): |
884 | 885 |
|
885 | 886 | # Parse the message data (might be JSON string) |
886 | 887 | if isinstance(messages_data, str): |
887 | | - import json |
888 | | - |
889 | 888 | try: |
890 | 889 | messages = json.loads(messages_data) |
891 | 890 | except json.JSONDecodeError: |
@@ -979,7 +978,13 @@ def test_langchain_message_truncation(sentry_init, capture_events): |
979 | 978 | large_content = ( |
980 | 979 | "This is a very long message that will exceed our size limits. " * 1000 |
981 | 980 | ) |
982 | | - prompts = [large_content, large_content, large_content, large_content] |
| 981 | + prompts = [ |
| 982 | + "small message 1", |
| 983 | + large_content, |
| 984 | + large_content, |
| 985 | + "small message 4", |
| 986 | + "small message 5", |
| 987 | + ] |
983 | 988 |
|
984 | 989 | with start_transaction(): |
985 | 990 | callback.on_llm_start( |
@@ -1020,8 +1025,9 @@ def test_langchain_message_truncation(sentry_init, capture_events): |
1020 | 1025 | messages_data = llm_span["data"][SPANDATA.GEN_AI_REQUEST_MESSAGES] |
1021 | 1026 | assert isinstance(messages_data, str) |
1022 | 1027 |
|
1023 | | - import json |
1024 | | - |
1025 | 1028 | parsed_messages = json.loads(messages_data) |
1026 | 1029 | assert isinstance(parsed_messages, list) |
1027 | | - assert len(parsed_messages) <= len(prompts) |
| 1030 | + assert len(parsed_messages) == 2 |
| 1031 | + assert "small message 4" in str(parsed_messages[0]) |
| 1032 | + assert "small message 5" in str(parsed_messages[1]) |
| 1033 | + assert tx["_meta"]["spans"]["0"]["data"]["gen_ai.request.messages"][""]["len"] == 5 |
0 commit comments