Skip to content

Commit 32be27e

Browse files
fix
1 parent 4c8d6f5 commit 32be27e

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

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

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import TypeAlias
1+
from typing import Any, TypeAlias
22

33
from pydantic import (
44
AnyHttpUrl,
@@ -48,13 +48,12 @@ class WorkerMetrics(BaseModel):
4848
class UsedResources(DictModel[str, NonNegativeFloat]):
4949
@model_validator(mode="before")
5050
@classmethod
51-
def ensure_negative_value_is_zero(cls, values):
51+
def ensure_negative_value_is_zero(cls, values: dict[str, Any]):
5252
# dasks adds/remove resource values and sometimes
5353
# they end up being negative instead of 0
54-
if v := values.get("__root__", {}):
55-
for res_key, res_value in v.items():
56-
if res_value < 0:
57-
v[res_key] = 0
54+
for res_key, res_value in values.items():
55+
if res_value < 0:
56+
values[res_key] = 0
5857
return values
5958

6059

services/director-v2/tests/unit/test_models_clusters.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
WorkerMetrics,
1414
)
1515
from models_library.clusters import ClusterTypeInModel
16-
from pydantic import BaseModel, TypeAdapter
16+
from pydantic import BaseModel, ByteSize, TypeAdapter
1717
from simcore_postgres_database.models.clusters import ClusterType
1818

1919

@@ -61,11 +61,11 @@ def test_scheduler_constructor_with_no_workers_has_correct_dict(faker: Faker):
6161

6262
def test_worker_constructor_corrects_negative_used_resources(faker: Faker):
6363
worker = Worker(
64-
id=faker.pyint(min_value=1),
64+
id=f"{faker.pyint(min_value=1)}",
6565
name=faker.name(),
6666
resources=TypeAdapter(AvailableResources).validate_python({}),
6767
used_resources=TypeAdapter(UsedResources).validate_python({"CPU": -0.0000234}),
68-
memory_limit=faker.pyint(min_value=1),
68+
memory_limit=ByteSize(faker.pyint(min_value=1)),
6969
metrics=WorkerMetrics.model_validate(
7070
{
7171
"cpu": faker.pyfloat(min_value=0),

0 commit comments

Comments
 (0)