Skip to content

Commit 3a16923

Browse files
committed
Add unit test
1 parent 00c63ac commit 3a16923

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

test/unit/test_transfomer.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,35 @@ def test_transform(validate, retrieve_content_type_header, run_handler, accept_k
102102
assert isinstance(result, list)
103103
assert result[0] == RESULT
104104

105+
@pytest.mark.parametrize("accept_key", ["Accept", "accept"])
106+
@patch("sagemaker_inference.transformer.Transformer._run_handler_function", return_value=RESULT)
107+
@patch("sagemaker_inference.utils.retrieve_content_type_header", return_value=CONTENT_TYPE)
108+
@patch("sagemaker_inference.transformer.Transformer.validate_and_initialize")
109+
def test_batch_transform(validate, retrieve_content_type_header, run_handler, accept_key):
110+
data = [{"body": INPUT_DATA}, {"body": INPUT_DATA}]
111+
context = Mock()
112+
request_processor = Mock()
113+
transform_fn = Mock()
114+
115+
context.request_processor = [request_processor]
116+
request_property = {accept_key: ACCEPT}
117+
request_processor.get_request_properties.return_value = request_property
118+
119+
transformer = Transformer()
120+
transformer._model = MODEL
121+
transformer._transform_fn = transform_fn
122+
transformer._context = context
123+
124+
result = transformer.transform(data, context)
125+
126+
validate.assert_called_once()
127+
retrieve_content_type_header.assert_called_once_with(request_property)
128+
run_handler.assert_called_once_with(
129+
transformer._transform_fn, MODEL, INPUT_DATA, CONTENT_TYPE, ACCEPT
130+
)
131+
context.set_response_content_type.assert_called_once_with(0, ACCEPT)
132+
assert isinstance(result, list)
133+
assert result == [RESULT, RESULT]
105134

106135
@patch("sagemaker_inference.transformer.Transformer._run_handler_function")
107136
@patch("sagemaker_inference.utils.retrieve_content_type_header", return_value=CONTENT_TYPE)

0 commit comments

Comments
 (0)