def test_sklearn(self, namespace): spec = "../../servers/sklearnserver/samples/iris.yaml" retry_run(f"kubectl apply -f {spec} -n {namespace}") wait_for_status("sklearn", namespace) wait_for_rollout("sklearn", namespace) time.sleep(1) logging.warning("Initial request") r = initial_rest_request("sklearn", namespace, data=[[0.1, 0.2, 0.3, 0.4]], dtype="ndarray") assert r.status_code == 200 r = rest_request_ambassador("sklearn", namespace, method="metadata") assert r.status_code == 200 res = r.json() logging.warning(res) assert res["name"] == "iris" assert res["versions"] == ["iris/v1"] r = grpc_request_ambassador("sklearn", namespace, data=np.array([[0.1, 0.2, 0.3, 0.4]])) res = json.loads(json_format.MessageToJson(r)) logging.info(res) logging.warning("Success for test_prepack_sklearn") run(f"kubectl delete -f {spec} -n {namespace}", shell=True)
def test_model_combiner_grpc(self, namespace, s2i_python_version): create_push_s2i_image(s2i_python_version, "one", "grpc") create_push_s2i_image(s2i_python_version, "two", "grpc") create_push_s2i_image(s2i_python_version, "combiner", "grpc") retry_run( f"kubectl apply -f ../resources/tags_combiner_grpc.json -n {namespace}" ) wait_for_status("mymodel-tags-combiner", namespace) wait_for_rollout("mymodel-tags-combiner", namespace) r = initial_grpc_request("mymodel-tags-combiner", namespace) arr = np.array([[1, 2, 3]]) r = grpc_request_ambassador("mymodel-tags-combiner", namespace, API_AMBASSADOR, data=arr) res = json.loads(json_format.MessageToJson(r)) logging.info(res) # assert r.status_code == 200 assert res["data"]["ndarray"] == [["model-1"], ["model-2"]] assert res["meta"]["tags"] == { "combiner": "yes", "common": 2, "model-1": "yes", "model-2": "yes", } run( f"kubectl delete -f ../resources/tags_combiner_grpc.json -n {namespace}", shell=True, )