|
1 |
| -from typing import Any, Dict, List |
| 1 | +from typing import Any, Dict, List, Set, Tuple |
2 | 2 |
|
3 | 3 | import pydantic
|
4 | 4 | import pytest
|
@@ -129,20 +129,23 @@ async def validate_name(self, config: ValidationInfo) -> None:
|
129 | 129 | async def test_async_validation_will_call_sub_model_validation():
|
130 | 130 | class OtherModel(AsyncValidationModelMixin, pydantic.BaseModel):
|
131 | 131 | something: SomethingModel
|
132 |
| - somethings: List[SomethingModel] |
| 132 | + something_list: List[SomethingModel] |
| 133 | + something_tuple: Tuple[SomethingModel] |
133 | 134 | somethings_by_name: Dict[str, SomethingModel]
|
134 | 135 |
|
135 | 136 | instance = OtherModel(
|
136 | 137 | something=SomethingModel(name="invalid", age=1),
|
137 |
| - somethings=[SomethingModel(name="invalid", age=1)], |
| 138 | + something_list=[SomethingModel(name="invalid", age=1)], |
| 139 | + something_tuple=(SomethingModel(name="invalid", age=1),), |
138 | 140 | somethings_by_name={"some": SomethingModel(name="invalid", age=1)},
|
139 | 141 | )
|
140 | 142 | with pytest.raises(pydantic.ValidationError) as O_o:
|
141 | 143 | await instance.model_async_validate()
|
142 | 144 |
|
143 |
| - assert len(O_o.value.errors()) == 3 |
| 145 | + assert len(O_o.value.errors()) == 4 |
144 | 146 | assert {e['loc'] for e in O_o.value.errors()} == {
|
145 | 147 | ('something', 'name'),
|
146 |
| - ('somethings', 0, 'name'), |
| 148 | + ('something_list', 0, 'name'), |
| 149 | + ('something_tuple', 0, 'name'), |
147 | 150 | ('somethings_by_name', 'some', 'name'),
|
148 | 151 | }
|
0 commit comments