Skip to content

Commit 249d0a5

Browse files
committed
test: adapt CurrModel tests according to recent changes
1 parent 931556c commit 249d0a5

File tree

2 files changed

+19
-40
lines changed

2 files changed

+19
-40
lines changed
Lines changed: 18 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""Pytest entry point for lupl.CurryModel tests."""
22

3-
from pydantic import BaseModel, Field
3+
from pydantic import BaseModel, ConfigDict, Field
4+
45
from lupl import CurryModel
56

67

@@ -13,44 +14,30 @@ class MyModel(BaseModel):
1314
curried_model1 = CurryModel(MyModel)
1415
curried_model1(x="1")
1516
curried_model1(y=2)
16-
model_instance1 = curried_model1(z=("3", 4))
17+
model_instance1 = curried_model1(z=("3", 4))()
1718

1819
curried_model_2 = CurryModel(MyModel)
19-
model_instance_2 = curried_model_2(x="1")(y=2)(z=("3", 4))
20+
model_instance_2 = curried_model_2(x="1")(y=2)(z=("3", 4))()
2021

2122
curried_model_3 = CurryModel(MyModel)
22-
model_instance_3 = curried_model_3(x="1", y=2)(z=("3", 4))
23+
model_instance_3 = curried_model_3(x="1", y=2)(z=("3", 4))()
2324

2425
assert model_instance1 == model_instance_2 == model_instance_3
2526

2627

27-
def test_curry_default_arg_model_eager():
28-
class MyModel(BaseModel):
29-
x: int
30-
y: int
31-
z: int = 3
32-
33-
curried = CurryModel(MyModel)
34-
x_curried = curried(x=1)
35-
assert isinstance(x_curried, CurryModel)
36-
37-
model = x_curried(y=2)
38-
assert isinstance(model, BaseModel)
39-
40-
41-
def test_curry_default_arg_model_non_eager():
42-
class MyModel(BaseModel):
43-
x: int
44-
y: int
45-
z: int = 3
28+
def test_curry_model_aliasing():
29+
class Model(BaseModel):
30+
model_config = ConfigDict(
31+
alias_generator=lambda field_name: field_name * 3, validate_by_name=True
32+
)
4633

47-
curried = CurryModel(MyModel, eager=False)
48-
x_curried = curried(x=1)
49-
assert isinstance(x_curried, CurryModel)
34+
a: int
35+
b: int = Field(validation_alias="B")
36+
c: int = Field(validation_alias="C", alias_priority=1)
37+
d: int = Field(validation_alias="D", alias_priority=2)
5038

51-
y_curried = x_curried(y=2)
52-
assert isinstance(y_curried, CurryModel)
39+
curry_model = CurryModel(model=Model)(aaa=1)(B=2)(ccc=3)(D=4)(e=5)(f=6)(g=7)(h=8)
40+
curry_model()
5341

54-
model = y_curried(z=33)
55-
assert isinstance(model, BaseModel)
56-
assert model.z == 33
42+
curry_model = CurryModel(model=Model)(a=1)(b=2)(c=3)(d=4)(e=5)(f=6)(g=7)(h=8)
43+
curry_model()

tests/tests_pydantic_tools/test_validate_model_field.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,11 @@
11
"""Basic test for lupl.validate_model_field."""
22

3+
from pydantic import BaseModel
34
import pytest
45

5-
from pydantic import BaseModel
66
from lupl import validate_model_field
77

88

9-
def test_validate_model_field_sad_path_missing_field():
10-
class Model(BaseModel):
11-
x: int
12-
13-
with pytest.raises(ValueError):
14-
validate_model_field(model=Model, field="dne", value=None)
15-
16-
179
def test_validate_model_field_sad_path_invalid_value():
1810
class Model(BaseModel):
1911
x: int

0 commit comments

Comments
 (0)