requirements: calculate all requirements for an option

This commit is contained in:
2013-09-02 17:13:07 +02:00
parent 52a6705fbf
commit 4636a977cc
3 changed files with 35 additions and 8 deletions

View File

@ -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', '',