Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle empty bodies in lexicon validation #2746

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

dholms
Copy link
Collaborator

@dholms dholms commented Aug 26, 2024

There's a weird edge case in lexicon validation around a schema moving from having no output schema to having an output schema with all optional properties. This is allowed in Lexicon. And it actually works with the current code but not for the reasons we expect.

The existing code will parse the body as an empty array and then treat it as an object and do lexicon checks against it as if it is the parsed JSON of the response.

Instead, we parse an empty body with no content type as undefined, and then in the higher level lexicon assertions (for validating output/input/params), pass instead pass the undefined through as an empty JSON object.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants