Skip to content

Commit 7bede1f

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent c690967 commit 7bede1f

5 files changed

Lines changed: 65 additions & 76 deletions

File tree

tests/model_explainability/trustyai_service/service/conftest.py

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,24 @@
11
from typing import Generator, Any
22

33
import pytest
4-
from _pytest.fixtures import FixtureRequest
54
from kubernetes.dynamic import DynamicClient
65
from ocp_resources.config_map import ConfigMap
7-
from ocp_resources.inference_service import InferenceService
86
from ocp_resources.maria_db import MariaDB
97
from ocp_resources.namespace import Namespace
10-
from ocp_resources.pod import Pod
11-
from ocp_resources.role import Role
12-
from ocp_resources.role_binding import RoleBinding
138
from ocp_resources.secret import Secret
149
from ocp_resources.trustyai_service import TrustyAIService
1510

1611

1712
from tests.model_explainability.trustyai_service.constants import (
1813
TAI_METRICS_CONFIG,
1914
TAI_DB_STORAGE_CONFIG,
20-
ISVC_GETTER,
2115
)
2216
from tests.model_explainability.trustyai_service.trustyai_service_utils import (
2317
TRUSTYAI_SERVICE_NAME,
24-
wait_for_isvc_deployment_registered_by_trustyai_service,
2518
)
2619
from tests.model_explainability.trustyai_service.utils import (
2720
create_trustyai_service,
28-
create_isvc_getter_service_account,
29-
create_isvc_getter_role,
30-
create_isvc_getter_role_binding,
31-
create_isvc_getter_token_secret,
3221
)
33-
from utilities.constants import KServeDeploymentType, Labels
34-
from utilities.inference_utils import create_isvc
35-
from utilities.infra import create_ns, create_inference_token
36-
from utilities.minio import create_minio_data_connection_secret
3722

3823

3924
INVALID_TLS_CERTIFICATE: str = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJnRENDQVNlZ0F3SUJBZ0lRRGtTcXVuUWRzRmZwdi8zSm\
@@ -45,6 +30,7 @@
4530
RmcvTXlNWW9CZUNrUVRWdS9rUkIwK2N2Qy9RMDB4NExvVGpJaQpGdCtKMGc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0t\
4631
LS0t" # pragma: allowlist secret
4732

