Skip to content

Commit cb7ac13

Browse files
add common modules
1 parent 1e57220 commit cb7ac13

File tree

6 files changed

+28
-7
lines changed

6 files changed

+28
-7
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from typing import Annotated, TypeAlias
2+
from pydantic import AfterValidator, AnyHttpUrl
3+
4+
5+
AnyHttpUrlLegacy: TypeAlias = Annotated[str, AnyHttpUrl, AfterValidator(lambda u: u.rstrip("/"))]

packages/common-library/src/common_library/utils/serialization.py renamed to packages/common-library/src/common_library/serialization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import Any
22

3-
from common_library.utils.pydantic_fields_extension import get_type
3+
from common_library.pydantic_fields_extension import get_type
44
from pydantic import BaseModel, SecretStr
55

66

packages/common-library/tests/test_utils_pydantic_extension.py renamed to packages/common-library/tests/test_pydantic_fields_extension.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
from typing import Literal
22

33
import pytest
4-
from common_library.utils.pydantic_fields_extension import (
5-
get_type,
6-
is_literal,
7-
is_nullable,
8-
)
4+
from common_library.pydantic_fields_extension import get_type, is_literal, is_nullable
95
from pydantic import BaseModel, Field
106

117

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from common_library.pydantic_networks_extension import AnyHttpUrlLegacy
2+
from pydantic import AnyHttpUrl, TypeAdapter
3+
from pydantic_core import Url
4+
5+
6+
def test_any_http_url():
7+
url = TypeAdapter(AnyHttpUrl).validate_python(
8+
"http://backgroud.testserver.io",
9+
)
10+
11+
assert isinstance(url, Url)
12+
assert f"{url}" == "http://backgroud.testserver.io/" # NOTE: trailing '/' added in Pydantic v2
13+
14+
def test_any_http_url_legacy():
15+
url = TypeAdapter(AnyHttpUrlLegacy).validate_python(
16+
"http://backgroud.testserver.io",
17+
)
18+
19+
assert isinstance(url, str)
20+
assert url == "http://backgroud.testserver.io"

packages/common-library/tests/test_utils_serialization.py renamed to packages/common-library/tests/test_serialization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import Final
22

33
import pytest
4-
from models_library.utils.serialization import model_dump_with_secrets
4+
from common_library.serialization import model_dump_with_secrets
55
from pydantic import BaseModel, SecretStr
66

77

0 commit comments

Comments
 (0)