1313from tests .test_utils import UnitTestContextValidator
1414from validataclass .dataclasses import Default , DefaultFactory , DefaultUnset , validataclass , validataclass_field
1515from validataclass .exceptions import (
16- AdditionalPropertiesError ,
16+ UnknownFieldsError ,
1717 DataclassInvalidPreValidateSignatureException ,
1818 DataclassPostValidationError ,
1919 DataclassValidatorFieldException ,
@@ -59,9 +59,9 @@ class UnitTestNestedDataclass:
5959 validataclass_field (DataclassValidator (UnitTestDataclass ), default = None )
6060
6161
62- # Dataclass with prevent_additional_properties =True
62+ # Dataclass with reject_unknown_fields =True
6363
64- @validataclass (prevent_additional_properties = True )
64+ @validataclass (reject_unknown_fields = True )
6565class UnitTestStrictDataclass :
6666 """
6767 Dataclass that does not allow additional properties in the input dictionary.
@@ -1144,7 +1144,7 @@ class IncompatibleDataclass:
11441144
11451145 assert str (exception_info .value ) == 'Default specified for dataclass field "foo" is not of type "Default".'
11461146
1147- # Tests for prevent_additional_properties option
1147+ # Tests for reject_unknown_fields option
11481148
11491149 @staticmethod
11501150 def test_strict_dataclass_valid ():
@@ -1173,26 +1173,26 @@ def test_strict_dataclass_valid_with_optional_field_omitted():
11731173
11741174 @staticmethod
11751175 def test_strict_dataclass_with_additional_properties ():
1176- """ Test that a strict dataclass raises AdditionalPropertiesError for unknown keys. """
1176+ """ Test that a strict dataclass raises UnknownFieldsError for unknown keys. """
11771177 validator = DataclassValidator (UnitTestStrictDataclass )
11781178
1179- with pytest .raises (AdditionalPropertiesError ) as exception_info :
1179+ with pytest .raises (UnknownFieldsError ) as exception_info :
11801180 validator .validate ({
11811181 'name' : 'banana' ,
11821182 'unknown_field' : 'unknown_value' ,
11831183 })
11841184
11851185 assert exception_info .value .to_dict () == {
1186- 'code' : 'additional_properties ' ,
1187- 'additional_properties ' : ['unknown_field' ],
1186+ 'code' : 'unknown_fields ' ,
1187+ 'unknown_fields ' : ['unknown_field' ],
11881188 }
11891189
11901190 @staticmethod
1191- def test_strict_dataclass_with_multiple_additional_properties ():
1192- """ Test that additional properties are sorted in the error. """
1191+ def test_strict_dataclass_with_multiple_additional_fields ():
1192+ """ Test that additional fields are sorted in the error. """
11931193 validator = DataclassValidator (UnitTestStrictDataclass )
11941194
1195- with pytest .raises (AdditionalPropertiesError ) as exception_info :
1195+ with pytest .raises (UnknownFieldsError ) as exception_info :
11961196 validator .validate ({
11971197 'name' : 'banana' ,
11981198 'zebra' : 1 ,
@@ -1201,13 +1201,13 @@ def test_strict_dataclass_with_multiple_additional_properties():
12011201 })
12021202
12031203 assert exception_info .value .to_dict () == {
1204- 'code' : 'additional_properties ' ,
1205- 'additional_properties ' : ['alpha' , 'mango' , 'zebra' ],
1204+ 'code' : 'unknown_fields ' ,
1205+ 'unknown_fields ' : ['alpha' , 'mango' , 'zebra' ],
12061206 }
12071207
12081208 @staticmethod
1209- def test_default_allows_additional_properties ():
1210- """ Test that by default (prevent_additional_properties =False), unknown keys are silently ignored. """
1209+ def test_default_allows_additional_fields ():
1210+ """ Test that by default (reject_unknown_fields =False), unknown keys are silently ignored. """
12111211 validator = DataclassValidator (UnitTestDataclass )
12121212 validated_data = validator .validate ({
12131213 'name' : 'banana' ,
@@ -1221,10 +1221,10 @@ def test_default_allows_additional_properties():
12211221 assert validated_data .name == 'banana'
12221222
12231223 @staticmethod
1224- def test_explicit_prevent_additional_properties_false ():
1225- """ Test that prevent_additional_properties =False explicitly allows unknown keys. """
1224+ def test_explicit_reject_unknown_fields_false ():
1225+ """ Test that reject_unknown_fields =False explicitly allows unknown keys. """
12261226
1227- @validataclass (prevent_additional_properties = False )
1227+ @validataclass (reject_unknown_fields = False )
12281228 class ExplicitAllowDataclass :
12291229 name : str = StringValidator ()
12301230
0 commit comments