@@ -102,6 +102,35 @@ def test_transform(validate, retrieve_content_type_header, run_handler, accept_k
102
102
assert isinstance (result , list )
103
103
assert result [0 ] == RESULT
104
104
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 ]
105
134
106
135
@patch ("sagemaker_inference.transformer.Transformer._run_handler_function" )
107
136
@patch ("sagemaker_inference.utils.retrieve_content_type_header" , return_value = CONTENT_TYPE )
0 commit comments