File tree Expand file tree Collapse file tree 2 files changed +19
-0
lines changed
Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -51,6 +51,8 @@ def _ensure_strict_json_schema(
5151 typ = json_schema .get ("type" )
5252 if typ == "object" and "additionalProperties" not in json_schema :
5353 json_schema ["additionalProperties" ] = False
54+ elif typ == "object" and json_schema .get ("additionalProperties" ) is None :
55+ json_schema ["additionalProperties" ] = False
5456 elif (
5557 typ == "object"
5658 and "additionalProperties" in json_schema
Original file line number Diff line number Diff line change @@ -156,3 +156,20 @@ def test_null_values_removal():
156156 assert "maximum" not in param_schema
157157 assert "items" not in param_schema
158158 assert "properties" not in param_schema
159+
160+
161+ def test_additional_properties_none_handling ():
162+ """
163+ Test that additionalProperties: None is properly converted to False to maintain strictness.
164+ """
165+ schema_with_none_additional_properties = {
166+ "type" : "object" ,
167+ "properties" : {"param" : {"type" : "string" }},
168+ "additionalProperties" : None ,
169+ }
170+
171+ result = ensure_strict_json_schema (schema_with_none_additional_properties )
172+
173+ # additionalProperties should be False, not removed
174+ assert result ["additionalProperties" ] is False
175+ assert "additionalProperties" in result
You can’t perform that action at this time.
0 commit comments