Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions sagemaker-core/src/sagemaker/core/utils/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ def pascal_to_snake(pascal_str):


def is_not_primitive(obj):
return not isinstance(obj, (int, float, str, bool, datetime.datetime))
return not isinstance(obj, (int, float, str, bool, bytes, datetime.datetime))
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: This line has 8 spaces of indentation (double-indented) instead of the original 4 spaces. This will cause an IndentationError since the function body was previously at 4-space indentation. Please fix:

    return not isinstance(obj, (int, float, str, bool, bytes, datetime.datetime))



def is_not_str_dict(obj):
Expand All @@ -285,7 +285,7 @@ def is_primitive_list(obj):


def is_primitive_class(cls):
return cls in (str, int, bool, float, datetime.datetime)
return cls in (str, int, bool, float, bytes, datetime.datetime)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Same indentation issue here — 8 spaces instead of 4. This will cause an IndentationError. Please fix:

    return cls in (str, int, bool, float, bytes, datetime.datetime)



class Unassigned:
Expand Down
19 changes: 19 additions & 0 deletions sagemaker-core/tests/unit/generated/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,25 @@ def test_serialize_method_nested_shape():
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: There's an extra blank line here. PEP 8 expects two blank lines between top-level definitions, not three. This is minor but worth cleaning up.



def test_serialize_with_bytes_value_returns_bytes():
result = serialize({'body': b'1'})
assert result == {'body': b'1'}


def test_serialize_with_bytes_in_list():
result = serialize([b'hello', b'world'])
assert result == [b'hello', b'world']


def test_is_not_primitive_with_bytes_returns_false():
assert is_not_primitive(b'test') is False


def test_is_primitive_class_with_bytes_returns_true():
assert is_primitive_class(bytes) is True


class TestUnassignedBehavior:
"""Test Unassigned class methods for proper behavior.

Expand Down
Loading