requirements: calculate all requirements for an option
This commit is contained in:
@ -88,6 +88,30 @@ def test_multiple_requires():
|
||||
c.ip_address_service
|
||||
|
||||
|
||||
def test_multiple_requires_cumulative():
|
||||
a = StrOption('activate_service', '')
|
||||
b = IPOption('ip_address_service', '',
|
||||
requires=[{'option': a, 'expected': 'yes', 'action': 'disabled'},
|
||||
{'option': a, 'expected': 'yes', 'action': 'hidden'}])
|
||||
od = OptionDescription('service', '', [a, b])
|
||||
c = Config(od)
|
||||
c.read_write()
|
||||
c.ip_address_service
|
||||
c.activate_service = 'yes'
|
||||
props = []
|
||||
try:
|
||||
c.ip_address_service
|
||||
except PropertiesOptionError as err:
|
||||
props = err.proptype
|
||||
assert set(props) == set(['hidden', 'disabled'])
|
||||
|
||||
c.activate_service = 'ok'
|
||||
c.ip_address_service
|
||||
|
||||
c.activate_service = 'no'
|
||||
c.ip_address_service
|
||||
|
||||
|
||||
def test_multiple_requires_inverse():
|
||||
a = StrOption('activate_service', '')
|
||||
b = IPOption('ip_address_service', '',
|
||||
|
Reference in New Issue
Block a user