validate schema, and fix some bits

This commit is contained in:
Michael Hudson-Doyle 2020-03-26 12:39:20 +13:00
parent ac6d938ffa
commit 57f0a869d3
4 changed files with 11 additions and 7 deletions

View File

@ -18,6 +18,8 @@ import copy
import json
import sys
import jsonschema
from subiquity.cmd.tui import parse_options
from subiquity.core import Subiquity
@ -27,10 +29,10 @@ base_schema = {
'version': {
'type': 'integer',
'minumum': 1,
'maximum': 2,
'maximum': 1,
},
},
'requiredProperties': ['version'],
'required': ['version'],
'additionalProperties': True,
}
@ -54,7 +56,9 @@ def main():
app = Subiquity(opts, None)
app.base_model = app.make_model()
app.controllers.load_all()
json.dump(make_schema(app), sys.stdout, indent=4)
schema = make_schema(app)
jsonschema.validate({"version": 1}, schema)
print(json.dumps(make_schema(app), indent=4))
if __name__ == '__main__':

View File

@ -34,7 +34,7 @@ class IdentityController(SubiquityController):
'hostname': {'type': 'string'},
'password': {'type': 'string'},
},
'requiredProperties': ['username', 'hostname', 'password'],
'required': ['username', 'hostname', 'password'],
'additionalProperties': False,
}

View File

@ -36,7 +36,7 @@ class KeyboardController(SubiquityController):
'variant': {'type': 'string'},
'toggle': {'type': 'string'},
},
'requiredProperties': ['layout'],
'required': ['layout'],
'additionalProperties': False,
}
signals = [

View File

@ -55,9 +55,9 @@ class ReportingController(NoUIController):
'type': 'object',
'properties': {
'type': {'type': 'string'},
'requiredProperties': ['type'],
'additionalProperties': True,
},
'required': ['type'],
'additionalProperties': True,
},
}