def test_transform_output_bad_metrics(): user_object = UserObject(metrics_ok=False) app = get_rest_microservice(user_object, debug=True) client = app.test_client() rv = client.get('/transform-output?json={"data":{"ndarray":[]}}') j = json.loads(rv.data) print(j) assert rv.status_code == 400
def test_transformer_input_lowlevel_ok(): user_object = UserObjectLowLevel() app = get_rest_microservice(user_object, debug=True) client = app.test_client() rv = client.get('/transform-input?json={"data":{"ndarray":[1]}}') j = json.loads(rv.data) print(j) assert rv.status_code == 200 assert j["data"]["ndarray"] == [9, 9]
def test_tranform_output_no_json(): user_object = UserObject() app = get_rest_microservice(user_object, debug=True) client = app.test_client() uo = UserObject() rv = client.get('/transform-output?') j = json.loads(rv.data) print(j) assert rv.status_code == 400
def test_transformer_input_ok(): user_object = UserObject() app = get_rest_microservice(user_object, debug=True) client = app.test_client() rv = client.get('/transform-input?json={"data":{"ndarray":[1]}}') j = json.loads(rv.data) print(j) assert rv.status_code == 200 assert j["meta"]["tags"] == {"mytag": 1} assert j["meta"]["metrics"] == user_object.metrics() assert j["data"]["ndarray"] == [1]
def test_transformer_output_bin_data_nparray(): user_object = UserObject(ret_nparray=True) app = get_rest_microservice(user_object, debug=True) client = app.test_client() rv = client.get('/transform-output?json={"binData":"123"}') j = json.loads(rv.data) print(j) assert rv.status_code == 200 assert j["data"]["ndarray"] == [1, 2, 3] assert j["meta"]["tags"] == {"mytag": 1} assert j["meta"]["metrics"] == user_object.metrics()
def test_transform_input_gets_meta(): user_object = UserObject(ret_meta=True) app = get_rest_microservice(user_object, debug=True) client = app.test_client() rv = client.get( '/transform-input?json={"meta":{"puid": "abc"},"data":{"ndarray":[]}}') j = json.loads(rv.data) print(j) assert rv.status_code == 200 assert j["meta"]["tags"] == {"inc_meta": {"puid": "abc"}} assert j["meta"]["metrics"] == user_object.metrics()
def test_transformer_input_bin_data(): user_object = UserObject() app = get_rest_microservice(user_object, debug=True) client = app.test_client() bdata = b"123" bdata_base64 = base64.b64encode(bdata).decode('utf-8') rv = client.get('/transform-input?json={"binData":"' + bdata_base64 + '"}') j = json.loads(rv.data) sm = prediction_pb2.SeldonMessage() # Check we can parse response assert sm == json_format.Parse(rv.data, sm, ignore_unknown_fields=False) print(j) assert rv.status_code == 200 assert "binData" in j assert j["meta"]["tags"] == {"mytag": 1} assert j["meta"]["metrics"] == user_object.metrics()