🚀 Added
- Support for validating
httpx2responses inCase.validate_response.
🔧 Changed
- Suggest the server URL declared in the schema when the missing
base_urlerror fires. - Mention
warnings.fail-onin the--warningshelp text.
🐛 Fixed
Coverage phase
- Keeping
falseforconst: 0(and vice versa) when intersecting allowed values. - Emitting branch values that ignore a sibling
anyOf/oneOf/allOfor the keywords beside them. - Emitting objects without a name one
allOfbranch requires and another forbids. - Duplicate positive cases for schemas combining
anyOf/oneOfwith keywords beside them. - Emitting a property's
constthat the rest of its schema rejects. - Emitting a
oneOfvalue a second branch admits under the operation's draft. - Emitting
enum/constmembers the operation's draft rejects. - Emitting
example/defaultvalues the operation's draft rejects. - Judging
anyOf/oneOfbranch values against the parent in the wrong draft. - Crashing on
multipleOfbeside a numeric bound past 28 significant digits. - Emitting
multipleOfsteps no float can carry, landing back on the excluded bound. - Numeric
exclusiveMinimum/exclusiveMaximumoverriding a tighterminimum/maximuminstead of combining. - Integer boundary values emitted as floats when the bound is written like
7.0. - Integer steps past float bounds taken in binary, not the decimal the validator reads.
- Emitting an excluded integer bound when
minimum/maximumrepeats a large floatexclusiveMinimum/exclusiveMaximum. - Emitting a float as a type violation for
integerwhennumberis allowed too. - Emitting a non-multiple for
multipleOfpast 2^53. - Emitting
infas a violation of a bound at the largest float. - Generating non-integer values for integers with a fractional
multipleOf. - Dropping every value of a type when another type's container template cannot be built.
- Ignoring
additionalPropertiesfor required names absent fromproperties. - Exceeding
maxPropertieswhen covering a property the template omits. - Emitting an optional object property whose schema requires a name it forbids.
- Emitting a non-object as a
minPropertiesviolation for untyped schemas. - Dropping properties named
if,then,else, ornotfrom nested templates. - Generating no positive cases for objects with an ungeneratable property.
- Crashing on a
patternwhoseminLengthexceeds the generation buffer. - Emitting values for strings, alone or as properties, whose
minLengthexceedsmaxLength. - Omitting string parameters with a very large
maxLength. - Crashing on a
patternwhoseminLengthexceedsmaxLength. - Crashing on a
minItems/minPropertiespast the generation buffer beside a combinator. - Filling a large
minItems/minPropertiesfloor past a smaller ceiling. - Hanging on a
maxPropertiespast the generation buffer. - Crashing on a large
minItemswithoutitems, and building arrays past the generation buffer. - Crashing on a
minPropertiespast the generation buffer. - Spending a minute on a
minPropertiesin the hundreds and then emitting nothing. - Sending empty array and object path parameters that blank the path segment.
- Repeating requests when different generated values serialize identically.
- Ignoring header and cookie
example/defaultvalues with non-alphanumeric characters. - Skipping body examples that name a
readOnlyfield. - Reusing generated values across operations whose
$reftargets differ.
False positives
positive_data_acceptancefor values with a siblinganyOf/oneOfin the coverage phase.negative_data_rejectionforformat: floatbounds a single-precision server cannot distinguish.negative_data_rejectionfor numeric bounds past 2^53 in the coverage phase.negative_data_rejectionfor bodies whose schema declares aformatanywhere.
Others
- Report a
minItems/minPropertiespast the generation buffer as a schema error instead of a health check. - Non-body parameters with
anyOf/oneOf/$refschemas losing theirnullbranch to the default string type. - Object values for query parameters declared with
anyOf/oneOfserialized as their property names.