empty follower without empty property is valid

This commit is contained in:
2019-12-19 17:18:09 +01:00
parent fb93c0cf6f
commit 0cb69f7a85
2 changed files with 14 additions and 1 deletions

View File

@ -54,9 +54,13 @@ permissive
mandatory
should set value for option with this properties if 'mandatory' is set in
config
example: 'a', ['a'], [None] are valid
None, [] are not valid
empty
raise mandatory PropertiesOptionError if multi or leader have empty value
example: ['a'] is valid
[None] is not valid
unique
raise ValueError if a value is set twice or more in a multi Option
@ -702,10 +706,15 @@ class Settings(object):
option_bag):
if 'mandatory' in option_bag.config_bag.properties:
values = option_bag.config_bag.context.cfgimpl_get_values()
if option_bag.option.impl_is_follower():
force_allow_empty_list = True
else:
force_allow_empty_list = False
if not ('permissive' in option_bag.config_bag.properties and
'mandatory' in option_bag.config_bag.permissives) and \
'mandatory' in option_bag.properties and values.isempty(option_bag.option,
value,
force_allow_empty_list=force_allow_empty_list,
index=option_bag.index):
raise PropertiesOptionError(option_bag,
['mandatory'],