Skip to content

Commit

Permalink
fixed issue
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrei Neagu committed Dec 20, 2024
1 parent 68f0b24 commit 6762e0b
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 7 deletions.
4 changes: 4 additions & 0 deletions packages/common-library/src/common_library/unset.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@ class UnSet:

def as_dict_exclude_unset(**params) -> dict[str, Any]:
return {k: v for k, v in params.items() if not isinstance(v, UnSet)}


def as_dict_exclude_none(**params) -> dict[str, Any]:
return {k: v for k, v in params.items() if v is not None}
9 changes: 8 additions & 1 deletion packages/common-library/tests/test_unset.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import Any

from common_library.unset import UnSet, as_dict_exclude_unset
from common_library.unset import UnSet, as_dict_exclude_none, as_dict_exclude_unset


def test_as_dict_exclude_unset():
Expand All @@ -13,3 +13,10 @@ def f(
assert f(par1="hi") == {"par1": "hi"}
assert f(par2=4) == {"par2": 4}
assert f(par1="hi", par2=4) == {"par1": "hi", "par2": 4}

# still expected behavior
assert as_dict_exclude_unset(par1=None) == {"par1": None}


def test_as_dict_exclude_none():
assert as_dict_exclude_none(par1=None) == {}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from typing import cast

from common_library.json_serialization import json_dumps
from common_library.unset import UnSet, as_dict_exclude_unset
from common_library.unset import as_dict_exclude_none
from fastapi import FastAPI, status
from httpx import Response, Timeout
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
Expand Down Expand Up @@ -133,14 +133,11 @@ async def dynamic_service_retrieve(
@retry_on_errors()
@expect_status(status.HTTP_200_OK)
async def get_dynamic_services(
self,
*,
user_id: UserID | None | UnSet = UnSet.VALUE,
project_id: ProjectID | None | UnSet = UnSet.VALUE,
self, *, user_id: UserID | None = None, project_id: ProjectID | None = None
) -> Response:
return await self.client.get(
"/dynamic_services",
params=as_dict_exclude_unset(user_id=user_id, project_id=project_id),
params=as_dict_exclude_none(user_id=user_id, project_id=project_id),
)

@retry_on_errors()
Expand Down

0 comments on commit 6762e0b

Please sign in to comment.