MCPcopy
hub / github.com/pydantic/pydantic / test_model

Function test_model

pydantic-core/tests/test_validate_strings.py:60–81  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

58
59
60def test_model():
61 class MyModel:
62 # this is not required, but it avoids `__pydantic_fields_set__` being included in `__dict__`
63 __slots__ = '__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__'
64 field_a: int
65 field_b: date
66
67 v = SchemaValidator(
68 core_schema.model_schema(
69 MyModel,
70 core_schema.model_fields_schema(
71 {
72 'field_a': core_schema.model_field(core_schema.int_schema()),
73 'field_b': core_schema.model_field(core_schema.date_schema()),
74 }
75 ),
76 )
77 )
78 m2 = v.validate_strings({'field_a': '1', 'field_b': '2017-01-01'})
79 assert m2.__dict__ == {'field_a': 1, 'field_b': date(2017, 1, 1)}
80 m2 = v.validate_strings({'field_a': '1', 'field_b': '2017-01-01'}, strict=True)
81 assert m2.__dict__ == {'field_a': 1, 'field_b': date(2017, 1, 1)}
82
83
84def test_dataclass():

Callers

nothing calls this directly

Calls 5

model_schemaMethod · 0.80
model_fields_schemaMethod · 0.80
int_schemaMethod · 0.80
date_schemaMethod · 0.80
validate_stringsMethod · 0.80

Tested by

no test coverage detected