Skip to content

Commit 615891e

Browse files
committed
test fix
1 parent db10040 commit 615891e

File tree

1 file changed

+30
-16
lines changed

1 file changed

+30
-16
lines changed

packages/service-library/tests/test_celery.py

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,60 @@
66
import pytest
77
from faker import Faker
88
from pydantic import StringConstraints
9-
from servicelib.celery.models import OwnerMetadata, TaskUUID
9+
from servicelib.celery.models import OwnerMetadata, TaskUUID, Wildcard
1010

1111
_faker = Faker()
1212

1313

14+
class _TestOwnerMetadata(OwnerMetadata):
15+
string_: str
16+
int_: int
17+
bool_: bool
18+
none_: None
19+
uuid_: str
20+
list_: list[str]
21+
22+
1423
@pytest.fixture
15-
def task_filter_data() -> dict[str, str | int | bool | None | list[str]]:
16-
return {
17-
"string": _faker.word(),
18-
"int": _faker.random_int(),
19-
"bool": _faker.boolean(),
20-
"none": None,
21-
"uuid": _faker.uuid4(),
22-
"list": [_faker.word() for _ in range(3)],
24+
def owner_metadata() -> dict[str, str | int | bool | None | list[str]]:
25+
data = {
26+
"string_": _faker.word(),
27+
"int_": _faker.random_int(),
28+
"bool_": _faker.boolean(),
29+
"none_": None,
30+
"uuid_": _faker.uuid4(),
31+
"list_": [_faker.word() for _ in range(3)],
2332
"owner": _faker.word().lower(),
2433
}
34+
_TestOwnerMetadata.model_validate(data) # ensure it's valid
35+
return data
2536

2637

2738
async def test_task_filter_serialization(
28-
task_filter_data: dict[str, str | int | bool | None | list[str]],
39+
owner_metadata: dict[str, str | int | bool | None | list[str]],
2940
):
30-
task_filter = OwnerMetadata.model_validate(task_filter_data)
31-
assert task_filter.model_dump() == task_filter_data
32-
assert task_filter.model_dump() == task_filter_data
41+
task_filter = _TestOwnerMetadata.model_validate(owner_metadata)
42+
assert task_filter.model_dump() == owner_metadata
3343

3444

3545
async def test_task_filter_sorting_key_not_serialized():
3646

47+
class _OwnerMetadata(OwnerMetadata):
48+
a: int | Wildcard
49+
b: str | Wildcard
50+
3751
keys = ["a", "b", "owner"]
38-
task_filter = OwnerMetadata.model_validate(
52+
task_filter = _OwnerMetadata.model_validate(
3953
{"a": _faker.random_int(), "b": _faker.word(), "owner": _faker.word().lower()}
4054
)
4155
expected_key = ":".join([f"{k}={getattr(task_filter, k)}" for k in sorted(keys)])
4256
assert task_filter._build_task_id_prefix() == expected_key
4357

4458

4559
async def test_task_filter_task_uuid(
46-
task_filter_data: dict[str, str | int | bool | None | list[str]],
60+
owner_metadata: dict[str, str | int | bool | None | list[str]],
4761
):
48-
task_filter = OwnerMetadata.model_validate(task_filter_data)
62+
task_filter = _TestOwnerMetadata.model_validate(owner_metadata)
4963
task_uuid = TaskUUID(_faker.uuid4())
5064
task_id = task_filter.create_task_id(task_uuid)
5165
assert OwnerMetadata.get_task_uuid(task_id=task_id) == task_uuid

0 commit comments

Comments
 (0)