@@ -163,6 +163,12 @@ def _validate_ref(schema_ref: str, name: str, value: t.Any, components: t.Dict[s
163163 if not schema_ref .startswith ("#/components/schemas/" ):
164164 raise SchemaError (_ ("'{name}' contains an invalid reference." ).format (name = name ))
165165 schema_name = schema_ref [21 :]
166+ # DEBUG: Print the resolved schema
167+ import sys
168+ resolved_schema = components [schema_name ]
169+ print (f"DEBUG: Resolved schema '{ schema_name } ': { resolved_schema } " , file = sys .stderr )
170+ if "required" in resolved_schema :
171+ print (f"DEBUG: Required fields: { resolved_schema ['required' ]} " , file = sys .stderr )
166172 validate (components [schema_name ], name , value , components )
167173
168174
@@ -226,6 +232,10 @@ def _validate_number(
226232def _validate_object (
227233 schema : t .Any , name : str , value : t .Any , components : t .Dict [str , t .Any ]
228234) -> None :
235+ import sys
236+ print (f"DEBUG _validate_object: name='{ name } ', value keys={ list (value .keys ()) if isinstance (value , dict ) else 'NOT_A_DICT' } " , file = sys .stderr )
237+ print (f"DEBUG _validate_object: schema.get('required')={ schema .get ('required' )} " , file = sys .stderr )
238+
229239 _assert_type (name , value , dict , "object" )
230240 extra_values = {}
231241 properties = schema .get ("properties" , {})
@@ -247,6 +257,7 @@ def _validate_object(
247257 validate (additional_properties , f"{ name } [{ pname } ]" , pvalue , components )
248258 if (required := schema .get ("required" )) is not None :
249259 if missing_keys := set (required ) - set (value .keys ()):
260+ print (f"DEBUG _validate_object: THROWING ValidationError! required={ required } , value.keys()={ list (value .keys ())} , missing={ missing_keys } " , file = sys .stderr )
250261 raise ValidationError (
251262 _ ("'{name}' is missing properties ({missing})." ).format (
252263 name = name , missing = ", " .join (missing_keys )
0 commit comments