forked from opendatahub-io/opendatahub-tests
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_model_registry_creation_negative.py
More file actions
68 lines (64 loc) · 2.73 KB
/
test_model_registry_creation_negative.py
File metadata and controls
68 lines (64 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import pytest
from typing import Self
from simple_logger.logger import get_logger
from ocp_resources.data_science_cluster import DataScienceCluster
from ocp_resources.deployment import Deployment
from utilities.resources.model_registry_modelregistry_opendatahub_io import ModelRegistry
from pytest_testconfig import config as py_config
from ocp_resources.namespace import Namespace
from ocp_resources.secret import Secret
from utilities.constants import Annotations
from tests.model_registry.constants import (
MR_OPERATOR_NAME,
MR_INSTANCE_NAME,
DB_RESOURCE_NAME,
OAUTH_PROXY_CONFIG_DICT,
)
from kubernetes.dynamic.exceptions import ForbiddenError
LOGGER = get_logger(name=__name__)
@pytest.mark.usefixtures(
"model_registry_namespace_for_negative_tests",
"updated_dsc_component_state_scope_session",
"model_registry_db_secret_negative_test",
"model_registry_db_deployment_negative_test",
)
@pytest.mark.custom_namespace
class TestModelRegistryCreationNegative:
@pytest.mark.sanity
def test_registering_model_negative(
self: Self,
current_client_token: str,
model_registry_namespace_for_negative_tests: Namespace,
updated_dsc_component_state_scope_session: DataScienceCluster,
model_registry_db_secret_negative_test: Secret,
model_registry_db_deployment_negative_test: Deployment,
):
my_sql_dict: dict[str, str] = {
"host": f"{model_registry_db_deployment_negative_test.name}."
f"{model_registry_db_deployment_negative_test.namespace}.svc.cluster.local",
"database": model_registry_db_secret_negative_test.string_data["database-name"],
"passwordSecret": {"key": "database-password", "name": DB_RESOURCE_NAME},
"port": 3306,
"skipDBCreation": False,
"username": model_registry_db_secret_negative_test.string_data["database-user"],
}
with pytest.raises(
ForbiddenError, # UnprocessibleEntityError
match=f"namespace must be {py_config['model_registry_namespace']}",
):
with ModelRegistry(
name=MR_INSTANCE_NAME,
namespace=model_registry_namespace_for_negative_tests.name,
label={
Annotations.KubernetesIo.NAME: MR_INSTANCE_NAME,
Annotations.KubernetesIo.INSTANCE: MR_INSTANCE_NAME,
Annotations.KubernetesIo.PART_OF: MR_OPERATOR_NAME,
Annotations.KubernetesIo.CREATED_BY: MR_OPERATOR_NAME,
},
grpc={},
rest={},
oauth_proxy=OAUTH_PROXY_CONFIG_DICT,
mysql=my_sql_dict,
wait_for_resource=True,
):
return