Files
supervisor/tests/api
dfe727410c Fix length validation of str and password options with bounds (#7044)
* Fix length validation of str and password options with bounds

App option schemas like str(1,32) validated the string value with
vol.Range, which compares the value itself against the numeric bounds.
Comparing a str with a float raises TypeError, which voluptuous reports
as "invalid value or type (must have a partial ordering)". As a result,
saving options always failed for any add-on using a bounded str or
password schema; unbounded str/password was unaffected since vol.Range
without bounds performs no comparison.

Use vol.Length to check the string length against the bounds, which is
the documented meaning of str(min,max). Also replace the str(value)
literal (a self-equality check) with the str type so non-string values
still fail validation, now with a clearer error message.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Update API test for changed non-string option error message

Validating a str option against the str type instead of the str(value)
literal changed the voluptuous error for non-string values from "not a
valid value" to "expected str". Update the expected message in the API
options error test accordingly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 13:31:28 +02:00
..