Skip to content

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