Add optional id property to test schema (#698) #789
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds support for the optional
idproperty to the test schema, enabling stable identifiers for test cases and individual tests as discussed in #698.Changes
idproperty to test case schema definitionidproperty to individual test schema definition ($defs/test)idproperties are optional (not inrequiredarray) for backward compatibilitySpecification References
This change enables the behavior discussed in #698 where test cases can be tracked over time even when:
Schema Structure
Test Case Level
Individual Test Level (
$defs/test)Testing
python -m json.toolbin/jsonschema_suite checksuccessfullyidis not inrequiredarrays (optional for backward compatibility)Design Rationale
idproperty definition, no other modifications to the schema structure.Related Issue
Relates to #698
Next Steps
After this PR is merged:
enum.json)Review Notes
This is a foundational change that enables the work in #698. The actual addition of UUID values to test files will come in subsequent PRs (one file at a time per repository guidelines).
Looking forward to feedback! Happy to make any adjustments. :)