pypi schemathesis 3.0.0

latest releases: 3.27.0, 3.26.2, 3.26.1...
3 years ago

🚀 Features

  • ea64c29 --dry-run CLI option. When applied, Schemathesis won't send any data to the server and won't perform any response checks
  • 9c13450 A helpful error message when an operation is not found during the direct schema access
  • 7c528f4 Support data generation for text/plain media types with charset
  • e8bd16c Base URL for GraphQL schemas
  • f724df9 Run response_schema_conformance check on media types that are encoded with JSON (#927)

🐛 Bug fixes

  • 3c0883c Import in tests
  • 9e74ec6 Generating incomplete explicit examples
  • e1a54c0 CLI execution stops on errors during example generation
  • b8f42df Handling of API operations that contain reserved characters in their paths
  • f1566f7 CLI crash on schemas with operation names longer than the current terminal width
  • 7ab5c86 Invalid types in x-examples
  • 5ca14bf TypeError during nullable array parameter serialization
  • 4774398 Collecting nullable parameters that are behind references
  • 27bce30 Explicit examples for multipart forms
  • d578519 A possibility to override APIStateMachine.step
  • d25efba Unsatisfiable error in stateful testing
  • afa3daa Skip explicit examples generation if this phase is disabled via config
  • a5d3c65 Do not suggest to disable schema validation if it is already disabled
  • 9b93056 Apply body-level hooks
  • fad2c19 Internal error if filling missing explicit examples led to Unsatisfiable errors
  • bce08c4 --exitfirst CLI option trims the progress bar output when a failure occurs
  • b63a578 Use typing instead of typing_extensions
  • 152ccb8 Excessive reference inlining in large schemas
  • 44c6549 CLI failure if the tested operation is GET and has payload examples (#930)
  • 530d5b6 Distinguishing between no payload requests & null payload (#929)
  • 6f6cff0 Allow sending null as request payload if the schema expects it (#922)

🔧 Chores and Improvements

  • 16daedb Release 3.0.0
  • 1d793e3 Continue testing after schema parsing errors if possible
  • 418b56e Update pre-commit hooks
  • 882d12f Export from_aiohttp in the public API
  • 21072ae Do not export Stateful in the public API
  • de8fca0 Do not export init_default_strategies in the public API
  • 40b1860 Catch extra Hypothesis output
  • 82b3094 A better error message for invalid regex syntax
  • 8401998 Improve error messages for serialization errors (#998)
  • 11b28c8 Fix a typo
  • a61453e Allow the user in docker image to write to /app
  • 079da46 Do not require --base-url for schemas loaded via a file when dry run is enabled
  • 5d9e82e Deduplicate collected errors that don't come from failed checks
  • 441f825 Display all non-check failures in CLI tests
  • a543240 Shorter error messages on invalid schemas in some cases
  • 1c2c91f Allow running before_add_examples hooks even if default examples generation failed
  • ffdcee6 Fix passing the all option to the test server
  • e85d4e0 Use Python 3.9 for Schemathesis's Docker image
  • 000c9c7 Remove deprecated seed-isort-config pre-commit hook
  • bec459e Update pre-commit to v3.4.0
  • f4a7fd7 Disallow using --auth together with --header that sets the Authorization header.
  • 7b7e6ea Enforce path parameters to be required if schema validation is disabled
  • 4f5ecef Use keyword arguments for get_case_strategy call
  • 7266446 Unify the test server

📦 Other

  • 8459dd9 Add register_check to the API reference
  • 0fbf8e1 Add basic documentation for the public API
  • 08018ef Disable the filter_too_much health check in test_global_body_hook
  • a863007 Disable Hypothesis health checks for test_openapi_links_multiple_threads
  • 63622e7 Use --hypothesis-max-examples in a slow test
  • 711fb32 Split corpus tests into more jobs
  • cf8c4d7 Decrease the maximum number of examples in the CI Hypothesis profile
  • bf063c0 Add manual triggers
  • 2f08618 Ignore thread exceptions in test for keyboard interrupt
  • 6738258 Add missing imports to code examples
  • b0b6ea6 Use blacken-docs
  • a9cb16e Add a CI job to check docs
  • 3394c55 Rename endpoint to operation where necessary
  • a0ec86a Improve processing of API operation definitions
  • 881c35e Add tests on schemas from Open API catalog
  • 5f14f45 Document corner cases for stateful tests
  • b337551 Decrease memory usage
  • 103186d Use compiled versions of Open API spec validators
  • 74ddafe Add more tests on nullable parameters serialization
  • 4258045 Suppress Hypothesis health checks in test_optional_form_parameters
  • 4f0c8e7 Disable derandomization in stateful tests
  • b6cbbc8 Fix the schema_url fixture
  • 3358c83 Fix Hypothesis warnings
  • 0e5705d Rewrite the tests for stateful feature
  • 93c7c95 Fix scheduled jobs
  • 25bb3c4 Fix mutmut test error
  • 8ce5d35 Update FAQ
  • 40858b5 (changelog) Link additional issue
  • 70d48c4 Do not use conditionals for detecting the content of Hypothesis enums
  • a261895 (cli) Show option default values in the CLI help output
  • fbe6e23 (cli) Group CLI parameters help output
  • 7cb6392 Provide additional info in the test server output
  • 71fb6ec Move exit code decision out from the output handler
  • 57a702f Clarify low variance in generated data
  • d9ed57e Fix test_global_body_hook test
  • 036fc49 Add example project
  • 6d60cdc Remove deprecated git checkout HEAD^2 step from the CodeQL job
  • 2e9794d Disable the too_slow health check for some tests
  • 2ca9f50 Add a rare possibility into an assertion inside test_hypothesis_failed_event
  • c37304c Additional input validation for test server
  • 7646027 Improve reliability of the test server
  • 2e28b7e Add a test for interactions recording in ASGI apps
  • 7298a0a Remove not needed condition
  • f510a39 Remove not needed code for GraphQL schemas
  • 7bb50bc Remove deprecated stateful testing integration from the pytest plugin. (#933)
  • c6a9129 Minor refactorings & additional tests
  • 86c52cb Add more tests (#931)
  • 0a9e271 Fix displaying GIF on the PyPI page
  • d2e5168 Add more tests (#926)
  • edf9352 Use assume in some pytester-style tests (#924)
  • faabe7e Rename get_hypothesis_conversions -> get_parameter_serializer
  • 2dcadf3 Open API parameters handling

Don't miss a new schemathesis release

NewReleases is sending notifications on new releases.