openapi-validator-proxy

Releases

Version 0.5.0 (2025-04-09)

v0.5.0 Apr 9 2025 at 20:27 UTC

New Features:

  • Added support for Request Validation. For now, this only includes request body validation and uses the exact same logic as response body validation.
  • The FailureType enum has also been updated to include many Request specific types. Check the docs site for the full list.

Version 0.4.1 (2024-12-01)

v0.4.1 Dec 1 2024 at 20:16 UTC

Bug Fixes:

  • Properties were not showing in Failure messages. This was fixed by duplicating the properties in the failure message.

Version 0.4.0 (2024-12-01)

v0.4.0 Dec 1 2024 at 18:08 UTC

New Features:

  • Updated testcase names to include "{method} {path} {correlationId}" to make it easier to see what a testcase is for at a glance.
  • Added properties to the tag in the JUnit report to make it easier for people to see what the properties for a testcase are.
  • Added correlationId to the properties.

Version 0.3.6 (2024-11-30)

v0.3.6 Nov 30 2024 at 22:11 UTC

Bug Fixes:

  • Using the properties tag within a testcase doesn't seem to be well supported. Instead I've opted to use instead to communicate what the properties for a testcase are. I believe this should be more widely supported.

Version 0.3.5 (2024-10-28)

v0.3.5 Oct 29 2024 at 05:39 UTC

Bug Fixes:

  • I think I messed up the JUnit template when I originally implemented it. Previously the report would start with a element and then start listing the s. This release starts the report with a element, then a element, and then lists the s. This should be the correct format.

Version 0.3.4 (2024-10-28)

v0.3.4 Oct 29 2024 at 04:37 UTC

Bug Fixes:

  • It turns out the proxy would panic if the response body was empty. This has been fixed by trying to get the response body bytes and if that fails, assume there wasn't a body.

Version 0.3.3 (2024-10-27)

v0.3.3 Oct 28 2024 at 03:31 UTC

Chores:

  • Adding documentation pages for Custom Headers, Reports, JUnit, and Contributing Bug Fixes:
  • Depending on if you ended the upstream suffix with a / or not, the proxy would not correctly match the operation in the OpenAPI file. This has been fixed so that the proxy will correctly match the operation in the OpenAPI file regardless of an ending / on the upstream URL.

Version 0.3.2 (2024-10-27)

v0.3.2 Oct 28 2024 at 01:09 UTC

Bug Fixes:

  • Entries in the Validation Failures page were missing because the script used to generate the entries required rust nightly. The site build now uses the nightly toolchain to accomodate this.

Version 0.3.1 (2024-10-27)

v0.3.1 Oct 28 2024 at 00:09 UTC

Chores:

  • Fixing the GitHub pages site. I was looking at the wrong default branch.

Version 0.3.0 (2024-10-27)

v0.3.0 Oct 27 2024 at 23:53 UTC

Chores:

  • Trying to put together a GitHub pages site for the project

Version 0.2.0 (2024-10-25)

v0.2.0 Oct 26 2024 at 06:01 UTC

New Features:

  • Support for suffixed upstream url
    • This allows the proxy to work with servers that are mounted at a path other than the root. For example, if your server is mounted at /api/v1 you can run openapi-validator-proxy proxy petstore.yaml http://localhost:8080/api/v1. Make a GET request to http://localhost:3000/api/v1/pets and the proxy will forward the request to http://localhost:8080/api/v1/pets. Validation will match against the GET /pets operation in the OpenAPI file.

Version 0.1.2 (2024-10-25)

v0.1.2 Oct 26 2024 at 02:35 UTC

New Features:

  • Add --version flag to print the version of the binary

Version 0.1.1 (2024-10-21)

v0.1.1 Oct 22 2024 at 06:19 UTC

Chores:

  • Updated README to mention looking for binaries in the releases tab
  • Added integration tests
  • Add CI workflow to run tests/linting/formatting

Version 0.1.0 (2024-10-21)

v0.1.0 Oct 22 2024 at 05:45 UTC

Initial release!

The proxy command sort of works to validate requests. This includes functionality that validates:

  • path
  • HTTP method
  • object response bodies
  • allOf response properties
  • string/boolean/number/array response properties

Results are captured in a Junit report which can be found at localhost:3000/_ovp/junit.

The following errors are also captures in the Junit report:

  • PathNotFound,
  • InvalidHTTPMethod,
  • InvalidStatusCode,
  • MissingResponseDefinition,
  • MissingContentTypeHeader,
  • MismatchedContentTypeHeader,
  • MismatchNonEmptyBody,
  • MissingSchemaDefinition,
  • FailedJSONDeserialization,
  • FailedValidationUnexpectedNull,
  • FailedValidationUnexpectedBoolean,
  • FailedValidationUnexpectedNumber,
  • FailedValidationUnexpectedString,
  • FailedValidationUnexpectedProperty,
  • FailedValidationUnsupportedSchemaKind,