1414from tests .test_utils import UnitTestContextValidator
1515from validataclass .dataclasses import Default , DefaultFactory , DefaultUnset , validataclass , validataclass_field
1616from validataclass .exceptions import (
17- AdditionalPropertiesError ,
17+ UnknownFieldsError ,
1818 DataclassInvalidPreValidateSignatureException ,
1919 DataclassPostValidationError ,
2020 DataclassValidatorFieldException ,
@@ -60,9 +60,9 @@ class UnitTestNestedDataclass:
6060 validataclass_field (DataclassValidator (UnitTestDataclass ), default = Default (None ))
6161
6262
63- # Dataclass with prevent_additional_properties =True
63+ # Dataclass with reject_unknown_fields =True
6464
65- @validataclass (prevent_additional_properties = True )
65+ @validataclass (reject_unknown_fields = True )
6666class UnitTestStrictDataclass :
6767 """
6868 Dataclass that does not allow additional properties in the input dictionary.
@@ -1151,8 +1151,8 @@ class IncompatibleDataclass:
11511151 str (exception_info .value )
11521152 == 'Default specified for dataclass field "foo" is not an instance of "BaseDefault".'
11531153 )
1154- # Tests for prevent_additional_properties option
11551154
1155+ # Tests for reject_unknown_fields option
11561156 @staticmethod
11571157 def test_strict_dataclass_valid ():
11581158 """ Validate a strict dataclass with no extra keys. """
@@ -1180,26 +1180,26 @@ def test_strict_dataclass_valid_with_optional_field_omitted():
11801180
11811181 @staticmethod
11821182 def test_strict_dataclass_with_additional_properties ():
1183- """ Test that a strict dataclass raises AdditionalPropertiesError for unknown keys. """
1183+ """ Test that a strict dataclass raises UnknownFieldsError for unknown keys. """
11841184 validator = DataclassValidator (UnitTestStrictDataclass )
11851185
1186- with pytest .raises (AdditionalPropertiesError ) as exception_info :
1186+ with pytest .raises (UnknownFieldsError ) as exception_info :
11871187 validator .validate ({
11881188 'name' : 'banana' ,
11891189 'unknown_field' : 'unknown_value' ,
11901190 })
11911191
11921192 assert exception_info .value .to_dict () == {
1193- 'code' : 'additional_properties ' ,
1194- 'additional_properties ' : ['unknown_field' ],
1193+ 'code' : 'unknown_fields ' ,
1194+ 'unknown_fields ' : ['unknown_field' ],
11951195 }
11961196
11971197 @staticmethod
1198- def test_strict_dataclass_with_multiple_additional_properties ():
1199- """ Test that additional properties are sorted in the error. """
1198+ def test_strict_dataclass_with_multiple_additional_fields ():
1199+ """ Test that additional fields are sorted in the error. """
12001200 validator = DataclassValidator (UnitTestStrictDataclass )
12011201
1202- with pytest .raises (AdditionalPropertiesError ) as exception_info :
1202+ with pytest .raises (UnknownFieldsError ) as exception_info :
12031203 validator .validate ({
12041204 'name' : 'banana' ,
12051205 'zebra' : 1 ,
@@ -1208,13 +1208,13 @@ def test_strict_dataclass_with_multiple_additional_properties():
12081208 })
12091209
12101210 assert exception_info .value .to_dict () == {
1211- 'code' : 'additional_properties ' ,
1212- 'additional_properties ' : ['alpha' , 'mango' , 'zebra' ],
1211+ 'code' : 'unknown_fields ' ,
1212+ 'unknown_fields ' : ['alpha' , 'mango' , 'zebra' ],
12131213 }
12141214
12151215 @staticmethod
1216- def test_default_allows_additional_properties ():
1217- """ Test that by default (prevent_additional_properties =False), unknown keys are silently ignored. """
1216+ def test_default_allows_additional_fields ():
1217+ """ Test that by default (reject_unknown_fields =False), unknown keys are silently ignored. """
12181218 validator = DataclassValidator (UnitTestDataclass )
12191219 validated_data = validator .validate ({
12201220 'name' : 'banana' ,
@@ -1228,10 +1228,10 @@ def test_default_allows_additional_properties():
12281228 assert validated_data .name == 'banana'
12291229
12301230 @staticmethod
1231- def test_explicit_prevent_additional_properties_false ():
1232- """ Test that prevent_additional_properties =False explicitly allows unknown keys. """
1231+ def test_explicit_reject_unknown_fields_false ():
1232+ """ Test that reject_unknown_fields =False explicitly allows unknown keys. """
12331233
1234- @validataclass (prevent_additional_properties = False )
1234+ @validataclass (reject_unknown_fields = False )
12351235 class ExplicitAllowDataclass :
12361236 name : str = StringValidator ()
12371237
0 commit comments