diff --git a/openapi_spec_validator/validation/keywords.py b/openapi_spec_validator/validation/keywords.py index 081a0ec..e21df31 100644 --- a/openapi_spec_validator/validation/keywords.py +++ b/openapi_spec_validator/validation/keywords.py @@ -144,7 +144,7 @@ def __call__( set(required) - set(properties) - set(nested_properties) ) else: - extra_properties = list(set(required) - set(properties)) + extra_properties = [] if extra_properties and require_properties: yield ExtraParametersError( diff --git a/tests/integration/validation/test_exceptions.py b/tests/integration/validation/test_exceptions.py index 687f85a..c8f5961 100644 --- a/tests/integration/validation/test_exceptions.py +++ b/tests/integration/validation/test_exceptions.py @@ -202,7 +202,7 @@ def test_allow_allof_when_required_is_linked_to_the_parent_object(self): errors_list = list(errors) assert errors_list == [] - def test_extra_parameters_in_required(self): + def test_allow_extra_parameters_in_required(self): spec = { "openapi": "3.0.0", "info": { @@ -225,10 +225,7 @@ def test_extra_parameters_in_required(self): errors = OpenAPIV30SpecValidator(spec).iter_errors() errors_list = list(errors) - assert errors_list[0].__class__ == ExtraParametersError - assert errors_list[0].message == ( - "Required list has not defined properties: ['testparam1']" - ) + assert len(errors_list) == 0 def test_undocumented_parameter(self): spec = {