properties are check now in getowner
get_modified_values works good with force_store_value
This commit is contained in:
@ -142,18 +142,27 @@ def test_freeze_get_multi():
|
||||
def test_force_store_value():
|
||||
descr = make_description_freeze()
|
||||
conf = Config(descr)
|
||||
assert conf.getowner(conf.unwrap_from_path('wantref')) == 'default'
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {}
|
||||
conf.wantref
|
||||
assert conf.getowner(conf.unwrap_from_path('wantref')) == 'user'
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {'wantref': ('user', False)}
|
||||
|
||||
|
||||
def test_force_store_value_no_requirement():
|
||||
booloption = BoolOption('bool', 'Test boolean option', default=True)
|
||||
try:
|
||||
BoolOption('wantref', 'Test requires', default=False,
|
||||
requires=({'option': booloption, 'expected': True, 'action': 'force_store_value'},))
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
|
||||
def test_force_store_value_ro():
|
||||
descr = make_description_freeze()
|
||||
conf = Config(descr)
|
||||
conf.read_only()
|
||||
assert conf.getowner(conf.unwrap_from_path('wantref')) == 'default'
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {}
|
||||
conf.wantref
|
||||
assert conf.getowner(conf.unwrap_from_path('wantref')) == 'user'
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {'wantref': ('user', False)}
|
||||
|
||||
|
||||
def test_force_store_value_hidden():
|
||||
@ -161,6 +170,60 @@ def test_force_store_value_hidden():
|
||||
conf = Config(descr)
|
||||
conf.cfgimpl_get_settings().setpermissive(('hidden',))
|
||||
conf.read_write()
|
||||
assert conf.getowner(conf.unwrap_from_path('wantref2')) == 'default'
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {}
|
||||
conf._getattr('wantref2', force_permissive=True)
|
||||
assert conf.getowner(conf.unwrap_from_path('wantref2')) == 'user'
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {'wantref2': ('user', False)}
|
||||
|
||||
|
||||
def test_force_store_value_owner():
|
||||
descr = make_description_freeze()
|
||||
conf = Config(descr)
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {}
|
||||
conf.getowner(conf.unwrap_from_path('wantref'))
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {'wantref': ('user', False)}
|
||||
|
||||
|
||||
def test_force_store_value_owner_ro():
|
||||
descr = make_description_freeze()
|
||||
conf = Config(descr)
|
||||
conf.read_only()
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {}
|
||||
conf.getowner(conf.unwrap_from_path('wantref'))
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {'wantref': ('user', False)}
|
||||
|
||||
|
||||
def test_force_store_value_owner_hidden():
|
||||
descr = make_description_freeze()
|
||||
conf = Config(descr)
|
||||
conf.cfgimpl_get_settings().setpermissive(('hidden',))
|
||||
conf.read_write()
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {}
|
||||
conf.getowner(conf.unwrap_from_path('wantref2'), force_permissive=True)
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {'wantref2': ('user', False)}
|
||||
|
||||
|
||||
def test_force_store_value_modified():
|
||||
descr = make_description_freeze()
|
||||
conf = Config(descr)
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {}
|
||||
conf.cfgimpl_get_values().get_modified_values()
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {'wantref': ('user', False), 'wantref2': ('user', False)}
|
||||
|
||||
|
||||
def test_force_store_value_modified_ro():
|
||||
descr = make_description_freeze()
|
||||
conf = Config(descr)
|
||||
conf.read_only()
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {}
|
||||
conf.cfgimpl_get_values().get_modified_values()
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {'wantref': ('user', False), 'wantref2': ('user', False)}
|
||||
|
||||
|
||||
def test_force_store_value_modified_hidden():
|
||||
descr = make_description_freeze()
|
||||
conf = Config(descr)
|
||||
conf.cfgimpl_get_settings().setpermissive(('hidden',))
|
||||
conf.read_write()
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {}
|
||||
conf.cfgimpl_get_values().get_modified_values()
|
||||
assert conf.cfgimpl_get_values()._p_.get_modified_values() == {'wantref': ('user', False), 'wantref2': ('user', False)}
|
||||
|
@ -99,8 +99,8 @@ def test_mandatory_multi_none():
|
||||
descr = make_description()
|
||||
config = Config(descr)
|
||||
config.str3 = [None]
|
||||
config.read_only()
|
||||
assert config.getowner(config.unwrap_from_path('str3')) == 'user'
|
||||
config.read_only()
|
||||
prop = []
|
||||
try:
|
||||
config.str3
|
||||
@ -109,8 +109,8 @@ def test_mandatory_multi_none():
|
||||
assert 'mandatory' in prop
|
||||
config.read_write()
|
||||
config.str3 = ['yes', None]
|
||||
config.read_only()
|
||||
assert config.getowner(config.unwrap_from_path('str3')) == 'user'
|
||||
config.read_only()
|
||||
prop = []
|
||||
try:
|
||||
config.str3
|
||||
@ -123,8 +123,8 @@ def test_mandatory_multi_empty():
|
||||
descr = make_description()
|
||||
config = Config(descr)
|
||||
config.str3 = ['']
|
||||
config.read_only()
|
||||
assert config.getowner(config.unwrap_from_path('str3')) == 'user'
|
||||
config.read_only()
|
||||
prop = []
|
||||
try:
|
||||
config.str3
|
||||
@ -133,8 +133,8 @@ def test_mandatory_multi_empty():
|
||||
assert 'mandatory' in prop
|
||||
config.read_write()
|
||||
config.str3 = ['yes', '']
|
||||
config.read_only()
|
||||
assert config.getowner(config.unwrap_from_path('str3')) == 'user'
|
||||
config.read_only()
|
||||
prop = []
|
||||
try:
|
||||
config.str3
|
||||
|
@ -5,7 +5,7 @@ from tiramisu.setting import owners
|
||||
from tiramisu.config import Config
|
||||
from tiramisu.option import ChoiceOption, BoolOption, IntOption, FloatOption, \
|
||||
StrOption, OptionDescription
|
||||
from tiramisu.error import ConfigError, ConstError
|
||||
from tiramisu.error import ConfigError, ConstError, PropertiesOptionError
|
||||
|
||||
|
||||
def make_description():
|
||||
@ -41,6 +41,14 @@ def test_default_owner():
|
||||
assert cfg.getowner(gcdummy) == owners.user
|
||||
|
||||
|
||||
def test_hidden_owner():
|
||||
gcdummy = BoolOption('dummy', 'dummy', default=False, properties=('hidden',))
|
||||
descr = OptionDescription('tiramisu', '', [gcdummy])
|
||||
cfg = Config(descr)
|
||||
cfg.read_write()
|
||||
raises(PropertiesOptionError, "cfg.getowner(gcdummy)")
|
||||
|
||||
|
||||
def test_addowner():
|
||||
gcdummy = BoolOption('dummy', 'dummy', default=False)
|
||||
descr = OptionDescription('tiramisu', '', [gcdummy])
|
||||
|
Reference in New Issue
Block a user