コード例 #1
0
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
コード例 #2
0
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]
コード例 #3
0
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
コード例 #4
0
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]
コード例 #5
0
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()
コード例 #6
0
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()
コード例 #7
0
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()