osbs: Config validation should accept a list
There can be multiple images listed for a single variant, the config validation should not reject it. The syntax with a single config object is still accepted. The price for that is less descriptive error message when there are errors. Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
parent
079454c502
commit
bfc1cebbc4
@ -509,6 +509,25 @@ def _make_schema():
|
||||
"type": "object",
|
||||
},
|
||||
|
||||
"osbs_config": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"url": {"type": "string"},
|
||||
"target": {"type": "string"},
|
||||
"name": {"type": "string"},
|
||||
"version": {"type": "string"},
|
||||
"scratch": {"type": "boolean"},
|
||||
"priority": {"type": "number"},
|
||||
"repo": {
|
||||
"$ref": "#/definitions/repos",
|
||||
"append": "repo_from",
|
||||
},
|
||||
"gpgkey": {"type": "string"},
|
||||
"git_branch": {"type": "string"},
|
||||
},
|
||||
"required": ["url", "target", "git_branch"]
|
||||
},
|
||||
|
||||
"string_tuples": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@ -986,23 +1005,16 @@ def _make_schema():
|
||||
# format does not let us validate it as there is no regular
|
||||
# expression to describe all regular expressions.
|
||||
".+": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"url": {"type": "string"},
|
||||
"target": {"type": "string"},
|
||||
"name": {"type": "string"},
|
||||
"version": {"type": "string"},
|
||||
"scratch": {"type": "boolean"},
|
||||
"priority": {"type": "number"},
|
||||
"repo": {
|
||||
"$ref": "#/definitions/repos",
|
||||
"append": "repo_from",
|
||||
"anyOf": [
|
||||
{"$ref": "#/definitions/osbs_config"},
|
||||
{
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/osbs_config",
|
||||
},
|
||||
},
|
||||
"gpgkey": {"type": "string"},
|
||||
"git_branch": {"type": "string"},
|
||||
},
|
||||
"required": ["url", "target", "git_branch"]
|
||||
}
|
||||
],
|
||||
},
|
||||
},
|
||||
"additionalProperties": False,
|
||||
},
|
||||
|
@ -248,7 +248,7 @@ class OSBSThreadTest(helpers.PungiTestCase):
|
||||
'^Server$': cfg
|
||||
}
|
||||
self.assertEqual(
|
||||
(['Failed validation in osbs.^Server$: \'%s\' is a required property' % key], []),
|
||||
(['Failed validation in osbs.^Server$: %r is not valid under any of the given schemas' % cfg], []),
|
||||
checks.validate(config))
|
||||
|
||||
@mock.patch('pungi.util.resolve_git_url')
|
||||
|
Loading…
Reference in New Issue
Block a user