Skip to content

Commit 84c4c85

Browse files
authored
♻️Fixed Unit test director v2 (#6733)
1 parent 327beab commit 84c4c85

File tree

2 files changed

+27
-30
lines changed
  • packages/models-library/src/models_library
  • services/director-v2/src/simcore_service_director_v2/models

2 files changed

+27
-30
lines changed

packages/models-library/src/models_library/clusters.py

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
from enum import auto
22
from pathlib import Path
3-
from typing import Final, Literal, TypeAlias
3+
from typing import Final, Literal, Self, TypeAlias
44

5-
from models_library.utils._original_fastapi_encoders import jsonable_encoder
65
from pydantic import (
76
AnyUrl,
87
BaseModel,
@@ -222,29 +221,23 @@ class Cluster(BaseCluster):
222221
},
223222
)
224223

225-
@model_validator(mode="before")
226-
@classmethod
227-
def check_owner_has_access_rights(cls, values):
228-
values = jsonable_encoder(values)
229-
230-
is_default_cluster = bool(values["id"] == DEFAULT_CLUSTER_ID)
231-
owner_gid = values["owner"]
224+
@model_validator(mode="after")
225+
def check_owner_has_access_rights(self: Self) -> Self:
226+
is_default_cluster = bool(self.id == DEFAULT_CLUSTER_ID)
227+
owner_gid = self.owner
232228

233229
# check owner is in the access rights, if not add it
234-
access_rights = values.get("access_rights", values.get("accessRights", {}))
230+
access_rights = self.access_rights.copy()
235231
if owner_gid not in access_rights:
236232
access_rights[owner_gid] = (
237-
CLUSTER_USER_RIGHTS.model_dump()
238-
if is_default_cluster
239-
else CLUSTER_ADMIN_RIGHTS.model_dump()
233+
CLUSTER_USER_RIGHTS if is_default_cluster else CLUSTER_ADMIN_RIGHTS
240234
)
241235
# check owner has the expected access
242236
if access_rights[owner_gid] != (
243-
CLUSTER_USER_RIGHTS.model_dump()
244-
if is_default_cluster
245-
else CLUSTER_ADMIN_RIGHTS.model_dump()
237+
CLUSTER_USER_RIGHTS if is_default_cluster else CLUSTER_ADMIN_RIGHTS
246238
):
247239
msg = f"the cluster owner access rights are incorrectly set: {access_rights[owner_gid]}"
248240
raise ValueError(msg)
249-
values["access_rights"] = access_rights
250-
return values
241+
# NOTE: overcomes frozen configuration (far fetched in ClusterGet model of webserver)
242+
object.__setattr__(self, "access_rights", access_rights)
243+
return self

services/director-v2/src/simcore_service_director_v2/models/comp_runs.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,10 @@ def convert_null_to_empty_metadata(cls, v):
9595
"cluster_id": 0,
9696
"iteration": 42,
9797
"result": "UNKNOWN",
98-
"created": "2021-03-01 13:07:34.19161",
99-
"modified": "2021-03-01 13:07:34.19161",
98+
"started": None,
99+
"ended": None,
100+
"created": "2021-03-01T13:07:34.191610",
101+
"modified": "2021-03-01T13:07:34.191610",
100102
"cancelled": None,
101103
"use_on_demand_clusters": False,
102104
},
@@ -107,8 +109,10 @@ def convert_null_to_empty_metadata(cls, v):
107109
"cluster_id": None, # this default to DEFAULT_CLUSTER_ID
108110
"iteration": 42,
109111
"result": "NOT_STARTED",
110-
"created": "2021-03-01 13:07:34.19161",
111-
"modified": "2021-03-01 13:07:34.19161",
112+
"started": None,
113+
"ended": None,
114+
"created": "2021-03-01T13:07:34.191610",
115+
"modified": "2021-03-01T13:07:34.191610",
112116
"cancelled": None,
113117
"use_on_demand_clusters": False,
114118
},
@@ -119,10 +123,10 @@ def convert_null_to_empty_metadata(cls, v):
119123
"cluster_id": 123,
120124
"iteration": 12,
121125
"result": "SUCCESS",
122-
"created": "2021-03-01 13:07:34.19161",
123-
"modified": "2021-03-01 13:07:34.19161",
124-
"started": "2021-03-01 08:07:34.19161",
125-
"ended": "2021-03-01 13:07:34.10",
126+
"created": "2021-03-01T13:07:34.191610",
127+
"modified": "2021-03-01T13:07:34.191610",
128+
"started": "2021-03-01T08:07:34.191610",
129+
"ended": "2021-03-01T13:07:34.10",
126130
"cancelled": None,
127131
"metadata": {
128132
"node_id_names_map": {},
@@ -140,10 +144,10 @@ def convert_null_to_empty_metadata(cls, v):
140144
"cluster_id": 123,
141145
"iteration": 12,
142146
"result": "SUCCESS",
143-
"created": "2021-03-01 13:07:34.19161",
144-
"modified": "2021-03-01 13:07:34.19161",
145-
"started": "2021-03-01 8:07:34.19161",
146-
"ended": "2021-03-01 13:07:34.10",
147+
"created": "2021-03-01T13:07:34.191610",
148+
"modified": "2021-03-01T13:07:34.191610",
149+
"started": "2021-03-01T08:07:34.191610",
150+
"ended": "2021-03-01T13:07:34.10",
147151
"cancelled": None,
148152
"metadata": None,
149153
"use_on_demand_clusters": False,

0 commit comments

Comments
 (0)