Admin Panel
from amitools.vamos.cfgcore import *
def config_defdict_empty_test():
dd = DefaultDict()
assert dd.get_cfg() == {}
assert dd.gen_dict() == {}
def config_defdict_setup_test():
cfg = {"a": {"v": 1,
"w": ValueList(str),
"x": True},
"b": "hello",
"c": ValueDict(int)}
dd = DefaultDict(cfg)
# check internal default
def_cfg = dd.get_cfg()
assert def_cfg == {
"a": {"v": Value(int, 1),
"w": ValueList(str),
"x": Value(bool, True)},
"b": Value(str, "hello"),
"c": ValueDict(int)
}
# get initial config from parser
cfg = dd.gen_dict()
assert cfg == {
"a": {"v": 1, "w": None, "x": True},
"b": "hello",
"c": None
}
def config_defdict_merge_test():
cfg = {"a": {"v": 1,
"w": ValueList(str),
"x": True},
"b": "hello",
"c": ValueDict(int)}
dd = DefaultDict(cfg)
# generate default dict
d = dd.gen_dict()
m = {
"a": {"v": 2,
"w": ["hello", "world"],
"x": False,
"z": "ignore me"},
"c": {"a": 10, "b": 20},
"d": "ignore me"
}
dd.merge_cfg(d, m)
assert d == {
"a": {"v": 2,
"w": ["hello", "world"],
"x": False},
"b": "hello",
"c": {"a": 10, "b": 20},
}
def config_defdict_merge_key_test():
cfg = {"a": {"v": 1,
"w": ValueList(str),
"x": True},
"b": "hello",
"c": ValueDict(int)}
dd = DefaultDict(cfg)
# generate default dict
d = dd.gen_dict()
m = {
"X": {"v": 2,
"w": ["hello", "world"],
"x": False,
"z": "ignore me"}
}
dd.merge_cfg_key(d, m, 'X', def_key='a')
assert d == {
"a": {"v": 1,
"w": None,
"x": True},
"b": "hello",
"c": None,
"X": {"v": 2,
"w": ["hello", "world"],
"x": False}
}