def test_file_input_http_request_malformatted_input_wrong_input_name(): test_file_input = FileInput() request = mock.MagicMock(spec=flask.Request) request.method = "POST" request.files = {"abc": None} request.headers = {} request.get_data.return_value = None with pytest.raises(BadInput) as e: test_file_input.handle_request(request, predict) assert "unexpected HTTP request format" in str(e.value)
def test_file_input_http_request_post_binary(bin_file): test_file_input = FileInput() request = mock.MagicMock(spec=flask.Request) request.method = "POST" request.files = {} request.headers = {} request.get_data.return_value = open(str(bin_file), 'rb').read() response = test_file_input.handle_request(request, predict) assert response.status_code == 200 assert b'{"b64": "gTCJOQ=="}' in response.data simple_request = SimpleRequest.from_flask_request(request) responses = test_file_input.handle_batch_request([simple_request], predict) assert responses[0].status == 200 assert '{"b64": "gTCJOQ=="}' == responses[0].data
def test_file_input_http_request_multipart_form(bin_file): test_file_input = FileInput() request = mock.MagicMock(spec=flask.Request) file_bytes = open(str(bin_file), 'rb').read() file_attr = { 'filename': 'test_img.png', 'read.return_value': file_bytes, 'stream': io.BytesIO(file_bytes), } file = mock.Mock(**file_attr) request.method = "POST" request.files = {"file_file": file} request.headers = {} request.get_data.return_value = None response = test_file_input.handle_request(request, predict) assert response.status_code == 200 assert b'{"b64": "gTCJOQ=="}' in response.data