diff --git a/fuel_plugin_builder/tests/test_validator_v3.py b/fuel_plugin_builder/tests/test_validator_v3.py index 9d2294d..a825999 100644 --- a/fuel_plugin_builder/tests/test_validator_v3.py +++ b/fuel_plugin_builder/tests/test_validator_v3.py @@ -549,6 +549,24 @@ class TestValidatorV3(BaseValidator): utils_mock, mock_data, err_msg, self.validator.check_node_roles_schema) + @mock.patch('fuel_plugin_builder.validators.base.utils') + def test_check_node_role_conflicts(self, utils_mock): + utils_mock.parse_yaml.return_value = { + 'plugin_name': { + 'name': 'test_plugin', + 'description': 'test plugin', + 'conflicts': '*'}} + + self.validator.check_node_roles_schema() + + utils_mock.parse_yaml.return_value = { + 'plugin_name': { + 'name': 'test_plugin', + 'description': 'test plugin', + 'conflicts': ['some_role']}} + + self.validator.check_node_roles_schema() + @mock.patch('fuel_plugin_builder.validators.base.utils') def test_check_valid_volumes_roles_mapping_name(self, utils_mock): utils_mock.parse_yaml.return_value = { diff --git a/fuel_plugin_builder/validators/schemas/v3.py b/fuel_plugin_builder/validators/schemas/v3.py index 81e3374..d79411d 100644 --- a/fuel_plugin_builder/validators/schemas/v3.py +++ b/fuel_plugin_builder/validators/schemas/v3.py @@ -326,7 +326,10 @@ class SchemaV3(SchemaV2): 'type': 'string', 'description': ('Short description of role' ' functionality')}, - 'conflicts': self.list_of_strings, + 'conflicts': { + 'oneOf': [ + self.list_of_strings, + {'type': 'string', 'enum': ['*']}]}, 'has_primary': { 'type': 'boolean', 'description': ('During orchestration this role'