Skip to content

Commit 35402ee

Browse files
committed
allow extra fields in TaskFilter and test
1 parent c4cb923 commit 35402ee

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

packages/service-library/src/servicelib/celery/models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
TaskUUID: TypeAlias = UUID
1515

1616

17-
class TaskFilter(BaseModel): ...
17+
class TaskFilter(BaseModel):
18+
model_config = ConfigDict(extra="allow")
1819

1920

2021
class TaskState(StrEnum):
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from faker import Faker
2+
from servicelib.celery.models import TaskFilter
3+
4+
_faker = Faker()
5+
6+
7+
async def test_task_filter_serialization():
8+
_dict = {
9+
"string": _faker.word(),
10+
"int": _faker.random_int(),
11+
"bool": _faker.boolean(),
12+
"none": None,
13+
"uuid": _faker.uuid4(),
14+
"list": [_faker.word() for _ in range(3)],
15+
}
16+
task_filter = TaskFilter.model_validate(_dict)
17+
assert task_filter.model_dump() == _dict

0 commit comments

Comments
 (0)