@@ -2395,3 +2395,46 @@ paths:
23952395 })
23962396 assert .Greater (t , count , 0 , "Schema cache should have entries from path-level parameters" )
23972397}
2398+
2399+ // TestSortValidationErrors tests that validation errors are sorted deterministically
2400+ func TestSortValidationErrors (t * testing.T ) {
2401+ // Create errors in random order
2402+ errs := []* errors.ValidationError {
2403+ {ValidationType : "security" , Message : "API Key missing" },
2404+ {ValidationType : "parameter" , Message : "Path param invalid" },
2405+ {ValidationType : "request" , Message : "Body invalid" },
2406+ {ValidationType : "parameter" , Message : "Header missing" },
2407+ {ValidationType : "security" , Message : "Auth header missing" },
2408+ }
2409+
2410+ sortValidationErrors (errs )
2411+
2412+ // Verify sorted by validation type first, then by message
2413+ assert .Equal (t , "parameter" , errs [0 ].ValidationType )
2414+ assert .Equal (t , "Header missing" , errs [0 ].Message )
2415+ assert .Equal (t , "parameter" , errs [1 ].ValidationType )
2416+ assert .Equal (t , "Path param invalid" , errs [1 ].Message )
2417+ assert .Equal (t , "request" , errs [2 ].ValidationType )
2418+ assert .Equal (t , "Body invalid" , errs [2 ].Message )
2419+ assert .Equal (t , "security" , errs [3 ].ValidationType )
2420+ assert .Equal (t , "API Key missing" , errs [3 ].Message )
2421+ assert .Equal (t , "security" , errs [4 ].ValidationType )
2422+ assert .Equal (t , "Auth header missing" , errs [4 ].Message )
2423+ }
2424+
2425+ // TestSortValidationErrors_Empty tests sorting empty slice
2426+ func TestSortValidationErrors_Empty (t * testing.T ) {
2427+ errs := []* errors.ValidationError {}
2428+ sortValidationErrors (errs )
2429+ assert .Empty (t , errs )
2430+ }
2431+
2432+ // TestSortValidationErrors_SingleElement tests sorting single element slice
2433+ func TestSortValidationErrors_SingleElement (t * testing.T ) {
2434+ errs := []* errors.ValidationError {
2435+ {ValidationType : "parameter" , Message : "Invalid value" },
2436+ }
2437+ sortValidationErrors (errs )
2438+ assert .Len (t , errs , 1 )
2439+ assert .Equal (t , "parameter" , errs [0 ].ValidationType )
2440+ }
0 commit comments