Skip to content

Commit 29581bb

Browse files
author
Balaji Veeramani
committed
Address review comments
1 parent 05c8e61 commit 29581bb

File tree

2 files changed

+17
-14
lines changed

2 files changed

+17
-14
lines changed

src/sagemaker/deserializers.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -81,15 +81,15 @@ def deserialize(self, data, content_type):
8181
"""Deserialize data from an inference endpoint into a list of lists.
8282
8383
Args:
84-
data (object): Data to be deserialized.
84+
data (botocore.response.StreamingBody): Data to be deserialized.
8585
content_type (str): The MIME type of the data.
8686
8787
Returns:
8888
list: The data deserialized into a list of lists representing the
8989
contents of a CSV file.
9090
"""
9191
try:
92-
string = data.read().decode(self.encoding)
93-
return list(csv.reader(string.splitlines()))
92+
decoded_string = data.read().decode(self.encoding)
93+
return list(csv.reader(decoded_string.splitlines()))
9494
finally:
9595
data.close()

tests/unit/sagemaker/test_deserializers.py

+14-11
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
import io
1616

17+
import pytest
18+
1719
from sagemaker.deserializers import BytesDeserializer, CSVDeserializer
1820

1921

@@ -25,25 +27,26 @@ def test_bytes_deserializer():
2527
assert result == b"[1, 2, 3]"
2628

2729

28-
def test_csv_deserializer_single_element():
29-
deserializer = CSVDeserializer()
30+
@pytest.fixture
31+
def csv_deserializer():
32+
return CSVDeserializer()
3033

31-
result = deserializer.deserialize(io.BytesIO(b"1"), "text/csv")
3234

35+
def test_csv_deserializer_single_element(csv_deserializer):
36+
result = csv_deserializer.deserialize(io.BytesIO(b"1"), "text/csv")
3337
assert result == [["1"]]
3438

3539

36-
def test_csv_deserializer_array():
37-
deserializer = CSVDeserializer()
38-
39-
result = deserializer.deserialize(io.BytesIO(b"1,2,3"), "text/csv")
40-
40+
def test_csv_deserializer_array(csv_deserializer):
41+
result = csv_deserializer.deserialize(io.BytesIO(b"1,2,3"), "text/csv")
4142
assert result == [["1", "2", "3"]]
4243

4344

44-
def test_csv_deserializer_2dimensional():
45-
deserializer = CSVDeserializer()
45+
def test_csv_deserializer_2dimensional(csv_deserializer):
46+
result = csv_deserializer.deserialize(io.BytesIO(b"1,2,3\n3,4,5"), "text/csv")
47+
assert result == [["1", "2", "3"], ["3", "4", "5"]]
4648

47-
result = deserializer.deserialize(io.BytesIO(b"1,2,3\n3,4,5"), "text/csv")
4849

50+
def test_csv_deserializer_posix_compliant(csv_deserializer):
51+
result = csv_deserializer.deserialize(io.BytesIO(b"1,2,3\n3,4,5\n"), "text/csv")
4952
assert result == [["1", "2", "3"], ["3", "4", "5"]]

0 commit comments

Comments
 (0)