Clean up the schemas
(@samuel.gaist this is the issue for our email discussion)
Both !55 (merged) and !65 showed that there were places to improve the schema. This issue expands on those MRs' work by using the v6/v7 json schema features (where appropriate) and adding tests to complicated parts of the schema. Right now I know of a couple of things that need to be done:
-
Use the const
schema keyword instead of theenum
with only one choice. This issue is documented in the schema, e.g. in beat.core/beat/core/schema/algorithm/3.json:
115- "type": {
116: "$comment": "Change enum to const when tools allow v6 json schema",
117- "type": "string",
118- "enum": ["loop_user"]
119- }
--
144- "type": {
145: "$comment": "Change enum to const when tools allow v6 json schema",
146- "type": "string",
147- "enum": ["loop"]
148- }
-
Use the if
/then
/else
keywords from json schema v7 to represent more complex logic (e.g. the changes to algorithm parameters in !65) - As found in !65, there are parts of the schema that aren't tested thoroughly. This is nebulous issue, however, so @flavio.tarsetti @samuel.gaist could you maybe specify what I should do here, so I don't go off the rails?
(As other issues are isolated, I'll add them to the list)
Edited by Jaden DIEFENBAUGH