Skip to content

Commit cec21d9

Browse files
committed
Fix test_predict
1 parent 4683967 commit cec21d9

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

tests/unit/sagemaker/serverless/test_predictor.py

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
# language governing permissions and limitations under the License.
1313
from __future__ import absolute_import
1414

15+
import io
1516
from mock import Mock
1617
import pytest
1718

@@ -26,17 +27,22 @@ def mock_client():
2627

2728

2829
def test_predict(mock_client):
29-
# TODO
30-
# mock_client.create_function = Mock(return_value={"class": "cat"})
31-
# predictor = LambdaPredictor("my_function", mock_client)
32-
#
33-
# prediction = predictor.predict({"url": "https://images.com/cat.jpg"})
34-
#
35-
# assert prediction = {"class": "cat"}
36-
# mock_client.invoke.assert_called_once
37-
# _, kwargs = mock_client.delete_function.call_args
38-
# assert kwargs["FunctionName"] == "my-function"
39-
pass
30+
mock_client.invoke = Mock(
31+
return_value={
32+
"StatusCode": 200,
33+
"Payload": io.BytesIO(b'{"class": "cat"}'),
34+
"ResponseMetadata": {"HTTPHeaders": {"content-type": "application/json"}},
35+
}
36+
)
37+
predictor = LambdaPredictor(FUNCTION_NAME, mock_client)
38+
39+
prediction = predictor.predict({"url": "https://images.com/cat.jpg"})
40+
41+
mock_client.invoke.assert_called_once
42+
_, kwargs = mock_client.invoke.call_args
43+
assert kwargs["FunctionName"] == FUNCTION_NAME
44+
45+
assert prediction == {"class": "cat"}
4046

4147

4248
def test_destroy(mock_client):

0 commit comments

Comments
 (0)