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

Made sure we report strict validation errors for draft1 and draft2 schemas #379

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

iainbeeston
Copy link
Contributor

@iainbeeston iainbeeston commented Mar 14, 2017

We've had a bug for a while where strict validation didn't work for
draft1 and draft2 schemas. Strict validation should raise errors if
there are properties in the data that are not defined in the
schema. However, this was only happening with draft3 and draft4
schemas.

This error slipped through because the tests for strict validation
were silently switching to either draft4 or the default schema
version, and draft3 and draft4 did implement strict validation
correctly. So in practice we were never really testing draft1 and
draft2 with strict validation.

I've fixed this by refactoring the code that draft3 and draft4 used
for handling unrecognized properties (under strict validation) such
that it could also be used by draft1 and draft2, and fixed up the
strict validation tests so that they use the correct json-schema
draft.

@iainbeeston iainbeeston changed the title Made sure we report strict validation errors for draft1 and draft2 Made sure we report strict validation errors for draft1 and draft2 schemas Mar 14, 2017
@iainbeeston iainbeeston force-pushed the fix-strict-validation-in-draft1-draft2 branch from 8f0222b to 7dad000 Compare March 14, 2017 10:12
@iainbeeston
Copy link
Contributor Author

@RST-J Could I please get a review of this? (Should be quick)

@iainbeeston iainbeeston requested a review from pd July 6, 2017 07:47
schemas

We've had a bug for a while where strict validation didn't work for
draft1 and draft2 schemas. Strict validation should raise errors if
there are properties in the data that are not defined in the
schema. However, this was only happening with draft3 and draft4
schemas.

This error slipped through because the tests for strict validation
were silently switching to either draft4 or the default schema
version, and draft3 and draft4 did implement strict validation
correctly. So in practice we were never really testing draft1 and
draft2 with strict validation.

I've fixed this by refactoring the code that draft3 and draft4 used
for handling unrecognized properties (under strict validation) such
that it could also be used by draft1 and draft2, and fixed up the
strict validation tests so that they use the correct json-schema
draft.
@iainbeeston iainbeeston force-pushed the fix-strict-validation-in-draft1-draft2 branch from 7dad000 to fc8197c Compare July 6, 2017 07:48
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.

1 participant