Align validate roles procedure with 'version' model

Assigning 'virt' role for nodes requires 'version' model
in order to check that 'advanced' option is enabled in
feature group

Change-Id: Ic80ecd764f72da5ed756ba6ffad7bc060129eb6a
Closes-Bug: 1586500
This commit is contained in:
tivaliy
2016-05-29 08:53:12 +03:00
parent 21967daff1
commit 1e8faea9c7
2 changed files with 45 additions and 0 deletions

View File

@@ -83,6 +83,49 @@ class TestNodeAssignmentValidator(BaseUnitTest):
self.validator.check_roles_requirement(
roles, roles_metadata, self.models)
def test_check_roles_requirement_in_feature_group(self):
self.models['version'] = {
'feature_groups': ['advanced']
}
roles = ['test']
roles_metadata = {
'test': {
'restrictions': [
{
'condition': "not "
"('advanced' in version:feature_groups)",
'message': 'error'
}
]
}
}
self.validator.check_roles_requirement(
roles, roles_metadata, self.models)
def test_check_roles_requirement_not_in_feature_group(self):
self.models['version'] = {
'feature_groups': []
}
roles = ['test']
# disabled 'advanced' feature group
with self.assertRaises(errors.InvalidData):
roles_metadata = {
'test': {
'restrictions': [
{
'condition': "not ('advanced' in "
"version:feature_groups)",
'message': 'error'
}
]
}
}
self.validator.check_roles_requirement(
roles, roles_metadata, self.models)
def test_validate_collection_update_schema_requirements(self):
self.assertRaises(
errors.InvalidData,