pypi schemathesis 3.15.0
Release 3.15.0

latest releases: 3.19.7, 3.19.6, 3.19.5...
17 months ago

Major improvements for GraphQL GraphQL_Logo

This release introduces a bunch of nice improvements for GraphQL testing - now you can test mutations, extend Schemathesis with custom scalars, and run tests at least twice as fast as before!

Other things include cleaner pytest output, human-readable cassette payloads, reporting flaky failures, better negative testing, and much more! See below

🚀 Added

  • GraphQL: Mutations supports. Schemathesis will generate random mutations by default from now on.
  • GraphQL: Support for registering strategies to generate custom scalars.
  • Custom auth support for schemas created via from_pytest_fixture.

🔧 Changed

  • Do not encode payloads in cassettes as base64 by default. This change makes Schemathesis match the default Ruby's VCR behavior and
    leads to more human-readable cassettes. Use --cassette-preserve-exact-body-bytes to restore the old behavior. #1413
  • Bump hypothesis-graphql to 0.9.0.
  • Avoid simultaneous authentication requests inside auth providers when caching is enabled.
  • Reduce the verbosity of the pytest output. A few internal frames and the "Falsifying example" block are removed from the output.
  • Skip negative tests on API operations that are not possible to negate. #1463
  • Make it possible to generate negative tests if at least one parameter can be negated.
  • Treat flaky errors as failures and display a full report about the failure. #1081
  • Do not duplicate failing explicit examples in the HYPOTHESIS OUTPUT CLI output section. #881

🐛 Fixed

  • GraphQL: Semantically invalid queries without aliases.
  • GraphQL: Rare crashes on invalid schemas.
  • Internal error inside BaseOpenAPISchema.validate_response on requests>=2.27 when response body contains malformed JSON. #1485
  • schemathesis.from_pytest_fixture: Display each failure if Hypothesis found multiple of them.

🏎️ Performance

  • GraphQL: Over 2x improvement from internal optimizations.

Don't miss a new schemathesis release

NewReleases is sending notifications on new releases.