JSON-Schema-Test-Suite
JSON-Schema-Test-Suite copied to clipboard
Document the metaschema URI used for draft-next tests for authors of new tests and implementers wanting to run them
The draft-next folder contains tests for in-development next versions of the specification.
It allows us to get ahead of testing before the spec is complete.
At the minute in order to run these tests there's at least one notable extra step:
Tests like this one are how we represent validating schemas against metaschemas. But the URL used there for draft-next is a 404. Of course someone wanting to run that test can inject a metaschema for that URL to their implementation's schema store. But ideally, if we do already publish metaschemas iteratively for the next version of the spec, we should use the URL those are published under, and somehow remember to update it when "freezing" the draft-next folder on release.
But the URL used there for draft-next is a 404.
Why is this a problem? We don't require implementations to download schema resources from the network. I believe the draft-next schemas live in the draft-next branch of the json-schema-spec repository. Possibly we could link them into remotes/ using a submodule/subtree, but my expectation was that implementations would have to have local copies of the schemas anyway. (We certainly want to encourage that practice, as we've seen vast numbers of downloads of the other specs from the website, which could start to get expensive.)
It's not a problem, mostly I filed this since it's not obvious that that expectation is present (which confused me as an author when writing a new test) -- so perfectly happy to consider this just a "hey let's document that we use some URI for that schema" issue, write down your suggestion about how implementations get access to that schema, and then yeah not a bug at all.