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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user