33+
4834
@pytest.fixture(scope="class")
4935
def trustyai_service_with_invalid_db_cert(
5036
admin_client: DynamicClient,
@@ -78,4 +64,3 @@ def trustyai_invalid_db_ca_secret(
7864
data_dict={"ca.crt": INVALID_TLS_CERTIFICATE},
7965
) as secret:
8066
yield secret
81-

tests/model_explainability/trustyai_service/service/multi_ns/conftest.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from ocp_resources.namespace import Namespace
55
from ocp_resources.secret import Secret
66
from ocp_resources.serving_runtime import ServingRuntime
7-
from ocp_resources.inference_service import InferenceService
87
from ocp_resources.trustyai_service import TrustyAIService
98
from ocp_resources.service_account import ServiceAccount
109
from ocp_resources.role import Role
@@ -20,7 +19,8 @@
2019
KSERVE_MLSERVER_SUPPORTED_MODEL_FORMATS,
2120
KSERVE_MLSERVER_ANNOTATIONS,
2221
XGBOOST,
23-
ISVC_GETTER, GAUSSIAN_CREDIT_MODEL,
22+
ISVC_GETTER,
23+
GAUSSIAN_CREDIT_MODEL,
2424
)
2525
from tests.model_explainability.trustyai_service.trustyai_service_utils import (
2626
TRUSTYAI_SERVICE_NAME,
@@ -55,16 +55,19 @@ def model_namespaces(request, admin_client, teardown_resources) -> Generator[Lis
5555
for ns in namespaces:
5656
ns.clean_up()
5757

58+
5859
@pytest.fixture(scope="class")
59-
def minio_data_connection_multi_ns(request, admin_client, model_namespaces, minio_service) -> Generator[List[Secret], Any, None]:
60+
def minio_data_connection_multi_ns(
61+
request, admin_client, model_namespaces, minio_service
62+
) -> Generator[List[Secret], Any, None]:
6063
with ExitStack() as stack:
6164
secrets = [
6265
stack.enter_context(
6366
create_minio_data_connection_secret(
6467
minio_service=minio_service,
6568
model_namespace=ns.name,
6669
aws_s3_bucket=param["bucket"],
67-
client=admin_client
70+
client=admin_client,
6871
)
6972
)
7073
for ns, param in zip(model_namespaces, request.param)
@@ -73,7 +76,9 @@ def minio_data_connection_multi_ns(request, admin_client, model_namespaces, mini
7376

7477

7578
@pytest.fixture(scope="class")
76-
def trustyai_service_with_pvc_storage_multi_ns(admin_client, model_namespaces, cluster_monitoring_config, user_workload_monitoring_config) -> Generator[List[TrustyAIService], Any, None]:
79+
def trustyai_service_with_pvc_storage_multi_ns(
80+
admin_client, model_namespaces, cluster_monitoring_config, user_workload_monitoring_config
81+
) -> Generator[List[TrustyAIService], Any, None]:
7782
with ExitStack() as stack:
7883
services = [
7984
stack.enter_context(
@@ -115,6 +120,7 @@ def mlserver_runtime_multi_ns(admin_client, model_namespaces) -> Generator[List[
115120
for runtime in runtimes:
116121
runtime.clean_up()
117122

123+
118124
@pytest.fixture(scope="class")
119125
def gaussian_credit_model_multi_ns(
120126
admin_client,
@@ -174,6 +180,7 @@ def isvc_getter_role_multi_ns(admin_client, model_namespaces) -> Generator[List[
174180
]
175181
yield roles
176182

183+
177184
@pytest.fixture(scope="class")
178185
def isvc_getter_role_binding_multi_ns(
179186
admin_client,
@@ -196,6 +203,7 @@ def isvc_getter_role_binding_multi_ns(
196203
]
197204
yield bindings
198205

206+
199207
@pytest.fixture(scope="class")
200208
def isvc_getter_token_secret_multi_ns(
201209
admin_client,
@@ -217,12 +225,10 @@ def isvc_getter_token_secret_multi_ns(
217225
]
218226
yield secrets
219227

228+
220229
@pytest.fixture(scope="class")
221230
def isvc_getter_token_multi_ns(
222231
isvc_getter_service_account_multi_ns,
223232
isvc_getter_token_secret_multi_ns,
224233
) -> List[str]:
225-
return [
226-
create_inference_token(model_service_account=sa)
227-
for sa in isvc_getter_service_account_multi_ns
228-
]
234+
return [create_inference_token(model_service_account=sa) for sa in isvc_getter_service_account_multi_ns]
Lines changed: 47 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import pytest
2-
from tests.model_explainability.trustyai_service.constants import (
3-
DRIFT_BASE_DATA_PATH
4-
)
2+
from tests.model_explainability.trustyai_service.constants import DRIFT_BASE_DATA_PATH
53
from tests.model_explainability.trustyai_service.trustyai_service_utils import (
64
send_inferences_and_verify_trustyai_service_registered,
75
verify_upload_data_to_trustyai_service,
@@ -12,6 +10,7 @@
1210
from utilities.constants import MinIo
1311
from utilities.manifests.openvino import OPENVINO_KSERVE_INFERENCE_CONFIG
1412

13+
1514
@pytest.mark.usefixtures("minio_pod")
1615
@pytest.mark.parametrize(
1716
"model_namespaces, minio_pod, minio_data_connection_multi_ns",
@@ -25,7 +24,7 @@
2524
[
2625
{"bucket": MinIo.Buckets.MODELMESH_EXAMPLE_MODELS},
2726
{"bucket": MinIo.Buckets.MODELMESH_EXAMPLE_MODELS},
28-
]
27+
],
2928
),
3029
],
3130
indirect=True,
@@ -60,60 +59,59 @@ def test_drift_send_inference_and_verify_trustyai_service_multiple_ns(
6059

6160
@pytest.mark.parametrize("ns_index", [0, 1])
6261
def test_upload_data_to_trustyai_service_multiple_ns(
63-
self,
64-
ns_index: int,
65-
admin_client,
66-
current_client_token,
67-
trustyai_service_with_pvc_storage_multi_ns,
68-
gaussian_credit_model_multi_ns,
69-
isvc_getter_token_multi_ns,
70-
model_namespaces,
62+
self,
63+
ns_index: int,
64+
admin_client,
65+
current_client_token,
66+
trustyai_service_with_pvc_storage_multi_ns,
67+
gaussian_credit_model_multi_ns,
68+
isvc_getter_token_multi_ns,
69+
model_namespaces,
7170
) -> None:
72-
trustyaiservice = trustyai_service_with_pvc_storage_multi_ns[ns_index]
73-
verify_upload_data_to_trustyai_service(
74-
client=admin_client,
75-
trustyai_service=trustyaiservice,
76-
token=current_client_token,
77-
data_path=f"{DRIFT_BASE_DATA_PATH}/training_data.json",
78-
)
71+
trustyaiservice = trustyai_service_with_pvc_storage_multi_ns[ns_index]
72+
verify_upload_data_to_trustyai_service(
73+
client=admin_client,
74+
trustyai_service=trustyaiservice,
75+
token=current_client_token,
76+
data_path=f"{DRIFT_BASE_DATA_PATH}/training_data.json",
77+
)
7978

8079
@pytest.mark.parametrize("ns_index", [0, 1])
8180
def test_drift_metric_schedule_meanshift_multiple_ns(
82-
self,
83-
ns_index,
84-
admin_client,
85-
current_client_token,
86-
trustyai_service_with_pvc_storage_multi_ns,
87-
gaussian_credit_model_multi_ns
81+
self,
82+
ns_index,
83+
admin_client,
84+
current_client_token,
85+
trustyai_service_with_pvc_storage_multi_ns,
86+
gaussian_credit_model_multi_ns,
8887
):
89-
trustyaiservice = trustyai_service_with_pvc_storage_multi_ns[ns_index]
90-
inference_model = gaussian_credit_model_multi_ns[ns_index]
88+
trustyaiservice = trustyai_service_with_pvc_storage_multi_ns[ns_index]
89+
inference_model = gaussian_credit_model_multi_ns[ns_index]
9190

92-
verify_trustyai_service_metric_scheduling_request(
93-
client=admin_client,
94-
trustyai_service=trustyaiservice,
95-
token=current_client_token,
96-
metric_name=TrustyAIServiceMetrics.Drift.MEANSHIFT,
97-
json_data={
98-
"modelId": inference_model.name,
99-
"referenceTag": "TRAINING",
100-
},
101-
)
91+
verify_trustyai_service_metric_scheduling_request(
92+
client=admin_client,
93+
trustyai_service=trustyaiservice,
94+
token=current_client_token,
95+
metric_name=TrustyAIServiceMetrics.Drift.MEANSHIFT,
96+
json_data={
97+
"modelId": inference_model.name,
98+
"referenceTag": "TRAINING",
99+
},
100+
)
102101

103102
@pytest.mark.parametrize("ns_index", [0, 1])
104103
def test_drift_metric_delete_multiple_ns(
105-
self,
106-
ns_index,
107-
admin_client,
108-
current_client_token,
109-
minio_data_connection_multi_ns,
110-
trustyai_service_with_pvc_storage_multi_ns
104+
self,
105+
ns_index,
106+
admin_client,
107+
current_client_token,
108+
minio_data_connection_multi_ns,
109+
trustyai_service_with_pvc_storage_multi_ns,
111110
):
112111
trustyaiservice = trustyai_service_with_pvc_storage_multi_ns[ns_index]
113112
verify_trustyai_service_metric_delete_request(
114-
client=admin_client,
115-
trustyai_service=trustyaiservice,
116-
token=current_client_token,
117-
metric_name=TrustyAIServiceMetrics.Drift.MEANSHIFT,
118-
)
119-
113+
client=admin_client,
114+
trustyai_service=trustyaiservice,
115+
token=current_client_token,
116+
metric_name=TrustyAIServiceMetrics.Drift.MEANSHIFT,
117+
)

tests/model_explainability/trustyai_service/service/test_trustyai_service.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,9 @@
77
TRUSTYAI_DB_MIGRATION_PATCH,
88
)
99
from tests.model_explainability.trustyai_service.trustyai_service_utils import (
10-
send_inferences_and_verify_trustyai_service_registered,
1110
verify_upload_data_to_trustyai_service,
1211
TrustyAIServiceMetrics,
1312
verify_trustyai_service_metric_scheduling_request,
14-
verify_trustyai_service_metric_delete_request,
1513
)
1614
from tests.model_explainability.trustyai_service.utils import (
1715
validate_trustyai_service_db_conn_failure,
@@ -46,6 +44,7 @@ def test_trustyai_service_with_invalid_db_cert(
4644
label_selector=f"app.kubernetes.io/instance={trustyai_service_with_invalid_db_cert.name}",
4745
)
4846

47+
4948
@pytest.mark.parametrize(
5049
"model_namespace",
5150
[

tests/model_explainability/trustyai_service/utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ def validate_trustyai_service_db_conn_failure(
115115
return True
116116
return False
117117

118+
118119
@contextmanager
119120
def create_trustyai_service(
120121
client: DynamicClient,

0 commit comments

Comments
 (0)