pypi schemathesis 4.29.1
Release 4.29.1

3 hours ago

🚀 Added

  • Dependency inference unwraps result / data envelopes that carry metadata such as status or time.
  • Dependency inference treats PUT /items/{name} as the creator when nothing POSTs to /items.

🐛 Fixed

CLI

  • Return exit code 2 for run-wide configuration errors.
  • Report custom handler startup errors with a clean message.
  • Stateful worker hangs after Ctrl-C from custom handlers.

pytest plugin

  • Keep reports separate for identical schemas with different report configurations.
  • Reports including results from an identical schema that did not configure reports.

Python API

  • ImportError on from schemathesis.checks import content_type_conformance (and other built-in checks) before a schema is loaded.
  • schemathesis.check return type: decorated functions and classes keep their own type.
  • base_url passed to Case.call ignored for WSGI applications.

Stateful testing

  • Memory growing without bound during long runs with a time limit.
  • Crash in dependency inference for Open API 3.1 references to boolean schemas.
  • Crash in dependency inference for Open API 3.1 boolean schemas inside anyOf and oneOf.
  • Crash in dependency inference for response references targeting non-object values.
  • Inferred links reading foreign keys from responses that do not declare them.

Data generation

  • Hanging, or failing a health check, on arrays with a large minItems.
  • Crash while processing patterns beside string length bounds too large for regex engines.
  • "Failed Health Check" in negative mode for string path parameters carrying keywords of other types.
  • Missing negative multipart bodies for binary fields with multiple content types.
  • Preserve case-sensitive cookie parameter names.
  • Dictionary bindings on body paths ignored through recursive $ref schemas.

Coverage phase

  • Hanging on unique arrays with a large minItems.
  • Crashes and invalid positive cases from YAML binary keyword values.
  • Invalid positive cases for large arrays and objects beside prefixItems, if, or unevaluatedProperties.
  • Missing positive cases for satisfiable numeric multipleOf schemas with large bounds.

Request serialization

  • Send binary Open API 3.2 querystring parameters as percent-encoded raw queries.
  • Captured array path parameters ignoring their declared Open API style.

Schema handling

  • Report malformed Open API servers definitions as clean loading errors.
  • Report infinite recursive and unresolvable references as clean errors.
  • Report empty or non-object Open API parameter content as a clean error.
  • Stalls of up to 30s per document carrying an unreachable $schema URL.

negative_data_rejection

  • False positive when path and query numeric values are both valid on the wire.
  • Missed failures for invalid single-element arrays in query, header or cookie parameters.
  • Missed failures for invalid array or object query, header and cookie parameters.
  • Missed failures when an array parameter with a valid element accompanies invalid ones.
  • Missed failures for invalid path parameters beside undeclared query parameters.
  • Missed failures for numeric strings violating minimum or other bounds.

Others

  • False unsupported_method failures when a rate limiter answers an undeclared method with 429 Too Many Requests.
  • checks.enabled = false not disabling custom checks.
  • Report undecodable JSON response bodies as JSON parsing errors.
  • Missing closing delimiter in reproduce cURL commands for empty multipart bodies.

Don't miss a new schemathesis release

NewReleases is sending notifications on new releases.