diff --git a/python/packages/core/agent_framework/_types.py b/python/packages/core/agent_framework/_types.py index 87799d0848..9493ce7ba0 100644 --- a/python/packages/core/agent_framework/_types.py +++ b/python/packages/core/agent_framework/_types.py @@ -125,6 +125,8 @@ def detect_media_type_from_base64( if data_str is not None: if data is not None: raise ValueError("Provide exactly one of data_bytes, data_str, or data_uri.") + if not data_str: + raise ValueError("Invalid base64 data provided.") try: data = base64.b64decode(data_str) except Exception as exc: diff --git a/python/packages/core/tests/core/test_types.py b/python/packages/core/tests/core/test_types.py index cf945dae0e..e6db22177b 100644 --- a/python/packages/core/tests/core/test_types.py +++ b/python/packages/core/tests/core/test_types.py @@ -194,15 +194,20 @@ def test_data_content_detect_image_format_from_base64(): # Test error handling with pytest.raises(ValueError, match="Invalid base64 data provided."): detect_media_type_from_base64(data_str="invalid_base64!") + with pytest.raises(ValueError, match="Invalid base64 data provided."): detect_media_type_from_base64(data_str="") with pytest.raises(ValueError, match="Provide exactly one of data_bytes, data_str, or data_uri."): detect_media_type_from_base64() + with pytest.raises(ValueError, match="Provide exactly one of data_bytes, data_str, or data_uri."): detect_media_type_from_base64( data_bytes=b"data", data_str="data", data_uri="data:application/octet-stream;base64,AAA" ) + with pytest.raises(ValueError, match="Provide exactly one of data_bytes, data_str, or data_uri."): detect_media_type_from_base64(data_bytes=b"data", data_str="data") + with pytest.raises(ValueError, match="Provide exactly one of data_bytes, data_str, or data_uri."): detect_media_type_from_base64(data_bytes=b"data", data_uri="data:application/octet-stream;base64,AAA") + with pytest.raises(ValueError, match="Provide exactly one of data_bytes, data_str, or data_uri."): detect_media_type_from_base64(data_str="data", data_uri="data:application/octet-stream;base64,AAA")