Releases: mattpolzin/jsonapi-openapi-test-server
Rudimentary support for anyOf schemas
This implementation is not accurate in the general case, but it supports anyOf
at least a little by generating the same Poly
structures as are generated for oneOf
.
Multiple Named Examples
Supports generating multiple example parse tests when multiple named examples are provided on responses.
OneOf and multiline errors.
- Add support for
OneOf
JSON Schema in more places, namely JSON:API attributes. - Add support for multiline error messages in console logs.
Add path parameter definition validation
Add a validation (only run when --validate-all
flag is used) that all path parameters in the documentation are also defined by name in the parameters
under each Path Item or Operation.
Error improvements
- Fix bug when parameter definitions are missing.
- make validation optional but make script exit non-zero if validations fail with fail-hard enabled.
Update to Open APIKit v2 & JSONAPI v5
Update to OpenAPIKit v2 and introduce validation errors to testing output.
You now get parsing errors & warnings, validation errors, and test execution errors as part of a test run.
Updating to JSONAPI v5 comes with much clearer error reporting when JSON:API includes fail to parse.
Fix API Test Properties lookup and creation
0.11.1 fix bug with test properties creation and lookup not accounting for n…
Add parser option to API Test Properties
Expose a new property for tests that chooses between a stable and fast parser. The stable option is the one that was historically available.
This is a breaking change for the API because the api_test_properties
model has gained a new required attribute.
Support non-GET endpoints
Adds support (finally) for non-GET http methods. Also fixes a bug where disk caching of test responses could mess up test results. now ephemeral caching is used.
Support explicitly not-JSON:API endpoints
Support the x-not-json-api
specification extension on OpenAPI Media Item that makes an endpoint not even warn you if it is not JSON:API compliant because you've stated it is not expected to be.