apply_requires: add property if any property raise PropertyError if same_action is False
This commit is contained in:
@ -25,6 +25,37 @@ def test_requires():
|
||||
assert props == ['disabled']
|
||||
|
||||
|
||||
def test_requires_same_action():
|
||||
a = BoolOption('activate_service', '', True)
|
||||
b = BoolOption('activate_service_web', '', True,
|
||||
requires=[(a, False, 'new')])
|
||||
|
||||
d = IPOption('ip_address_service_web', '',
|
||||
requires=[(b, False, 'disabled', False, True, False)])
|
||||
od = OptionDescription('service', '', [a, b, d])
|
||||
c = Config(od)
|
||||
c.read_write()
|
||||
c.cfgimpl_get_settings().append('new')
|
||||
c.activate_service
|
||||
c.activate_service_web
|
||||
c.ip_address_service_web
|
||||
c.activate_service = False
|
||||
#
|
||||
props = []
|
||||
try:
|
||||
c.activate_service_web
|
||||
except PropertiesOptionError, err:
|
||||
props = err.proptype
|
||||
assert props == ['new']
|
||||
#
|
||||
props = []
|
||||
try:
|
||||
c.ip_address_service_web
|
||||
except PropertiesOptionError, err:
|
||||
props = err.proptype
|
||||
assert props == ['disabled']
|
||||
|
||||
|
||||
def test_requires_transitive():
|
||||
a = BoolOption('activate_service', '', True)
|
||||
b = BoolOption('activate_service_web', '', True,
|
||||
|
Reference in New Issue
Block a user