From ef948fa1097fff0be5a23834405eacda12d7877c Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Tue, 7 Jul 2020 18:12:16 +0200 Subject: [PATCH] refactor --- src/rougail/annotator.py | 190 +++---- src/rougail/data/rougail.dtd | 25 - src/rougail/error.py | 4 + src/rougail/loader.py | 498 ++++++++---------- src/rougail/objspace.py | 109 ++-- src/rougail/path.py | 9 - .../00empty/result/00-base.xml | 5 +- .../00load_autofreeze/00-base.xml | 2 - .../00load_autofreeze/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../00load_autosave/result/00-base.xml | 2 +- .../00load_autosaveexpert/result/00-base.xml | 2 +- .../00load_comment/result/00-base.xml | 2 +- .../00load_notype/result/00-base.xml | 2 +- .../00load_save/result/00-base.xml | 2 +- .../00load_subfolder/result/00-base.xml | 2 +- .../01auto_base/result/00-base.xml | 2 +- .../01auto_withoutparam/result/00-base.xml | 2 +- .../01base_multi/result/00-base.xml | 2 +- .../01base_submulti/result/00-base.xml | 2 +- .../01fill_autofreeze/result/00-base.xml | 2 +- .../01fill_autosave/result/00-base.xml | 2 +- .../01fill_base/result/00-base.xml | 2 +- .../01fill_baseaccent/result/00-base.xml | 2 +- .../01fill_mandatory/result/00-base.xml | 2 +- .../01fill_number/result/00-base.xml | 2 +- .../01fill_optional/result/00-base.xml | 2 +- .../01separator_base/result/00-base.xml | 2 +- .../01separator_neverhidden/00-base.xml | 2 +- .../result/00-base.xml | 4 +- .../10autosave_hidden/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../10check_base/result/00-base.xml | 2 +- .../10check_option/result/00-base.xml | 2 +- .../10check_optional/result/00-base.xml | 2 +- .../10check_valid_differ/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../10leadership_append/result/00-base.xml | 2 +- .../10leadership_auto/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../10leadership_mandatory/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../10leadership_multi/result/00-base.xml | 2 +- .../10load_disabled_if_in/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../10load_emptyvalue/result/00-base.xml | 2 +- .../10load_frozenifin/result/00-base.xml | 2 +- .../10load_frozenifin_auto/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../10load_leadership/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../10load_mandatoryifin/result/00-base.xml | 2 +- .../10load_multivalue/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../10valid_enum_accent/result/00-base.xml | 2 +- .../10valid_enum_base/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../10valid_enum_eosfunc/result/00-base.xml | 2 +- .../10valid_enum_leader/result/00-base.xml | 2 +- .../10valid_enum_mandatory/result/00-base.xml | 2 +- .../10valid_enum_multi/result/00-base.xml | 2 +- .../10valid_enum_none/00-base.xml | 32 ++ .../10valid_enum_none/makedict/base.json | 1 + .../10valid_enum_none/result/00-base.xml | 27 + .../10valid_enum_number/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../10valid_enum_python/result/00-base.xml | 2 +- .../10valid_enum_value/result/00-base.xml | 2 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 18 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 18 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 27 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 18 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 18 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 18 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 18 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 18 +- .../20family_append/result/00-base.xml | 2 +- .../20family_appendaccent/result/00-base.xml | 2 +- .../20family_dynamic/result/00-base.xml | 2 +- .../20family_dynamic_calc/result/00-base.xml | 2 +- .../20family_dynamic_number/00-base.xml | 25 + .../makedict/base.json | 1 + .../result/00-base.xml | 32 ++ .../20family_empty/result/00-base.xml | 2 +- .../20family_hidden/result/00-base.xml | 2 +- .../20family_mode/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../20notemplating/makedict/base.json | 2 +- .../20notemplating/result/00-base.xml | 18 +- .../20override/makedict/base.json | 2 +- .../20override/result/00-base.xml | 15 +- .../21family_change/result/00-base.xml | 2 +- .../21family_changeaccent/result/00-base.xml | 2 +- .../21family_empty/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../30mandatory_withvalue/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../40condition_base/result/00-base.xml | 2 +- .../40condition_fallback/result/00-base.xml | 2 +- .../40condition_optional/result/00-base.xml | 2 +- .../40ifin_leadership/result/00-base.xml | 2 +- .../40ifin_leadershipauto/result/00-base.xml | 2 +- .../40ifin_multi/result/00-base.xml | 2 +- .../40ifin_validenum/result/00-base.xml | 2 +- .../50exists_exists/result/00-base.xml | 2 +- .../50redefine_description/result/00-base.xml | 2 +- .../51exists_nonexists/result/00-base.xml | 2 +- .../51redefine_auto/result/00-base.xml | 2 +- .../51redefine_autofill/result/00-base.xml | 2 +- .../51redefine_family/result/00-base.xml | 2 +- .../51redefine_fill/result/00-base.xml | 2 +- .../51redefine_fillauto/result/00-base.xml | 2 +- .../51redefine_help/result/00-base.xml | 2 +- .../51redefine_hidden/result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../result/00-base.xml | 2 +- .../51redefine_validenum/result/00-base.xml | 2 +- .../51redefine_value/result/00-base.xml | 2 +- .../52exists_redefine/result/00-base.xml | 2 +- .../60action_external/result/00-base.xml | 4 +- .../result/00-base.xml | 6 +- .../60extra_group/makedict/base.json | 2 +- .../60extra_group/result/00-base.xml | 20 +- .../60extra_help/makedict/base.json | 2 +- .../60extra_help/result/00-base.xml | 20 +- .../60extra_load/result/00-base.xml | 4 +- .../60extra_mandatory/result/00-base.xml | 4 +- .../60extra_redefine/result/00-base.xml | 4 +- .../60familyaction/result/00-base.xml | 4 +- .../60familyaction_accent/result/00-base.xml | 4 +- .../result/00-base.xml | 4 +- .../70container_files/makedict/base.json | 2 +- .../70container_files/result/00-base.xml | 18 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 21 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 25 +- .../70container_filesmulti/makedict/base.json | 2 +- .../70container_filesmulti/result/00-base.xml | 27 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 18 +- .../70container_new/result/00-base.xml | 7 +- .../70container_newnocont/result/00-base.xml | 7 +- .../70container_newwithip/result/00-base.xml | 7 +- .../70container_pathaccess/makedict/base.json | 2 +- .../70container_pathaccess/result/00-base.xml | 21 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 21 +- .../70container_save/result/00-base.xml | 2 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 14 +- .../makedict/base.json | 2 +- .../result/00-base.xml | 15 +- .../70container_services/result/00-base.xml | 7 +- tests/test_flattener.py | 6 +- tests/test_makedict.py | 8 +- 183 files changed, 798 insertions(+), 914 deletions(-) create mode 100644 tests/flattener_dicos/10valid_enum_none/00-base.xml create mode 100644 tests/flattener_dicos/10valid_enum_none/makedict/base.json create mode 100644 tests/flattener_dicos/10valid_enum_none/result/00-base.xml create mode 100644 tests/flattener_dicos/20family_dynamic_number/00-base.xml create mode 100644 tests/flattener_dicos/20family_dynamic_number/makedict/base.json create mode 100644 tests/flattener_dicos/20family_dynamic_number/result/00-base.xml diff --git a/src/rougail/annotator.py b/src/rougail/annotator.py index 4455b6b3..d329e457 100644 --- a/src/rougail/annotator.py +++ b/src/rougail/annotator.py @@ -101,44 +101,41 @@ class ServiceAnnotator: self.grouplist_conditions = {} self.convert_services() + def gen_family(self, + name, + ): + family = self.objectspace.family() + family.name = name + family.doc = name + family.mode = None + return family + def convert_services(self): if not hasattr(self.space, 'services'): return if not hasattr(self.space.services, 'service'): del self.space.services return - for idx, service in enumerate(self.space.services.service.values()): - service_name = f'service{idx}' - family = self.objectspace.family() - family.name = service_name - family.doc = service.name - family.mode = None - family.family = self.convert_service_to_family(f'services.{service_name}', - service, - ) - setattr(self.space.services, family.name, family) - del self.space.services.service - - def convert_service_to_family(self, - subpath, - service, - ): - services = {} - for elttype, values in vars(service).items(): - if elttype == 'name' or elttype in ERASED_ATTRIBUTES: - continue - eltname = elttype + 's' - family = self.objectspace.family() - family.name = eltname - family.mode = None - if isinstance(values, dict): - values = list(values.values()) - family.family = self.make_group_from_elts(elttype, - values, - f'{subpath}.{eltname}', - ) - services[family.name] = family - return services + self.space.services.hidden = True + families = {} + for idx, service_name in enumerate(self.space.services.service.keys()): + service = self.space.services.service[service_name] + new_service = self.objectspace.service() + for elttype, values in vars(service).items(): + if elttype == 'name' or elttype in ERASED_ATTRIBUTES: + setattr(new_service, elttype, values) + continue + eltname = elttype + 's' + family = self.gen_family(eltname) + if isinstance(values, dict): + values = list(values.values()) + family.family = self.make_group_from_elts(elttype, + values, + f'services.{service_name}.{eltname}', + ) + setattr(new_service, elttype, family) + families[service_name] = new_service + self.space.services.service = families def make_group_from_elts(self, name, @@ -160,8 +157,14 @@ class ServiceAnnotator: update_elt = '_update_' + elt_name if hasattr(self, update_elt): getattr(self, update_elt)(elt, index, path) - variables = [] - subpath = '{}.{}{}'.format(path, name, index) + + if hasattr(elt, 'source'): + c_name = elt.source + else: + c_name = elt.name + family = self.gen_family(c_name) + family.variable = [] + subpath = '{}.{}'.format(path, c_name) listname = '{}list'.format(name) activate_path = '.'.join([subpath, 'activate']) if elt in self.grouplist_conditions: @@ -179,75 +182,54 @@ class ServiceAnnotator: value, []).append(activate_path) continue - if key == 'name': - true_key = elt_name - else: - true_key = key - if key in self.objectspace.booleans_attributs: - type_ = 'boolean' - else: - type_ = 'string' - dtd_key_type = true_key + '_type' - if hasattr(elt, dtd_key_type): - type_ = KEY_TYPE[getattr(elt, dtd_key_type)] - multi = isinstance(value, list) - variables.append(self._generate_element(key, - value, - type_, - subpath, - multi, - )) + family.variable.append(self._generate_element(elt_name, + key, + value, + elt, + f'{subpath}.{key}' + )) # FIXME ne devrait pas etre True par défaut # devrait etre un calcule - variables.append(self._generate_element('activate', - True, - 'boolean', - subpath, - )) - family = self.objectspace.family() - family.name = '{}{}'.format(name, index) - family.variable = variables - family.mode = None - self.paths.add_family('services', - subpath, - family, - ) + family.variable.append(self._generate_element(elt_name, + 'activate', + True, + elt, + activate_path, + )) families.append(family) return families def _generate_element(self, + elt_name, key, value, - type_, - subpath, - multi=False, + elt, + path, ): variable = self.objectspace.variable() variable.name = key - if type_ != 'symlink': - variable.doc = key - variable.multi = multi variable.mode = None - variable.hidden = True + if key == 'name': + true_key = elt_name + else: + true_key = key + dtd_key_type = true_key + '_type' + if key == 'activate': + type_ = 'boolean' + elif hasattr(elt, dtd_key_type): + type_ = KEY_TYPE[getattr(elt, dtd_key_type)] + elif key in self.objectspace.booleans_attributs: + type_ = 'boolean' + else: + type_ = 'string' variable.type = type_ - if value is not None: - if type_ == 'symlink': - variable.opt = value - else: - if not multi: - val = self.objectspace.value() - val.name = value - value = [val] - else: - # value is a list of objects - value_list = [] - for val_iter in value: - val = self.objectspace.value() - val.name = val_iter.name - value_list.append(val) - value = value_list - variable.value = value - path = f'{subpath}.{key}' + if type_ == 'symlink': + variable.opt = value + else: + variable.doc = key + val = self.objectspace.value() + val.name = value + variable.value = [val] self.paths.add_variable('services', path, 'service', @@ -264,8 +246,8 @@ class ServiceAnnotator: """ new_elts = {} # reorder elts by index - for elt in elts: - new_elts.setdefault(elt.index, []).append(elt) + for idx, elt in enumerate(elts): + new_elts.setdefault(idx, []).append(elt) idxes = list(new_elts.keys()) idxes.sort() result_elts = [] @@ -330,12 +312,15 @@ class SpaceAnnotator(object): def absolute_path_for_symlink_in_services(self): if not hasattr(self.space, 'services'): return - families = vars(self.space.services).values() - for family in families: - if hasattr(family, 'family'): - for fam in family.family.values(): - for fam1 in fam.family: - for variable in fam1.variable: + for family_name, family in vars(self.space.services).items(): + if not isinstance(family, dict): + continue + for fam in family.values(): + for fam1_name, fam1 in vars(fam).items(): + if fam1_name == 'name' or fam1_name in ERASED_ATTRIBUTES: + continue + for fam2 in fam1.family: + for variable in fam2.variable: if variable.type == 'symlink' and '.' not in variable.name: variable.opt = self.paths.get_variable_path(variable.opt, VARIABLE_NAMESPACE, @@ -767,8 +752,8 @@ class SpaceAnnotator(object): raise CreoleDictConsistencyError(_('Cannot load {}').format(param.text)) elif param.type == 'python': try: + #values = eval(param.text, {'eosfunc': self.eosfunc, '__builtins__': {'range': range, 'str': str}}) values = eval(param.text, {'eosfunc': self.eosfunc, '__builtins__': {'range': range, 'str': str}}) - #FIXME : eval('[str(i) for i in range(3, 13)]', {'eosfunc': eosfunc, '__builtins__': {'range': range, 'str': str}}) except NameError: raise CreoleDictConsistencyError(_('The function {} is unknown').format(param.text)) if not isinstance(values, list): @@ -794,12 +779,7 @@ class SpaceAnnotator(object): for idx, param in enumerate(check.param): if param.type not in TYPE_PARAM_CHECK: raise CreoleDictConsistencyError(_('cannot use {} type as a param in check for {}').format(param.type, check.target)) - if param.type == 'eole': - param.type = 'variable' if param.type == 'variable': - # if HIGH_COMPATIBILITY and param.text.startswith('container_ip'): - # if param.optional is True: - # param_option_indexes.append(idx) try: param.text = self.paths.get_variable_path(param.text, namespace) except CreoleDictConsistencyError as err: @@ -1093,8 +1073,6 @@ class SpaceAnnotator(object): if param.type not in TYPE_PARAM_CONDITION: raise CreoleDictConsistencyError(_('cannot use {} type as a param ' 'in a condition').format(param.type)) - if param.type == 'eole': - param.type = 'variable' def check_choice_option_condition(self, force_remove_targets): # remove condition for ChoiceOption that don't have param diff --git a/src/rougail/data/rougail.dtd b/src/rougail/data/rougail.dtd index 778a84ec..927e3543 100644 --- a/src/rougail/data/rougail.dtd +++ b/src/rougail/data/rougail.dtd @@ -43,33 +43,10 @@ - - - - - - - - - - - - - - - - - - - - - - - @@ -114,7 +91,6 @@ - @@ -140,7 +116,6 @@ - diff --git a/src/rougail/error.py b/src/rougail/error.py index a0891e71..f9f06150 100644 --- a/src/rougail/error.py +++ b/src/rougail/error.py @@ -34,3 +34,7 @@ class CreoleDictConsistencyError(Exception): """It's not only that the Creole XML is valid against the Creole DTD it's that it is not consistent. """ + + +class CreoleLoaderError(Exception): + pass diff --git a/src/rougail/loader.py b/src/rougail/loader.py index d9f91ca7..d24732ea 100644 --- a/src/rougail/loader.py +++ b/src/rougail/loader.py @@ -1,32 +1,26 @@ """loader flattened XML specific """ -from os.path import join, isfile, isdir -from os import listdir -#from ast import literal_eval -from lxml.etree import parse, DTD +from os.path import join, isfile +from lxml.etree import DTD +import imp from tiramisu import (StrOption, OptionDescription, DynOptionDescription, PortOption, IntOption, ChoiceOption, BoolOption, SymLinkOption, IPOption, NetworkOption, NetmaskOption, DomainnameOption, BroadcastOption, URLOption, EmailOption, FilenameOption, UsernameOption, DateOption, PasswordOption, BoolOption, MACOption, Leadership, submulti, - Params, ParamSelfOption, ParamOption, ParamDynOption, ParamValue, Calculation, calc_value, - groups, owners) -from tiramisu.error import ConfigError + Params, ParamSelfOption, ParamOption, ParamDynOption, ParamValue, Calculation, calc_value) from .config import dtdfilename from .i18n import _ -#For compatibility -from .xmlreflector import HIGH_COMPATIBILITY -#from . import eosfunc -from .objspace import CreoleObjSpace from .utils import normalize_family from .annotator import VARIABLE_NAMESPACE -import imp +from .error import CreoleLoaderError FUNC_TO_DICT = ['valid_not_equal'] +KNOWN_TAGS = ['family', 'variable', 'separators', 'leader', 'property'] class ConvertDynOptionDescription(DynOptionDescription): @@ -37,19 +31,11 @@ class ConvertDynOptionDescription(DynOptionDescription): check_name=False) -class CreoleLoaderError(Exception): - pass - - def convert_tiramisu_value(value, obj): """ convertit les variables dans le bon type si nécessaire """ - if value is None: - return value def _convert_boolean(value): - if isinstance(value, bool): - return value prop = {'True': True, 'False': False, 'None': None} @@ -57,10 +43,9 @@ def convert_tiramisu_value(value, obj): raise Exception('unknown value {} while trying to cast {} to boolean'.format(value, obj)) return prop[value] - func = {IntOption: int, StrOption: str, PortOption: str, - DomainnameOption: str, EmailOption: str, URLOption: str, - IPOption: str, NetmaskOption: str, NetworkOption: str, - BroadcastOption: str, FilenameOption: str, + if value is None: + return value + func = {IntOption: int, BoolOption: _convert_boolean}.get(obj, None) if func is None: return value @@ -98,18 +83,15 @@ CONVERT_OPTION = {'number': dict(opttype=IntOption), } -class Elt(object): +class Elt: def __init__(self, attrib): self.attrib = attrib -class PopulateTiramisuObjects(object): +class PopulateTiramisuObjects: def __init__(self): self.storage = ElementStorage() self.booleans = [] - self.force_store_values = set() - self.separators = {} - self.groups = {} def parse_dtd(self, dtdfilename): """Loads the Creole DTD @@ -128,129 +110,111 @@ class PopulateTiramisuObjects(object): if set(attr.itervalues()) == set(['True', 'False']): self.booleans.append(attr.name) - def make_tiramisu_objects(self, xmlroot, eosfunc): - elt = Elt({'name': 'baseoption'}) - if eosfunc is None: - self.eosfunc = None - else: - self.eosfunc = imp.load_source('eosfunc', eosfunc) - family = Family(elt, self.booleans, self.storage, self.eosfunc) + def get_root_family(self): + family = Family(Elt({'name': 'baseoption', + 'doc': 'baseoption'}), + self.booleans, + self.storage, + self.eosfunc, + ) self.storage.add('.', family) - - elts = {} - for elt in xmlroot: - elts.setdefault(elt.tag, []).append(elt) - list_elts = list(elts.keys()) - if 'family' in list_elts: - list_elts.remove('family') - list_elts.insert(0, 'family') - for elt in list_elts: - xmlelts_ = elts[elt] - if elt == 'family': - xmlelts = [] - actions = None - # VARIABLE_NAMESPACE family has to be loaded before any other family - # because `extra` family could use `VARIABLE_NAMESPACE` variables. - # `actions` family has to be loaded at the very end - # because it may use `VARIABLE_NAMESPACE` or `extra` variables - for xml in xmlelts_: - if xml.attrib['name'] == VARIABLE_NAMESPACE: - xmlelts.insert(0, xml) - elif xml.attrib['name'] == 'actions': - actions = xml - else: - xmlelts.append(xml) - if actions is not None: - xmlelts.append(actions) - else: - xmlelts = xmlelts_ - for xmlelt in xmlelts: - if xmlelt.tag != 'family': - raise CreoleLoaderError(_('unknown tag {}').format(xmlelt.tag)) - self._iter_family(xmlelt, family) - - def _populate_variable(self, elt, subpath, is_follower, is_leader): - variable = Variable(elt, self.booleans, self.storage, is_follower, is_leader, self.eosfunc) - path = self._build_path(subpath, elt) - properties = variable.attrib.get('properties', []) - if 'force_store_value' in properties or "auto_freeze" in properties: - self.force_store_values.add(path) - self.storage.add(path, variable) - return variable - - def _populate_family(self, elt, subpath): - if subpath is None: - force_icon = False - else: - force_icon = not subpath.startswith('containers') and not subpath.startswith('actions') - family = Family(elt, self.booleans, self.storage, self.eosfunc, force_icon) - path = self._build_path(subpath, elt) - self.storage.add(path, family) return family - def _build_path(self, subpath, elt): - if subpath is None: - subpath = elt.attrib['name'] - else: - subpath += '.' + elt.attrib['name'] - return subpath - - def _iter_leader(self, leader, subpath): - subpath = self._build_path(subpath, leader) - family = Family(leader, self.booleans, self.storage, self.eosfunc) - family.set_leader() - self.storage.add(subpath, family) - leader_name = None - for var in leader: - if var.tag == 'property': - self._parse_properties(family, var) - elif var.tag == 'variable': - if leader_name is None: - leader_name = var.attrib['name'] - self.groups[leader_name] = [] - else: - self.groups[leader_name].append(var.attrib['name']) - self._iter_family(var, family, subpath=subpath) + def reorder_family(self, xmlroot): + xmlelts = [] + for xmlelt in xmlroot: + # VARIABLE_NAMESPACE family has to be loaded before any other family + # because `extra` family could use `VARIABLE_NAMESPACE` variables. + if xmlelt.attrib['name'] == VARIABLE_NAMESPACE: + xmlelts.insert(0, xmlelt) else: - raise CreoleLoaderError(_('unknown tag {}').format(var.tag)) - return family + xmlelts.append(xmlelt) + return xmlelts - def _iter_family(self, child, family, subpath=None): - if child.tag not in ['family', 'variable', 'separators', 'leader', 'property']: + def make_tiramisu_objects(self, xmlroot, eosfunc): + self.eosfunc = imp.load_source('eosfunc', eosfunc) + + family = self.get_root_family() + for xmlelt in self.reorder_family(xmlroot): + self.iter_family(xmlelt, + family, + None, + ) + + def iter_family(self, + child, + family, + subpath, + ): + if child.tag not in KNOWN_TAGS: raise CreoleLoaderError(_('unknown tag {}').format(child.tag)) - if child.tag == 'family': - old_family = family - family = self._populate_family(child, subpath) - if old_family is not None: - old_family.add(family) - if len(child) != 0: - subpath = self._build_path(subpath, child) - for c in child: - self._iter_family(c, family, subpath=subpath) - elif child.tag == 'leader': - leader = self._iter_leader(child, subpath) - family.add(leader) + if child.tag in ['family', 'leader']: + self.populate_family(family, + child, + subpath, + ) elif child.tag == 'separators': - self._parse_separators(child) + self.parse_separators(child) elif child.tag == 'variable': - if family is None: - raise CreoleLoaderError(_('variable without family')) - - is_follower = False - is_leader = False - if family.is_leader: - if child.attrib['name'] != family.attrib['name']: - is_follower = True - else: - is_leader = True - variable = self._populate_variable(child, subpath, is_follower, is_leader) - family.add(variable) + self.populate_variable(child, subpath, family) elif child.tag == 'property': - self._parse_properties(family, child) + self.parse_properties(family, child) else: raise Exception('unknown tag {}'.format(child.tag)) - def _parse_properties(self, family, child): + def populate_family(self, + parent_family, + elt, + subpath, + ): + path = self.build_path(subpath, + elt, + ) + family = Family(elt, + self.booleans, + self.storage, + self.eosfunc, + ) + self.storage.add(path, family) + if elt.tag == 'leader': + family.set_leader() + parent_family.add(family) + if len(elt) != 0: + for child in elt: + self.iter_family(child, + family, + path, + ) + + def parse_separators(self, + separators, + ): + for separator in separators: + elt = self.storage.get(separator.attrib['name']) + elt.add_information('separator', separator.text) + + def populate_variable(self, elt, subpath, family): + is_follower = False + is_leader = False + if family.is_leader: + if elt.attrib['name'] != family.attrib['name']: + is_follower = True + else: + is_leader = True + path = self.build_path(subpath, + elt, + ) + variable = Variable(elt, + self.booleans, + self.storage, + is_follower, + is_leader, + self.eosfunc, + ) + self.storage.add(path, variable) + family.add(variable) + + def parse_properties(self, family, child): if child.get('type') == 'calculation': kwargs = {'condition': child.attrib['source'], 'expected': ParamValue(child.attrib.get('expected'))} @@ -260,17 +224,13 @@ class PopulateTiramisuObjects(object): else: family.attrib['properties'].append(child.text) - def _parse_separators(self, separators): - for separator in separators: - elt = self.storage.get(separator.attrib['name']) - never_hidden = separator.attrib.get('never_hidden') - if never_hidden == 'True': - never_hidden = True - else: - never_hidden = None - info = (separator.text, never_hidden) - self.separators[separator.attrib['name']] = info - elt.add_information('separator', info) + def build_path(self, + subpath, + elt, + ): + if subpath is None: + return elt.attrib['name'] + return subpath + '.' + elt.attrib['name'] class ElementStorage: @@ -282,10 +242,6 @@ class ElementStorage: raise CreoleLoaderError(_('path already loaded {}').format(path)) self.paths[path] = elt - def add_information(self, path, name, information): - elt = self.get(path) - elt.add_information(name, information) - def get(self, path): if path not in self.paths: raise CreoleLoaderError(_('there is no element for path {}').format(path)) @@ -313,115 +269,124 @@ class Variable(Common): self.option = None self.informations = {} self.attrib = {} - self.attrib['properties'] = [] + if elt.attrib['type'] != 'symlink': + self.attrib['properties'] = [] self.attrib['validators'] = [] self.eosfunc = eosfunc self.storage = storage - is_submulti = False + self.booleans = booleans + self.populate_attrib(elt) + self.is_follower = is_follower + self.is_leader = is_leader + convert_option = CONVERT_OPTION[elt.attrib['type']] + self.object_type = convert_option['opttype'] + self.populate_choice(elt) + for child in elt: + self.populate_property(child) + self.populate_value(child) + self.populate_check(child) + if 'initkwargs' in convert_option: + self.attrib.update(convert_option['initkwargs']) + if elt.attrib['type'] == 'symlink': + self.attrib['opt'] = storage.get(self.attrib['opt']) + + def populate_attrib(self, + elt, + ): for key, value in elt.attrib.items(): - if key in booleans: + if key == 'multi' and elt.attrib['type'] == 'symlink': + continue + if key == 'multi' and value == 'submulti': + value = submulti + elif key in self.booleans: if value == 'True': value = True elif value == 'False': value = False - elif key == 'multi' and value == 'submulti': - is_submulti = True - value = submulti else: raise CreoleLoaderError(_('unknown value {} for {}').format(value, key)) if key in ['help', 'test']: self.add_information(key, value) - elif key == 'type': - pass - else: + elif key != 'type': self.attrib[key] = value - convert_option = CONVERT_OPTION[elt.attrib['type']] - self.object_type = convert_option['opttype'] + + def populate_choice(self, + elt, + ): if elt.attrib['type'] == 'choice': - if self.attrib.get('choice'): - self.attrib['values'] = getattr(self.eosfunc, self.attrib.get('choice')) + values = [] + for child in elt: + if child.tag == 'choice': + value = child.text + if child.attrib['type'] == 'number': + value = int(value) + values.append(value) + self.attrib['values'] = tuple(values) + + def populate_property(self, child): + if child.tag == 'property': + if child.get('type') == 'calculation': + kwargs = {'condition': child.attrib['source'], + 'expected': ParamValue(child.attrib.get('expected'))} + if child.attrib['inverse'] == 'True': + kwargs['reverse_condition'] = ParamValue(True) + self.attrib['properties'].append((ParamValue(child.text), kwargs)) else: - self.attrib['values'] = [] - for child in elt: - if child.tag == 'choice': - value = child.text - if 'type' in child.attrib and child.attrib['type'] == 'number': - value = int(value) - if value is None: - value = u'' - self.attrib['values'].append(value) - self.attrib['values'] = tuple(self.attrib['values']) - for child in elt: - if child.tag == 'property': - if child.get('type') == 'calculation': - kwargs = {'condition': child.attrib['source'], - 'expected': ParamValue(child.attrib.get('expected'))} - if child.attrib['inverse'] == 'True': - kwargs['reverse_condition'] = ParamValue(True) - self.attrib['properties'].append((ParamValue(child.text), kwargs)) + self.attrib['properties'].append(child.text) + + def populate_value(self, child): + if child.tag == 'value': + if child.attrib.get('type') == 'calculation': + if child.text is not None and child.text.strip(): + self.attrib['default'] = (child.text.strip(),) else: - self.attrib['properties'].append(child.text) - elif child.tag == 'value': - if child.attrib.get('type') == 'calculation': - if child.text is not None and child.text.strip(): - self.attrib['default'] = (child.text.strip(),) - else: - params = [] - for param in child: - params.append(self.parse_param(param)) - self.attrib['default'] = (child.attrib['name'], params, False) + params = [] + for param in child: + params.append(self.parse_param(param)) + self.attrib['default'] = (child.attrib['name'], params, False) + else: + if "type" in child.attrib: + type_ = CONVERT_OPTION[child.attrib['type']]['opttype'] else: - if "type" in child.attrib: - type_ = CONVERT_OPTION[child.attrib['type']]['opttype'] - else: - type_ = self.object_type - if self.attrib['multi'] is True and not is_follower: - if 'default' not in self.attrib: - self.attrib['default'] = [] - value = convert_tiramisu_value(child.text, type_) - self.attrib['default'].append(value) - if 'default_multi' not in self.attrib and not is_leader: - self.attrib['default_multi'] = value - elif self.attrib['multi'] == submulti: - if 'default' not in self.attrib: - self.attrib['default'] = [] - value = convert_tiramisu_value(child.text, type_) - if not is_follower: - if not isinstance(value, list): - dvalue = [value] - else: - dvalue = value - self.attrib['default'].append(dvalue) - if value and 'default_multi' not in self.attrib and not is_leader: - self.attrib['default_multi'] = [] - if not is_leader: - self.attrib['default_multi'].append(value) - else: - if 'default' in self.attrib: - raise CreoleLoaderError(_('default value already set for {}' - '').format(self.attrib['path'])) - value = convert_tiramisu_value(child.text, type_) - if is_follower: - self.attrib['default_multi'] = value + type_ = self.object_type + if self.attrib['multi'] is True and not self.is_follower: + if 'default' not in self.attrib: + self.attrib['default'] = [] + value = convert_tiramisu_value(child.text, type_) + self.attrib['default'].append(value) + if 'default_multi' not in self.attrib and not self.is_leader: + self.attrib['default_multi'] = value + elif self.attrib['multi'] == submulti: + if 'default' not in self.attrib: + self.attrib['default'] = [] + value = convert_tiramisu_value(child.text, type_) + if not self.is_follower: + if not isinstance(value, list): + dvalue = [value] else: - self.attrib['default'] = value - elif child.tag == 'choice': - # already load - pass - elif child.tag == 'check': - params = [] - for param in child: - params.append(self.parse_param(param)) - #check.params = params - self.attrib['validators'].append((child.attrib['name'], params, child.attrib['warnings_only'])) - else: - raise Exception('unknown tag {}'.format(child.tag)) - if 'initkwargs' in convert_option: - self.attrib.update(convert_option['initkwargs']) - if elt.attrib['type'] == 'symlink': - del self.attrib['properties'] - del self.attrib['multi'] - self.attrib['opt'] = storage.get(self.attrib['opt']) + dvalue = value + self.attrib['default'].append(dvalue) + if value and 'default_multi' not in self.attrib and not self.is_leader: + self.attrib['default_multi'] = [] + if not self.is_leader: + self.attrib['default_multi'].append(value) + else: + if 'default' in self.attrib: + raise CreoleLoaderError(_('default value already set for {}' + '').format(self.attrib['path'])) + value = convert_tiramisu_value(child.text, type_) + if self.is_follower: + self.attrib['default_multi'] = value + else: + self.attrib['default'] = value + + def populate_check(self, child): + if child.tag == 'check': + params = [] + for param in child: + params.append(self.parse_param(param)) + #check.params = params + self.attrib['validators'].append((child.attrib['name'], params, child.attrib['warnings_only'])) def parse_param(self, param): name = param.attrib.get('name', '') @@ -515,7 +480,7 @@ class Variable(Common): import traceback traceback.print_exc() name = self.attrib['name'] - raise CreoleLoaderError(_('cannot create option {}: {}').format(name, err)) + raise CreoleLoaderError(_('cannot create option "{}": {}').format(name, err)) for key, value in self.informations.items(): option.impl_set_information(key, value) self.option = option @@ -523,42 +488,25 @@ class Variable(Common): class Family(Common): - def __init__(self, elt, booleans, storage, eosfunc, force_icon=False): + def __init__(self, + elt, + booleans, + storage, + eosfunc, + ): self.option = None self.attrib = {} self.is_leader = False - if force_icon: - self.informations = {'icon': None} - else: - self.informations = {} + self.informations = {} self.children = [] self.storage = storage self.eosfunc = eosfunc self.attrib['properties'] = [] for key, value in elt.attrib.items(): - if key in booleans: - if value == 'True': - value = True - elif value == 'False': - value = False - else: - raise CreoleLoaderError(_('unknown value {} for {}').format(value, key)) - if key == 'icon': - self.add_information('icon', value) - continue - elif key == 'hidden': - if value: - self.attrib['properties'].append(key) - elif key == 'mode': - self.attrib['properties'].append(value) - elif key == 'help': + if key == 'help': self.add_information(key, value) - elif key == 'type': - pass else: self.attrib[key] = value - if 'doc' not in self.attrib: - self.attrib['doc'] = u'' def add(self, child): self.children.append(child) @@ -589,13 +537,11 @@ class Family(Common): else: option = Leadership(**self.attrib) except Exception as err: - raise CreoleLoaderError(_('cannot create optiondescription {}: {}').format(self.attrib['name'], err)) + print(self.attrib) + raise CreoleLoaderError(_('cannot create optiondescription "{}": {}').format(self.attrib['name'], err)) for key, value in self.informations.items(): option.impl_set_information(key, value) self.option = option - #if self.is_leader: - # self.option.impl_set_group_type(groups.leader) - return self.option diff --git a/src/rougail/objspace.py b/src/rougail/objspace.py index e93a58f2..cabefb75 100644 --- a/src/rougail/objspace.py +++ b/src/rougail/objspace.py @@ -36,7 +36,7 @@ from .path import Path # CreoleObjSpace's elements like 'family' or 'follower', that shall be forced to the Redefinable type FORCE_REDEFINABLES = ('family', 'follower', 'service', 'disknod', 'variables') # CreoleObjSpace's elements that shall be forced to the UnRedefinable type -FORCE_UNREDEFINABLES = ('value', 'input', 'profile', 'ewtapp', 'tag', 'saltaction') +FORCE_UNREDEFINABLES = ('value',) # CreoleObjSpace's elements that shall be set to the UnRedefinable type UNREDEFINABLE = ('submulti', 'multi', 'type') @@ -47,9 +47,18 @@ CONVERT_PROPERTIES = {'auto_save': ['force_store_value'], 'auto_freeze': ['force RENAME_ATTIBUTES = {'description': 'doc'} INCOMPATIBLE_ATTRIBUTES = [['multi', 'submulti']] -FORCED_TEXT_ELTS_AS_NAME = ('choice', 'property') +FORCED_TEXT_ELTS_AS_NAME = ('choice', 'property', 'value', 'target') -#TYPE_TARGET_CONDITION = ('variable', 'family') +CONVERT_EXPORT = {'Leadership': 'leader', + 'Separators': 'separators', + 'Variable': 'variable', + 'Value': 'value', + 'Property': 'property', + 'Choice': 'choice', + 'Param': 'param', + 'Separator': 'separator', + 'Check': 'check', + } # _____________________________________________________________________________ # special types definitions for the Object Space's internal representation @@ -474,7 +483,7 @@ class CreoleObjSpace: variableobj.redefine = child.attrib['target'] in self.redefine_variables if not hasattr(variableobj, 'index'): variableobj.index = self.index - if child.tag in ['fill', 'condition', 'check', 'action']: + if child.tag in ['fill', 'condition', 'check']: variableobj.namespace = namespace def fill_variableobj_path_attribute(self, @@ -537,60 +546,47 @@ class CreoleObjSpace: space = list(space.values()) if isinstance(space, list): for subspace in space: - if isinstance(subspace, self.Leadership): - _name = 'leader' - else: - _name = name - if name in ['services', 'variables', 'actions']: - _name = 'family' - if HIGH_COMPATIBILITY and not hasattr(subspace, 'doc'): - subspace.doc = '' - if _name == 'value' and (not hasattr(subspace, 'name') or subspace.name is None): + if name == 'value' and (not hasattr(subspace, 'name') or subspace.name is None): + raise Exception('pfff') continue + _name = CONVERT_EXPORT.get(subspace.__class__.__name__, 'family') child_node = SubElement(node, _name) self._xml_export(child_node, subspace, _name) - elif isinstance(space, self.Atom): - if name == 'services': - child_node = SubElement(node, 'family') + elif isinstance(space, (self.Atom, (self.Redefinable, self.UnRedefinable))): + _name = CONVERT_EXPORT.get(space.__class__.__name__, 'family') + child_node = SubElement(node, _name) + if _name != name: child_node.attrib['name'] = name + if 'doc' not in child_node.attrib.keys(): + child_node.attrib['doc'] = name + for subname in self.get_attributes(space): + subspace = getattr(space, subname) + self._sub_xml_export(subname, child_node, name, subspace, space) + elif name not in ERASED_ATTRIBUTES: + # # FIXME plutot dans annotator ... + if node.tag in ['variable', 'family', 'leader']: + if name in PROPERTIES: + if space is True: + for prop in CONVERT_PROPERTIES.get(name, [name]): + SubElement(node, 'property').text = prop + return + if name == 'mode' and space: + SubElement(node, 'property').text = space + return + # Not param for calculation ... + if name == 'name' and node_name in FORCED_TEXT_ELTS_AS_NAME and not hasattr(current_space, 'param'): + node.text = str(space) + elif name == 'text' and node_name in self.forced_text_elts: + node.text = space + elif node.tag == 'family' and name == 'name': + if 'doc' not in node.attrib.keys(): + node.attrib['doc'] = space + node.attrib['name'] = normalize_family(space, check_name=False) else: - child_node = SubElement(node, name) - for subname in self.get_attributes(space): - subspace = getattr(space, subname) - self._sub_xml_export(subname, child_node, name, subspace, space) - elif isinstance(space, self.Redefinable): - child_node = SubElement(node, 'family') - child_node.attrib['name'] = name - for subname in self.get_attributes(space): - subspace = getattr(space, subname) - self._sub_xml_export(subname, child_node, name, subspace, space) - else: - # FIXME plutot dans annotator ... - if name in PROPERTIES and node.tag in ['variable', 'family', 'leader']: - if space is True: - for prop in CONVERT_PROPERTIES.get(name, [name]): - SubElement(node, 'property').text = prop - - elif name not in ERASED_ATTRIBUTES: - if name == 'name' and node_name in self.forced_text_elts_as_name and not hasattr(current_space, 'param'): - if isinstance(space, str): - node.text = space - else: - node.text = str(space) - elif name == 'text' and node_name in self.forced_text_elts: - node.text = space - elif node.tag == 'family' and name == 'name': - if 'doc' not in node.attrib.keys(): - node.attrib['doc'] = space - node.attrib['name'] = normalize_family(space, check_name=False) - elif node.tag in ['variable', 'family', 'leader'] and name == 'mode': - if space is not None: - SubElement(node, 'property').text = space - else: - if name in RENAME_ATTIBUTES: - name = RENAME_ATTIBUTES[name] - if space is not None: - node.attrib[name] = str(space) + if name in RENAME_ATTIBUTES: + name = RENAME_ATTIBUTES[name] + if space is not None: + node.attrib[name] = str(space) def _xml_export(self, node, @@ -599,4 +595,9 @@ class CreoleObjSpace: ): for name in self.get_attributes(space): subspace = getattr(space, name) - self._sub_xml_export(name, node, node_name, subspace, space) + self._sub_xml_export(name, + node, + node_name, + subspace, + space, + ) diff --git a/src/rougail/path.py b/src/rougail/path.py index 88215e94..12119c12 100644 --- a/src/rougail/path.py +++ b/src/rougail/path.py @@ -115,15 +115,6 @@ class Path: ) -> str: # pylint: disable=C0111 return self._get_variable(name)['family'] - def get_variable_family_path(self, - name: str, - ) -> str: # pylint: disable=C0111 - dico = self._get_variable(name) - list_path = [dico['namespace'], dico['family']] - if dico['leader'] is not None: - list_path.append(dico['leader']) - return '.'.join(list_path) - def get_variable_namespace(self, name: str, ) -> str: # pylint: disable=C0111 diff --git a/tests/flattener_dicos/00empty/result/00-base.xml b/tests/flattener_dicos/00empty/result/00-base.xml index 944cc083..91a556bc 100644 --- a/tests/flattener_dicos/00empty/result/00-base.xml +++ b/tests/flattener_dicos/00empty/result/00-base.xml @@ -1,6 +1,7 @@ - - + + hidden + diff --git a/tests/flattener_dicos/00load_autofreeze/00-base.xml b/tests/flattener_dicos/00load_autofreeze/00-base.xml index eb4c54c2..63563a7e 100644 --- a/tests/flattener_dicos/00load_autofreeze/00-base.xml +++ b/tests/flattener_dicos/00load_autofreeze/00-base.xml @@ -1,8 +1,6 @@ - - diff --git a/tests/flattener_dicos/00load_autofreeze/result/00-base.xml b/tests/flattener_dicos/00load_autofreeze/result/00-base.xml index 81ab03d4..d1b67266 100644 --- a/tests/flattener_dicos/00load_autofreeze/result/00-base.xml +++ b/tests/flattener_dicos/00load_autofreeze/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/00load_autofreezeexpert/result/00-base.xml b/tests/flattener_dicos/00load_autofreezeexpert/result/00-base.xml index f66da60c..519f4a26 100644 --- a/tests/flattener_dicos/00load_autofreezeexpert/result/00-base.xml +++ b/tests/flattener_dicos/00load_autofreezeexpert/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/00load_autosave/result/00-base.xml b/tests/flattener_dicos/00load_autosave/result/00-base.xml index 3549c7a1..7fe1d9d3 100644 --- a/tests/flattener_dicos/00load_autosave/result/00-base.xml +++ b/tests/flattener_dicos/00load_autosave/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/00load_autosaveexpert/result/00-base.xml b/tests/flattener_dicos/00load_autosaveexpert/result/00-base.xml index 1397f9bd..37e2ae13 100644 --- a/tests/flattener_dicos/00load_autosaveexpert/result/00-base.xml +++ b/tests/flattener_dicos/00load_autosaveexpert/result/00-base.xml @@ -1,6 +1,6 @@ - + expert diff --git a/tests/flattener_dicos/00load_comment/result/00-base.xml b/tests/flattener_dicos/00load_comment/result/00-base.xml index f6b2bc8d..3edfdc1b 100644 --- a/tests/flattener_dicos/00load_comment/result/00-base.xml +++ b/tests/flattener_dicos/00load_comment/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/00load_notype/result/00-base.xml b/tests/flattener_dicos/00load_notype/result/00-base.xml index 35d6e59f..2d6a3dfe 100644 --- a/tests/flattener_dicos/00load_notype/result/00-base.xml +++ b/tests/flattener_dicos/00load_notype/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/00load_save/result/00-base.xml b/tests/flattener_dicos/00load_save/result/00-base.xml index f6b2bc8d..3edfdc1b 100644 --- a/tests/flattener_dicos/00load_save/result/00-base.xml +++ b/tests/flattener_dicos/00load_save/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/00load_subfolder/result/00-base.xml b/tests/flattener_dicos/00load_subfolder/result/00-base.xml index 684ba2ea..884404d2 100644 --- a/tests/flattener_dicos/00load_subfolder/result/00-base.xml +++ b/tests/flattener_dicos/00load_subfolder/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/01auto_base/result/00-base.xml b/tests/flattener_dicos/01auto_base/result/00-base.xml index 0bb18d0b..b3c10f27 100644 --- a/tests/flattener_dicos/01auto_base/result/00-base.xml +++ b/tests/flattener_dicos/01auto_base/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/01auto_withoutparam/result/00-base.xml b/tests/flattener_dicos/01auto_withoutparam/result/00-base.xml index 67e65176..28597e3b 100644 --- a/tests/flattener_dicos/01auto_withoutparam/result/00-base.xml +++ b/tests/flattener_dicos/01auto_withoutparam/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/01base_multi/result/00-base.xml b/tests/flattener_dicos/01base_multi/result/00-base.xml index 4f0fe326..10e2c3e8 100644 --- a/tests/flattener_dicos/01base_multi/result/00-base.xml +++ b/tests/flattener_dicos/01base_multi/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/01base_submulti/result/00-base.xml b/tests/flattener_dicos/01base_submulti/result/00-base.xml index 6287f508..fb143afe 100644 --- a/tests/flattener_dicos/01base_submulti/result/00-base.xml +++ b/tests/flattener_dicos/01base_submulti/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/01fill_autofreeze/result/00-base.xml b/tests/flattener_dicos/01fill_autofreeze/result/00-base.xml index 7c06b41c..952d6c0b 100644 --- a/tests/flattener_dicos/01fill_autofreeze/result/00-base.xml +++ b/tests/flattener_dicos/01fill_autofreeze/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/01fill_autosave/result/00-base.xml b/tests/flattener_dicos/01fill_autosave/result/00-base.xml index ca2e6af4..15d3dae7 100644 --- a/tests/flattener_dicos/01fill_autosave/result/00-base.xml +++ b/tests/flattener_dicos/01fill_autosave/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/01fill_base/result/00-base.xml b/tests/flattener_dicos/01fill_base/result/00-base.xml index 0bb18d0b..b3c10f27 100644 --- a/tests/flattener_dicos/01fill_base/result/00-base.xml +++ b/tests/flattener_dicos/01fill_base/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/01fill_baseaccent/result/00-base.xml b/tests/flattener_dicos/01fill_baseaccent/result/00-base.xml index dffdeca9..29705f43 100644 --- a/tests/flattener_dicos/01fill_baseaccent/result/00-base.xml +++ b/tests/flattener_dicos/01fill_baseaccent/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/01fill_mandatory/result/00-base.xml b/tests/flattener_dicos/01fill_mandatory/result/00-base.xml index 33ab0598..5cfedcb0 100644 --- a/tests/flattener_dicos/01fill_mandatory/result/00-base.xml +++ b/tests/flattener_dicos/01fill_mandatory/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/01fill_number/result/00-base.xml b/tests/flattener_dicos/01fill_number/result/00-base.xml index f5cee6a4..40d21e31 100644 --- a/tests/flattener_dicos/01fill_number/result/00-base.xml +++ b/tests/flattener_dicos/01fill_number/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/01fill_optional/result/00-base.xml b/tests/flattener_dicos/01fill_optional/result/00-base.xml index 0bb18d0b..b3c10f27 100644 --- a/tests/flattener_dicos/01fill_optional/result/00-base.xml +++ b/tests/flattener_dicos/01fill_optional/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/01separator_base/result/00-base.xml b/tests/flattener_dicos/01separator_base/result/00-base.xml index 01849b18..87cfeb7a 100644 --- a/tests/flattener_dicos/01separator_base/result/00-base.xml +++ b/tests/flattener_dicos/01separator_base/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/01separator_neverhidden/00-base.xml b/tests/flattener_dicos/01separator_neverhidden/00-base.xml index 8be43ca0..cd4b3228 100644 --- a/tests/flattener_dicos/01separator_neverhidden/00-base.xml +++ b/tests/flattener_dicos/01separator_neverhidden/00-base.xml @@ -10,7 +10,7 @@ - Établissement + Établissement diff --git a/tests/flattener_dicos/01separator_neverhidden/result/00-base.xml b/tests/flattener_dicos/01separator_neverhidden/result/00-base.xml index 385282dd..87cfeb7a 100644 --- a/tests/flattener_dicos/01separator_neverhidden/result/00-base.xml +++ b/tests/flattener_dicos/01separator_neverhidden/result/00-base.xml @@ -1,6 +1,6 @@ - + normal @@ -15,7 +15,7 @@ - Établissement + Établissement diff --git a/tests/flattener_dicos/10autosave_hidden/result/00-base.xml b/tests/flattener_dicos/10autosave_hidden/result/00-base.xml index 200c4b01..ed9c9aed 100644 --- a/tests/flattener_dicos/10autosave_hidden/result/00-base.xml +++ b/tests/flattener_dicos/10autosave_hidden/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/10autosave_hidden_frozenifin/result/00-base.xml b/tests/flattener_dicos/10autosave_hidden_frozenifin/result/00-base.xml index c7708ec4..6c311da8 100644 --- a/tests/flattener_dicos/10autosave_hidden_frozenifin/result/00-base.xml +++ b/tests/flattener_dicos/10autosave_hidden_frozenifin/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/10check_base/result/00-base.xml b/tests/flattener_dicos/10check_base/result/00-base.xml index 05c8edac..f26bd8b5 100644 --- a/tests/flattener_dicos/10check_base/result/00-base.xml +++ b/tests/flattener_dicos/10check_base/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10check_option/result/00-base.xml b/tests/flattener_dicos/10check_option/result/00-base.xml index 3fe50ff7..cbf1f6d5 100644 --- a/tests/flattener_dicos/10check_option/result/00-base.xml +++ b/tests/flattener_dicos/10check_option/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10check_optional/result/00-base.xml b/tests/flattener_dicos/10check_optional/result/00-base.xml index ddabcb9a..e7857bcd 100644 --- a/tests/flattener_dicos/10check_optional/result/00-base.xml +++ b/tests/flattener_dicos/10check_optional/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10check_valid_differ/result/00-base.xml b/tests/flattener_dicos/10check_valid_differ/result/00-base.xml index 3067b49e..ed822306 100644 --- a/tests/flattener_dicos/10check_valid_differ/result/00-base.xml +++ b/tests/flattener_dicos/10check_valid_differ/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10check_valid_differ_add/result/00-base.xml b/tests/flattener_dicos/10check_valid_differ_add/result/00-base.xml index 9ae0cecd..42454274 100644 --- a/tests/flattener_dicos/10check_valid_differ_add/result/00-base.xml +++ b/tests/flattener_dicos/10check_valid_differ_add/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10check_valid_differ_removecheck/result/00-base.xml b/tests/flattener_dicos/10check_valid_differ_removecheck/result/00-base.xml index 3e442b48..0b4374d4 100644 --- a/tests/flattener_dicos/10check_valid_differ_removecheck/result/00-base.xml +++ b/tests/flattener_dicos/10check_valid_differ_removecheck/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10check_valid_ipnetmask/result/00-base.xml b/tests/flattener_dicos/10check_valid_ipnetmask/result/00-base.xml index ee6c8533..835a5304 100644 --- a/tests/flattener_dicos/10check_valid_ipnetmask/result/00-base.xml +++ b/tests/flattener_dicos/10check_valid_ipnetmask/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/10leadership_append/result/00-base.xml b/tests/flattener_dicos/10leadership_append/result/00-base.xml index 2d519e4a..860d7d5c 100644 --- a/tests/flattener_dicos/10leadership_append/result/00-base.xml +++ b/tests/flattener_dicos/10leadership_append/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10leadership_auto/result/00-base.xml b/tests/flattener_dicos/10leadership_auto/result/00-base.xml index f1bee238..c042013c 100644 --- a/tests/flattener_dicos/10leadership_auto/result/00-base.xml +++ b/tests/flattener_dicos/10leadership_auto/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10leadership_autoleader/result/00-base.xml b/tests/flattener_dicos/10leadership_autoleader/result/00-base.xml index c4752b18..0701bc06 100644 --- a/tests/flattener_dicos/10leadership_autoleader/result/00-base.xml +++ b/tests/flattener_dicos/10leadership_autoleader/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10leadership_autoleader_expert/result/00-base.xml b/tests/flattener_dicos/10leadership_autoleader_expert/result/00-base.xml index 6ca4885a..c6955873 100644 --- a/tests/flattener_dicos/10leadership_autoleader_expert/result/00-base.xml +++ b/tests/flattener_dicos/10leadership_autoleader_expert/result/00-base.xml @@ -1,6 +1,6 @@ - + expert diff --git a/tests/flattener_dicos/10leadership_autosaveexpert/result/00-base.xml b/tests/flattener_dicos/10leadership_autosaveexpert/result/00-base.xml index 8d235df7..7e9ced48 100644 --- a/tests/flattener_dicos/10leadership_autosaveexpert/result/00-base.xml +++ b/tests/flattener_dicos/10leadership_autosaveexpert/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10leadership_familyaccent/result/00-base.xml b/tests/flattener_dicos/10leadership_familyaccent/result/00-base.xml index 73166207..2fb903bc 100644 --- a/tests/flattener_dicos/10leadership_familyaccent/result/00-base.xml +++ b/tests/flattener_dicos/10leadership_familyaccent/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10leadership_leadermandatory/result/00-base.xml b/tests/flattener_dicos/10leadership_leadermandatory/result/00-base.xml index b5a99075..e53d60ac 100644 --- a/tests/flattener_dicos/10leadership_leadermandatory/result/00-base.xml +++ b/tests/flattener_dicos/10leadership_leadermandatory/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/10leadership_mandatory/result/00-base.xml b/tests/flattener_dicos/10leadership_mandatory/result/00-base.xml index f5f20e6f..e4d185fc 100644 --- a/tests/flattener_dicos/10leadership_mandatory/result/00-base.xml +++ b/tests/flattener_dicos/10leadership_mandatory/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10leadership_mandatoryfollower/result/00-base.xml b/tests/flattener_dicos/10leadership_mandatoryfollower/result/00-base.xml index d04ebb09..d37f859e 100644 --- a/tests/flattener_dicos/10leadership_mandatoryfollower/result/00-base.xml +++ b/tests/flattener_dicos/10leadership_mandatoryfollower/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10leadership_multi/result/00-base.xml b/tests/flattener_dicos/10leadership_multi/result/00-base.xml index 99360f4d..314496cb 100644 --- a/tests/flattener_dicos/10leadership_multi/result/00-base.xml +++ b/tests/flattener_dicos/10leadership_multi/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_disabled_if_in/result/00-base.xml b/tests/flattener_dicos/10load_disabled_if_in/result/00-base.xml index 04e5f22e..8774f654 100644 --- a/tests/flattener_dicos/10load_disabled_if_in/result/00-base.xml +++ b/tests/flattener_dicos/10load_disabled_if_in/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_disabled_if_in_none/result/00-base.xml b/tests/flattener_dicos/10load_disabled_if_in_none/result/00-base.xml index bfc5daef..e9fc00dc 100644 --- a/tests/flattener_dicos/10load_disabled_if_in_none/result/00-base.xml +++ b/tests/flattener_dicos/10load_disabled_if_in_none/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_disabled_if_inaccent/result/00-base.xml b/tests/flattener_dicos/10load_disabled_if_inaccent/result/00-base.xml index 9c97fbff..c089ee67 100644 --- a/tests/flattener_dicos/10load_disabled_if_inaccent/result/00-base.xml +++ b/tests/flattener_dicos/10load_disabled_if_inaccent/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_disabledifin_fallback/result/00-base.xml b/tests/flattener_dicos/10load_disabledifin_fallback/result/00-base.xml index 02c80297..2b55d499 100644 --- a/tests/flattener_dicos/10load_disabledifin_fallback/result/00-base.xml +++ b/tests/flattener_dicos/10load_disabledifin_fallback/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_disabledifin_whithouttype/result/00-base.xml b/tests/flattener_dicos/10load_disabledifin_whithouttype/result/00-base.xml index 17bf29a3..330cda91 100644 --- a/tests/flattener_dicos/10load_disabledifin_whithouttype/result/00-base.xml +++ b/tests/flattener_dicos/10load_disabledifin_whithouttype/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_emptyvalue/result/00-base.xml b/tests/flattener_dicos/10load_emptyvalue/result/00-base.xml index 2c327b82..4cd3f823 100644 --- a/tests/flattener_dicos/10load_emptyvalue/result/00-base.xml +++ b/tests/flattener_dicos/10load_emptyvalue/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_frozenifin/result/00-base.xml b/tests/flattener_dicos/10load_frozenifin/result/00-base.xml index b4030dc1..f1d10196 100644 --- a/tests/flattener_dicos/10load_frozenifin/result/00-base.xml +++ b/tests/flattener_dicos/10load_frozenifin/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_frozenifin_auto/result/00-base.xml b/tests/flattener_dicos/10load_frozenifin_auto/result/00-base.xml index d3b33c68..fa35c438 100644 --- a/tests/flattener_dicos/10load_frozenifin_auto/result/00-base.xml +++ b/tests/flattener_dicos/10load_frozenifin_auto/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_frozenifin_multiparam/result/00-base.xml b/tests/flattener_dicos/10load_frozenifin_multiparam/result/00-base.xml index 7d43ce14..c2ab17dd 100644 --- a/tests/flattener_dicos/10load_frozenifin_multiparam/result/00-base.xml +++ b/tests/flattener_dicos/10load_frozenifin_multiparam/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_frozenifin_noexist/result/00-base.xml b/tests/flattener_dicos/10load_frozenifin_noexist/result/00-base.xml index 8d1d185a..86067c37 100644 --- a/tests/flattener_dicos/10load_frozenifin_noexist/result/00-base.xml +++ b/tests/flattener_dicos/10load_frozenifin_noexist/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_leadership/result/00-base.xml b/tests/flattener_dicos/10load_leadership/result/00-base.xml index 33cbdd10..0c3d2fe9 100644 --- a/tests/flattener_dicos/10load_leadership/result/00-base.xml +++ b/tests/flattener_dicos/10load_leadership/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_leadership_default_multi/result/00-base.xml b/tests/flattener_dicos/10load_leadership_default_multi/result/00-base.xml index b6f8d146..71d71383 100644 --- a/tests/flattener_dicos/10load_leadership_default_multi/result/00-base.xml +++ b/tests/flattener_dicos/10load_leadership_default_multi/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_leadership_default_submulti/result/00-base.xml b/tests/flattener_dicos/10load_leadership_default_submulti/result/00-base.xml index 4b6e403c..a8cdde56 100644 --- a/tests/flattener_dicos/10load_leadership_default_submulti/result/00-base.xml +++ b/tests/flattener_dicos/10load_leadership_default_submulti/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_leadership_defaultmulti_leader/result/00-base.xml b/tests/flattener_dicos/10load_leadership_defaultmulti_leader/result/00-base.xml index 7d38f6ab..fd2d428d 100644 --- a/tests/flattener_dicos/10load_leadership_defaultmulti_leader/result/00-base.xml +++ b/tests/flattener_dicos/10load_leadership_defaultmulti_leader/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_leadership_description/result/00-base.xml b/tests/flattener_dicos/10load_leadership_description/result/00-base.xml index 1a137963..c416667f 100644 --- a/tests/flattener_dicos/10load_leadership_description/result/00-base.xml +++ b/tests/flattener_dicos/10load_leadership_description/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_leadership_normalize_family/result/00-base.xml b/tests/flattener_dicos/10load_leadership_normalize_family/result/00-base.xml index 4b218f72..a1bb16b8 100644 --- a/tests/flattener_dicos/10load_leadership_normalize_family/result/00-base.xml +++ b/tests/flattener_dicos/10load_leadership_normalize_family/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_leadership_submulti/result/00-base.xml b/tests/flattener_dicos/10load_leadership_submulti/result/00-base.xml index b1a3d46b..b0b9dd9f 100644 --- a/tests/flattener_dicos/10load_leadership_submulti/result/00-base.xml +++ b/tests/flattener_dicos/10load_leadership_submulti/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_mandatoryifin/result/00-base.xml b/tests/flattener_dicos/10load_mandatoryifin/result/00-base.xml index 1530f04f..461a3692 100644 --- a/tests/flattener_dicos/10load_mandatoryifin/result/00-base.xml +++ b/tests/flattener_dicos/10load_mandatoryifin/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_multivalue/result/00-base.xml b/tests/flattener_dicos/10load_multivalue/result/00-base.xml index 5ffd0ba9..809e4016 100644 --- a/tests/flattener_dicos/10load_multivalue/result/00-base.xml +++ b/tests/flattener_dicos/10load_multivalue/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10load_submulti_two_value/result/00-base.xml b/tests/flattener_dicos/10load_submulti_two_value/result/00-base.xml index 0fb67117..21c23f0d 100644 --- a/tests/flattener_dicos/10load_submulti_two_value/result/00-base.xml +++ b/tests/flattener_dicos/10load_submulti_two_value/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10valid_enum_accent/result/00-base.xml b/tests/flattener_dicos/10valid_enum_accent/result/00-base.xml index 84004a44..97502511 100644 --- a/tests/flattener_dicos/10valid_enum_accent/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_accent/result/00-base.xml @@ -1,6 +1,6 @@ - + expert diff --git a/tests/flattener_dicos/10valid_enum_base/result/00-base.xml b/tests/flattener_dicos/10valid_enum_base/result/00-base.xml index 051f0a99..5ca0ffee 100644 --- a/tests/flattener_dicos/10valid_enum_base/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_base/result/00-base.xml @@ -1,6 +1,6 @@ - + expert diff --git a/tests/flattener_dicos/10valid_enum_base_redefine/result/00-base.xml b/tests/flattener_dicos/10valid_enum_base_redefine/result/00-base.xml index ac327a72..0060d6d2 100644 --- a/tests/flattener_dicos/10valid_enum_base_redefine/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_base_redefine/result/00-base.xml @@ -1,6 +1,6 @@ - + expert diff --git a/tests/flattener_dicos/10valid_enum_checkval_true/result/00-base.xml b/tests/flattener_dicos/10valid_enum_checkval_true/result/00-base.xml index b0b707f2..59953b0c 100644 --- a/tests/flattener_dicos/10valid_enum_checkval_true/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_checkval_true/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10valid_enum_eosfunc/result/00-base.xml b/tests/flattener_dicos/10valid_enum_eosfunc/result/00-base.xml index 75f3caf6..23644283 100644 --- a/tests/flattener_dicos/10valid_enum_eosfunc/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_eosfunc/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10valid_enum_leader/result/00-base.xml b/tests/flattener_dicos/10valid_enum_leader/result/00-base.xml index 1e6774ae..a6ba906d 100644 --- a/tests/flattener_dicos/10valid_enum_leader/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_leader/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10valid_enum_mandatory/result/00-base.xml b/tests/flattener_dicos/10valid_enum_mandatory/result/00-base.xml index 3a222912..62985e16 100644 --- a/tests/flattener_dicos/10valid_enum_mandatory/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_mandatory/result/00-base.xml @@ -1,6 +1,6 @@ - + expert diff --git a/tests/flattener_dicos/10valid_enum_multi/result/00-base.xml b/tests/flattener_dicos/10valid_enum_multi/result/00-base.xml index a62a4a74..9be1903b 100644 --- a/tests/flattener_dicos/10valid_enum_multi/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_multi/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/10valid_enum_none/00-base.xml b/tests/flattener_dicos/10valid_enum_none/00-base.xml new file mode 100644 index 00000000..fcff2f28 --- /dev/null +++ b/tests/flattener_dicos/10valid_enum_none/00-base.xml @@ -0,0 +1,32 @@ + + + + + + + + + non + + + + + b + + + + + + + + ['a','b',''] + + + + + bla bla bla + + + + diff --git a/tests/flattener_dicos/10valid_enum_none/makedict/base.json b/tests/flattener_dicos/10valid_enum_none/makedict/base.json new file mode 100644 index 00000000..0a000772 --- /dev/null +++ b/tests/flattener_dicos/10valid_enum_none/makedict/base.json @@ -0,0 +1 @@ +{"rougail.general.mode_conteneur_actif": "non", "rougail.enumfam.enumvar": "b"} diff --git a/tests/flattener_dicos/10valid_enum_none/result/00-base.xml b/tests/flattener_dicos/10valid_enum_none/result/00-base.xml new file mode 100644 index 00000000..e5369c82 --- /dev/null +++ b/tests/flattener_dicos/10valid_enum_none/result/00-base.xml @@ -0,0 +1,27 @@ + + + + + expert + + oui + non + mandatory + expert + non + + + + expert + + a + b + + mandatory + expert + b + + + + + diff --git a/tests/flattener_dicos/10valid_enum_number/result/00-base.xml b/tests/flattener_dicos/10valid_enum_number/result/00-base.xml index 951e5114..fe2d16d9 100644 --- a/tests/flattener_dicos/10valid_enum_number/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_number/result/00-base.xml @@ -1,6 +1,6 @@ - + expert diff --git a/tests/flattener_dicos/10valid_enum_numberdefault/result/00-base.xml b/tests/flattener_dicos/10valid_enum_numberdefault/result/00-base.xml index 56aaf16e..66d9af12 100644 --- a/tests/flattener_dicos/10valid_enum_numberdefault/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_numberdefault/result/00-base.xml @@ -1,6 +1,6 @@ - + expert diff --git a/tests/flattener_dicos/10valid_enum_python/result/00-base.xml b/tests/flattener_dicos/10valid_enum_python/result/00-base.xml index c3cd706d..af473e92 100644 --- a/tests/flattener_dicos/10valid_enum_python/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_python/result/00-base.xml @@ -1,6 +1,6 @@ - + expert diff --git a/tests/flattener_dicos/10valid_enum_value/result/00-base.xml b/tests/flattener_dicos/10valid_enum_value/result/00-base.xml index 8fc279e5..5eaec710 100644 --- a/tests/flattener_dicos/10valid_enum_value/result/00-base.xml +++ b/tests/flattener_dicos/10valid_enum_value/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/11disabled_if_in_filelist/makedict/base.json b/tests/flattener_dicos/11disabled_if_in_filelist/makedict/base.json index 1c9825d8..e6f3324a 100644 --- a/tests/flattener_dicos/11disabled_if_in_filelist/makedict/base.json +++ b/tests/flattener_dicos/11disabled_if_in_filelist/makedict/base.json @@ -1 +1 @@ -{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/etc/file", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "file", "services.service0.files.file0.templating": true, "services.service0.files.file0.activate": true} +{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.test.files.file.group": "root", "services.test.files.file.mode": "0644", "services.test.files.file.name": "/etc/file", "services.test.files.file.owner": "root", "services.test.files.file.source": "file", "services.test.files.file.templating": true, "services.test.files.file.activate": true} diff --git a/tests/flattener_dicos/11disabled_if_in_filelist/result/00-base.xml b/tests/flattener_dicos/11disabled_if_in_filelist/result/00-base.xml index 589cd687..850de90a 100644 --- a/tests/flattener_dicos/11disabled_if_in_filelist/result/00-base.xml +++ b/tests/flattener_dicos/11disabled_if_in_filelist/result/00-base.xml @@ -1,35 +1,29 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /etc/file - hidden root - hidden file - hidden True - hidden disabled True @@ -37,7 +31,7 @@ - + normal diff --git a/tests/flattener_dicos/11disabled_if_in_filelist_disabled/makedict/base.json b/tests/flattener_dicos/11disabled_if_in_filelist_disabled/makedict/base.json index 7fe29543..aa8b1724 100644 --- a/tests/flattener_dicos/11disabled_if_in_filelist_disabled/makedict/base.json +++ b/tests/flattener_dicos/11disabled_if_in_filelist_disabled/makedict/base.json @@ -1 +1 @@ -{"rougail.general.condition": "oui", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/etc/file", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "file", "services.service0.files.file0.templating": true} +{"rougail.general.condition": "oui", "services.test.files.file.group": "root", "services.test.files.file.mode": "0644", "services.test.files.file.name": "/etc/file", "services.test.files.file.owner": "root", "services.test.files.file.source": "file", "services.test.files.file.templating": true} diff --git a/tests/flattener_dicos/11disabled_if_in_filelist_disabled/result/00-base.xml b/tests/flattener_dicos/11disabled_if_in_filelist_disabled/result/00-base.xml index 7030a714..095e8340 100644 --- a/tests/flattener_dicos/11disabled_if_in_filelist_disabled/result/00-base.xml +++ b/tests/flattener_dicos/11disabled_if_in_filelist_disabled/result/00-base.xml @@ -1,35 +1,29 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /etc/file - hidden root - hidden file - hidden True - hidden disabled True @@ -37,7 +31,7 @@ - + normal diff --git a/tests/flattener_dicos/11disabled_if_in_filelist_multi/makedict/base.json b/tests/flattener_dicos/11disabled_if_in_filelist_multi/makedict/base.json index 16f87b7b..02bbdbb6 100644 --- a/tests/flattener_dicos/11disabled_if_in_filelist_multi/makedict/base.json +++ b/tests/flattener_dicos/11disabled_if_in_filelist_multi/makedict/base.json @@ -1 +1 @@ -{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/tmp/file1", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "file1", "services.service0.files.file0.templating": true, "services.service0.files.file0.activate": true, "services.service0.files.file1.group": "root", "services.service0.files.file1.mode": "0644", "services.service0.files.file1.name": "/tmp/file2", "services.service0.files.file1.owner": "root", "services.service0.files.file1.source": "file2", "services.service0.files.file1.templating": true, "services.service0.files.file1.activate": true} +{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.test.files.file1.group": "root", "services.test.files.file1.mode": "0644", "services.test.files.file1.name": "/tmp/file1", "services.test.files.file1.owner": "root", "services.test.files.file1.source": "file1", "services.test.files.file1.templating": true, "services.test.files.file1.activate": true, "services.test.files.file2.group": "root", "services.test.files.file2.mode": "0644", "services.test.files.file2.name": "/tmp/file2", "services.test.files.file2.owner": "root", "services.test.files.file2.source": "file2", "services.test.files.file2.templating": true, "services.test.files.file2.activate": true} diff --git a/tests/flattener_dicos/11disabled_if_in_filelist_multi/result/00-base.xml b/tests/flattener_dicos/11disabled_if_in_filelist_multi/result/00-base.xml index 26d42f55..57fee78f 100644 --- a/tests/flattener_dicos/11disabled_if_in_filelist_multi/result/00-base.xml +++ b/tests/flattener_dicos/11disabled_if_in_filelist_multi/result/00-base.xml @@ -1,66 +1,53 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /tmp/file1 - hidden root - hidden file1 - hidden True - hidden disabled True - + - hidden root - hidden 0644 - hidden /tmp/file2 - hidden root - hidden file2 - hidden True - hidden disabled True @@ -68,7 +55,7 @@ - + normal diff --git a/tests/flattener_dicos/11disabledifin_filelist_notexist/makedict/base.json b/tests/flattener_dicos/11disabledifin_filelist_notexist/makedict/base.json index 9dbc54a6..1a2b116f 100644 --- a/tests/flattener_dicos/11disabledifin_filelist_notexist/makedict/base.json +++ b/tests/flattener_dicos/11disabledifin_filelist_notexist/makedict/base.json @@ -1 +1 @@ -{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/tmp/file", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "file", "services.service0.files.file0.templating": true} +{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.test.files.file.group": "root", "services.test.files.file.mode": "0644", "services.test.files.file.name": "/tmp/file", "services.test.files.file.owner": "root", "services.test.files.file.source": "file", "services.test.files.file.templating": true} diff --git a/tests/flattener_dicos/11disabledifin_filelist_notexist/result/00-base.xml b/tests/flattener_dicos/11disabledifin_filelist_notexist/result/00-base.xml index 6054991a..9bc7934c 100644 --- a/tests/flattener_dicos/11disabledifin_filelist_notexist/result/00-base.xml +++ b/tests/flattener_dicos/11disabledifin_filelist_notexist/result/00-base.xml @@ -1,43 +1,37 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /tmp/file - hidden root - hidden file - hidden True disabled - hidden True - + normal diff --git a/tests/flattener_dicos/11disabledifnotin_filelist_notexist/makedict/base.json b/tests/flattener_dicos/11disabledifnotin_filelist_notexist/makedict/base.json index 9dbc54a6..1a2b116f 100644 --- a/tests/flattener_dicos/11disabledifnotin_filelist_notexist/makedict/base.json +++ b/tests/flattener_dicos/11disabledifnotin_filelist_notexist/makedict/base.json @@ -1 +1 @@ -{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/tmp/file", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "file", "services.service0.files.file0.templating": true} +{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.test.files.file.group": "root", "services.test.files.file.mode": "0644", "services.test.files.file.name": "/tmp/file", "services.test.files.file.owner": "root", "services.test.files.file.source": "file", "services.test.files.file.templating": true} diff --git a/tests/flattener_dicos/11disabledifnotin_filelist_notexist/result/00-base.xml b/tests/flattener_dicos/11disabledifnotin_filelist_notexist/result/00-base.xml index 6054991a..9bc7934c 100644 --- a/tests/flattener_dicos/11disabledifnotin_filelist_notexist/result/00-base.xml +++ b/tests/flattener_dicos/11disabledifnotin_filelist_notexist/result/00-base.xml @@ -1,43 +1,37 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /tmp/file - hidden root - hidden file - hidden True disabled - hidden True - + normal diff --git a/tests/flattener_dicos/11disabledifnotin_filelist_notexist_multi/makedict/base.json b/tests/flattener_dicos/11disabledifnotin_filelist_notexist_multi/makedict/base.json index 9dbc54a6..1a2b116f 100644 --- a/tests/flattener_dicos/11disabledifnotin_filelist_notexist_multi/makedict/base.json +++ b/tests/flattener_dicos/11disabledifnotin_filelist_notexist_multi/makedict/base.json @@ -1 +1 @@ -{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/tmp/file", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "file", "services.service0.files.file0.templating": true} +{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.test.files.file.group": "root", "services.test.files.file.mode": "0644", "services.test.files.file.name": "/tmp/file", "services.test.files.file.owner": "root", "services.test.files.file.source": "file", "services.test.files.file.templating": true} diff --git a/tests/flattener_dicos/11disabledifnotin_filelist_notexist_multi/result/00-base.xml b/tests/flattener_dicos/11disabledifnotin_filelist_notexist_multi/result/00-base.xml index 6054991a..9bc7934c 100644 --- a/tests/flattener_dicos/11disabledifnotin_filelist_notexist_multi/result/00-base.xml +++ b/tests/flattener_dicos/11disabledifnotin_filelist_notexist_multi/result/00-base.xml @@ -1,43 +1,37 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /tmp/file - hidden root - hidden file - hidden True disabled - hidden True - + normal diff --git a/tests/flattener_dicos/11disabledifnotin_filelist_notexist_validenum/makedict/base.json b/tests/flattener_dicos/11disabledifnotin_filelist_notexist_validenum/makedict/base.json index 9dbc54a6..1a2b116f 100644 --- a/tests/flattener_dicos/11disabledifnotin_filelist_notexist_validenum/makedict/base.json +++ b/tests/flattener_dicos/11disabledifnotin_filelist_notexist_validenum/makedict/base.json @@ -1 +1 @@ -{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/tmp/file", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "file", "services.service0.files.file0.templating": true} +{"rougail.general.condition": "non", "rougail.general.mode_conteneur_actif": "non", "rougail.general.mode_conteneur_actif2": "non", "services.test.files.file.group": "root", "services.test.files.file.mode": "0644", "services.test.files.file.name": "/tmp/file", "services.test.files.file.owner": "root", "services.test.files.file.source": "file", "services.test.files.file.templating": true} diff --git a/tests/flattener_dicos/11disabledifnotin_filelist_notexist_validenum/result/00-base.xml b/tests/flattener_dicos/11disabledifnotin_filelist_notexist_validenum/result/00-base.xml index 7be5d23c..ed34c73d 100644 --- a/tests/flattener_dicos/11disabledifnotin_filelist_notexist_validenum/result/00-base.xml +++ b/tests/flattener_dicos/11disabledifnotin_filelist_notexist_validenum/result/00-base.xml @@ -1,35 +1,29 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /tmp/file - hidden root - hidden file - hidden True - hidden disabled True @@ -37,7 +31,7 @@ - + normal diff --git a/tests/flattener_dicos/11multi_disabled_if_in_filelist/makedict/base.json b/tests/flattener_dicos/11multi_disabled_if_in_filelist/makedict/base.json index c23b6367..5f07cf3d 100644 --- a/tests/flattener_dicos/11multi_disabled_if_in_filelist/makedict/base.json +++ b/tests/flattener_dicos/11multi_disabled_if_in_filelist/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "non", "rougail.general.condition": "non", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/tmp/file1", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "file1", "services.service0.files.file0.templating": true} +{"rougail.general.mode_conteneur_actif": "non", "rougail.general.condition": "non", "services.test.files.file1.group": "root", "services.test.files.file1.mode": "0644", "services.test.files.file1.name": "/tmp/file1", "services.test.files.file1.owner": "root", "services.test.files.file1.source": "file1", "services.test.files.file1.templating": true} diff --git a/tests/flattener_dicos/11multi_disabled_if_in_filelist/result/00-base.xml b/tests/flattener_dicos/11multi_disabled_if_in_filelist/result/00-base.xml index 3722c41f..c3aed9b8 100644 --- a/tests/flattener_dicos/11multi_disabled_if_in_filelist/result/00-base.xml +++ b/tests/flattener_dicos/11multi_disabled_if_in_filelist/result/00-base.xml @@ -1,43 +1,37 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /tmp/file1 - hidden root - hidden file1 - hidden True disabled - hidden True - + normal diff --git a/tests/flattener_dicos/20family_append/result/00-base.xml b/tests/flattener_dicos/20family_append/result/00-base.xml index 993f6dd5..f2cc7d1c 100644 --- a/tests/flattener_dicos/20family_append/result/00-base.xml +++ b/tests/flattener_dicos/20family_append/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/20family_appendaccent/result/00-base.xml b/tests/flattener_dicos/20family_appendaccent/result/00-base.xml index d5c52bf2..8d695edf 100644 --- a/tests/flattener_dicos/20family_appendaccent/result/00-base.xml +++ b/tests/flattener_dicos/20family_appendaccent/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/20family_dynamic/result/00-base.xml b/tests/flattener_dicos/20family_dynamic/result/00-base.xml index 6a8e3964..3369aefa 100644 --- a/tests/flattener_dicos/20family_dynamic/result/00-base.xml +++ b/tests/flattener_dicos/20family_dynamic/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/20family_dynamic_calc/result/00-base.xml b/tests/flattener_dicos/20family_dynamic_calc/result/00-base.xml index 41519464..5b67434c 100644 --- a/tests/flattener_dicos/20family_dynamic_calc/result/00-base.xml +++ b/tests/flattener_dicos/20family_dynamic_calc/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/20family_dynamic_number/00-base.xml b/tests/flattener_dicos/20family_dynamic_number/00-base.xml new file mode 100644 index 00000000..b085ce9c --- /dev/null +++ b/tests/flattener_dicos/20family_dynamic_number/00-base.xml @@ -0,0 +1,25 @@ + + + + + + + 1 + 2 + + + + + val + + + + + + + + + vardyn1 + + + diff --git a/tests/flattener_dicos/20family_dynamic_number/makedict/base.json b/tests/flattener_dicos/20family_dynamic_number/makedict/base.json new file mode 100644 index 00000000..87a929d7 --- /dev/null +++ b/tests/flattener_dicos/20family_dynamic_number/makedict/base.json @@ -0,0 +1 @@ +{"rougail.general.varname": [1, 2], "rougail.dyn1.vardyn1": "val", "rougail.dyn2.vardyn2": "val", "rougail.new.newvar": null} diff --git a/tests/flattener_dicos/20family_dynamic_number/result/00-base.xml b/tests/flattener_dicos/20family_dynamic_number/result/00-base.xml new file mode 100644 index 00000000..b9386dd8 --- /dev/null +++ b/tests/flattener_dicos/20family_dynamic_number/result/00-base.xml @@ -0,0 +1,32 @@ + + + + + normal + + mandatory + normal + 1 + 2 + + + + normal + + mandatory + normal + val + + + + normal + + mandatory + normal + + rougail.dyn.vardyn + + + + + diff --git a/tests/flattener_dicos/20family_empty/result/00-base.xml b/tests/flattener_dicos/20family_empty/result/00-base.xml index b55c68a9..3325eac4 100644 --- a/tests/flattener_dicos/20family_empty/result/00-base.xml +++ b/tests/flattener_dicos/20family_empty/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/20family_hidden/result/00-base.xml b/tests/flattener_dicos/20family_hidden/result/00-base.xml index 3d690098..848dda49 100644 --- a/tests/flattener_dicos/20family_hidden/result/00-base.xml +++ b/tests/flattener_dicos/20family_hidden/result/00-base.xml @@ -1,6 +1,6 @@ - + hidden normal diff --git a/tests/flattener_dicos/20family_mode/result/00-base.xml b/tests/flattener_dicos/20family_mode/result/00-base.xml index b55c68a9..3325eac4 100644 --- a/tests/flattener_dicos/20family_mode/result/00-base.xml +++ b/tests/flattener_dicos/20family_mode/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/20family_modeleadership/result/00-base.xml b/tests/flattener_dicos/20family_modeleadership/result/00-base.xml index c1ad3a3a..17fd85db 100644 --- a/tests/flattener_dicos/20family_modeleadership/result/00-base.xml +++ b/tests/flattener_dicos/20family_modeleadership/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/20notemplating/makedict/base.json b/tests/flattener_dicos/20notemplating/makedict/base.json index 7360c985..7f672f3d 100644 --- a/tests/flattener_dicos/20notemplating/makedict/base.json +++ b/tests/flattener_dicos/20notemplating/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "non", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/etc/file", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "file", "services.service0.files.file0.templating": false, "services.service0.files.file0.activate": true} +{"rougail.general.mode_conteneur_actif": "non", "services.test.files.file.group": "root", "services.test.files.file.mode": "0644", "services.test.files.file.name": "/etc/file", "services.test.files.file.owner": "root", "services.test.files.file.source": "file", "services.test.files.file.templating": false, "services.test.files.file.activate": true} diff --git a/tests/flattener_dicos/20notemplating/result/00-base.xml b/tests/flattener_dicos/20notemplating/result/00-base.xml index 37386279..e0d7ddae 100644 --- a/tests/flattener_dicos/20notemplating/result/00-base.xml +++ b/tests/flattener_dicos/20notemplating/result/00-base.xml @@ -1,42 +1,36 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /etc/file - hidden root - hidden file - hidden False - hidden True - + normal diff --git a/tests/flattener_dicos/20override/makedict/base.json b/tests/flattener_dicos/20override/makedict/base.json index ea514d21..5a4ee403 100644 --- a/tests/flattener_dicos/20override/makedict/base.json +++ b/tests/flattener_dicos/20override/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "non", "services.service0.overrides.override0.name": "test.service", "services.service0.overrides.override0.source": "test.service", "services.service0.overrides.override0.templating": true, "services.service0.overrides.override0.activate": true} +{"rougail.general.mode_conteneur_actif": "non", "services.test.overrides.test_service.name": "test.service", "services.test.overrides.test_service.source": "test.service", "services.test.overrides.test_service.templating": true, "services.test.overrides.test_service.activate": true} diff --git a/tests/flattener_dicos/20override/result/00-base.xml b/tests/flattener_dicos/20override/result/00-base.xml index dfe53bca..46bca2d1 100644 --- a/tests/flattener_dicos/20override/result/00-base.xml +++ b/tests/flattener_dicos/20override/result/00-base.xml @@ -1,30 +1,27 @@ - - - - + + hidden + + + - hidden test.service - hidden test.service - hidden True - hidden True - + normal diff --git a/tests/flattener_dicos/21family_change/result/00-base.xml b/tests/flattener_dicos/21family_change/result/00-base.xml index d5e21846..721580db 100644 --- a/tests/flattener_dicos/21family_change/result/00-base.xml +++ b/tests/flattener_dicos/21family_change/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/21family_changeaccent/result/00-base.xml b/tests/flattener_dicos/21family_changeaccent/result/00-base.xml index 09c36ad1..2a1e823a 100644 --- a/tests/flattener_dicos/21family_changeaccent/result/00-base.xml +++ b/tests/flattener_dicos/21family_changeaccent/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/21family_empty/result/00-base.xml b/tests/flattener_dicos/21family_empty/result/00-base.xml index 75f3caf6..23644283 100644 --- a/tests/flattener_dicos/21family_empty/result/00-base.xml +++ b/tests/flattener_dicos/21family_empty/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/30mandatory_withoutvalue/result/00-base.xml b/tests/flattener_dicos/30mandatory_withoutvalue/result/00-base.xml index e60dc60a..9fa3200a 100644 --- a/tests/flattener_dicos/30mandatory_withoutvalue/result/00-base.xml +++ b/tests/flattener_dicos/30mandatory_withoutvalue/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/30mandatory_withoutvaluecalc/result/00-base.xml b/tests/flattener_dicos/30mandatory_withoutvaluecalc/result/00-base.xml index e1f65fa9..1ab19f68 100644 --- a/tests/flattener_dicos/30mandatory_withoutvaluecalc/result/00-base.xml +++ b/tests/flattener_dicos/30mandatory_withoutvaluecalc/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/30mandatory_withvalue/result/00-base.xml b/tests/flattener_dicos/30mandatory_withvalue/result/00-base.xml index 4f6f38cd..3f43c49a 100644 --- a/tests/flattener_dicos/30mandatory_withvalue/result/00-base.xml +++ b/tests/flattener_dicos/30mandatory_withvalue/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/30mandatory_withvaluecalc/result/00-base.xml b/tests/flattener_dicos/30mandatory_withvaluecalc/result/00-base.xml index 6b482d0a..4c33fd27 100644 --- a/tests/flattener_dicos/30mandatory_withvaluecalc/result/00-base.xml +++ b/tests/flattener_dicos/30mandatory_withvaluecalc/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/40condition_base/result/00-base.xml b/tests/flattener_dicos/40condition_base/result/00-base.xml index 8402aa9c..f0d3d0f9 100644 --- a/tests/flattener_dicos/40condition_base/result/00-base.xml +++ b/tests/flattener_dicos/40condition_base/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/40condition_fallback/result/00-base.xml b/tests/flattener_dicos/40condition_fallback/result/00-base.xml index 7c579d34..a534570e 100644 --- a/tests/flattener_dicos/40condition_fallback/result/00-base.xml +++ b/tests/flattener_dicos/40condition_fallback/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/40condition_optional/result/00-base.xml b/tests/flattener_dicos/40condition_optional/result/00-base.xml index 6e33787b..2be2200e 100644 --- a/tests/flattener_dicos/40condition_optional/result/00-base.xml +++ b/tests/flattener_dicos/40condition_optional/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/40ifin_leadership/result/00-base.xml b/tests/flattener_dicos/40ifin_leadership/result/00-base.xml index 44634256..f3de62f2 100644 --- a/tests/flattener_dicos/40ifin_leadership/result/00-base.xml +++ b/tests/flattener_dicos/40ifin_leadership/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/40ifin_leadershipauto/result/00-base.xml b/tests/flattener_dicos/40ifin_leadershipauto/result/00-base.xml index 0a5ba7b3..61f77135 100644 --- a/tests/flattener_dicos/40ifin_leadershipauto/result/00-base.xml +++ b/tests/flattener_dicos/40ifin_leadershipauto/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/40ifin_multi/result/00-base.xml b/tests/flattener_dicos/40ifin_multi/result/00-base.xml index d6c1240c..489e2037 100644 --- a/tests/flattener_dicos/40ifin_multi/result/00-base.xml +++ b/tests/flattener_dicos/40ifin_multi/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/40ifin_validenum/result/00-base.xml b/tests/flattener_dicos/40ifin_validenum/result/00-base.xml index 88d0c39f..4b7758cd 100644 --- a/tests/flattener_dicos/40ifin_validenum/result/00-base.xml +++ b/tests/flattener_dicos/40ifin_validenum/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/50exists_exists/result/00-base.xml b/tests/flattener_dicos/50exists_exists/result/00-base.xml index be2f0049..9854f551 100644 --- a/tests/flattener_dicos/50exists_exists/result/00-base.xml +++ b/tests/flattener_dicos/50exists_exists/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/50redefine_description/result/00-base.xml b/tests/flattener_dicos/50redefine_description/result/00-base.xml index 779b90eb..ec53a716 100644 --- a/tests/flattener_dicos/50redefine_description/result/00-base.xml +++ b/tests/flattener_dicos/50redefine_description/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51exists_nonexists/result/00-base.xml b/tests/flattener_dicos/51exists_nonexists/result/00-base.xml index 96f88099..3d9ac6bb 100644 --- a/tests/flattener_dicos/51exists_nonexists/result/00-base.xml +++ b/tests/flattener_dicos/51exists_nonexists/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_auto/result/00-base.xml b/tests/flattener_dicos/51redefine_auto/result/00-base.xml index 87b387d1..a7f346b4 100644 --- a/tests/flattener_dicos/51redefine_auto/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_auto/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_autofill/result/00-base.xml b/tests/flattener_dicos/51redefine_autofill/result/00-base.xml index d8c6ca35..e129b340 100644 --- a/tests/flattener_dicos/51redefine_autofill/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_autofill/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_family/result/00-base.xml b/tests/flattener_dicos/51redefine_family/result/00-base.xml index 297ea814..1f3fffb5 100644 --- a/tests/flattener_dicos/51redefine_family/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_family/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_fill/result/00-base.xml b/tests/flattener_dicos/51redefine_fill/result/00-base.xml index 87b387d1..a7f346b4 100644 --- a/tests/flattener_dicos/51redefine_fill/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_fill/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_fillauto/result/00-base.xml b/tests/flattener_dicos/51redefine_fillauto/result/00-base.xml index 87b387d1..a7f346b4 100644 --- a/tests/flattener_dicos/51redefine_fillauto/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_fillauto/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_help/result/00-base.xml b/tests/flattener_dicos/51redefine_help/result/00-base.xml index a9037163..cb891fd9 100644 --- a/tests/flattener_dicos/51redefine_help/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_help/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_hidden/result/00-base.xml b/tests/flattener_dicos/51redefine_hidden/result/00-base.xml index 240d21c5..746206af 100644 --- a/tests/flattener_dicos/51redefine_hidden/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_hidden/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_remove_check/result/00-base.xml b/tests/flattener_dicos/51redefine_remove_check/result/00-base.xml index e90c0ef6..520ec49d 100644 --- a/tests/flattener_dicos/51redefine_remove_check/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_remove_check/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_remove_condition/result/00-base.xml b/tests/flattener_dicos/51redefine_remove_condition/result/00-base.xml index 880e6532..9a0cae1e 100644 --- a/tests/flattener_dicos/51redefine_remove_condition/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_remove_condition/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_removecondition_alltarget/result/00-base.xml b/tests/flattener_dicos/51redefine_removecondition_alltarget/result/00-base.xml index 7ebafa8a..370f6a94 100644 --- a/tests/flattener_dicos/51redefine_removecondition_alltarget/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_removecondition_alltarget/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_removecondition_nonautofreeze/result/00-base.xml b/tests/flattener_dicos/51redefine_removecondition_nonautofreeze/result/00-base.xml index 61233b9c..ec6c7d68 100644 --- a/tests/flattener_dicos/51redefine_removecondition_nonautofreeze/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_removecondition_nonautofreeze/result/00-base.xml @@ -1,6 +1,6 @@ - + basic diff --git a/tests/flattener_dicos/51redefine_validenum/result/00-base.xml b/tests/flattener_dicos/51redefine_validenum/result/00-base.xml index 43d963d3..b55f3ca9 100644 --- a/tests/flattener_dicos/51redefine_validenum/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_validenum/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/51redefine_value/result/00-base.xml b/tests/flattener_dicos/51redefine_value/result/00-base.xml index adbe7194..45d7c713 100644 --- a/tests/flattener_dicos/51redefine_value/result/00-base.xml +++ b/tests/flattener_dicos/51redefine_value/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/52exists_redefine/result/00-base.xml b/tests/flattener_dicos/52exists_redefine/result/00-base.xml index 9545f529..c92f50fb 100644 --- a/tests/flattener_dicos/52exists_redefine/result/00-base.xml +++ b/tests/flattener_dicos/52exists_redefine/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/60action_external/result/00-base.xml b/tests/flattener_dicos/60action_external/result/00-base.xml index 796210be..ab4908fe 100644 --- a/tests/flattener_dicos/60action_external/result/00-base.xml +++ b/tests/flattener_dicos/60action_external/result/00-base.xml @@ -1,6 +1,6 @@ - + normal @@ -16,7 +16,7 @@ - + normal diff --git a/tests/flattener_dicos/60extra_externalspacecondition/result/00-base.xml b/tests/flattener_dicos/60extra_externalspacecondition/result/00-base.xml index 4b60af60..8bc79cea 100644 --- a/tests/flattener_dicos/60extra_externalspacecondition/result/00-base.xml +++ b/tests/flattener_dicos/60extra_externalspacecondition/result/00-base.xml @@ -1,6 +1,6 @@ - + basic @@ -36,7 +36,7 @@ - + normal @@ -62,7 +62,7 @@ - + normal disabled diff --git a/tests/flattener_dicos/60extra_group/makedict/base.json b/tests/flattener_dicos/60extra_group/makedict/base.json index 768d3e44..6dbe6bb7 100644 --- a/tests/flattener_dicos/60extra_group/makedict/base.json +++ b/tests/flattener_dicos/60extra_group/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "non", "rougail.general.activer_ejabberd": "non", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/etc/mailname", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "mailname", "services.service0.files.file0.templating": true, "services.service0.files.file0.activate": true, "extra.ejabberd.description.description": ["test"], "extra.ejabberd.description.mode": ["pre"]} +{"rougail.general.mode_conteneur_actif": "non", "rougail.general.activer_ejabberd": "non", "services.test.files.mailname.group": "root", "services.test.files.mailname.mode": "0644", "services.test.files.mailname.name": "/etc/mailname", "services.test.files.mailname.owner": "root", "services.test.files.mailname.source": "mailname", "services.test.files.mailname.templating": true, "services.test.files.mailname.activate": true, "extra.ejabberd.description.description": ["test"], "extra.ejabberd.description.mode": ["pre"]} diff --git a/tests/flattener_dicos/60extra_group/result/00-base.xml b/tests/flattener_dicos/60extra_group/result/00-base.xml index 2830ffad..3836ff9f 100644 --- a/tests/flattener_dicos/60extra_group/result/00-base.xml +++ b/tests/flattener_dicos/60extra_group/result/00-base.xml @@ -1,42 +1,36 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /etc/mailname - hidden root - hidden mailname - hidden True - hidden True - + normal @@ -62,7 +56,7 @@ - + normal diff --git a/tests/flattener_dicos/60extra_help/makedict/base.json b/tests/flattener_dicos/60extra_help/makedict/base.json index 12bcdae4..43266450 100644 --- a/tests/flattener_dicos/60extra_help/makedict/base.json +++ b/tests/flattener_dicos/60extra_help/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "non", "rougail.general.activer_ejabberd": "non", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/etc/mailname", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "mailname", "services.service0.files.file0.templating": true, "services.service0.files.file0.activate": true, "extra.ejabberd.description": "Exportation de la base de ejabberd", "extra.ejabberd.day": null, "extra.ejabberd.mode": "pre"} +{"rougail.general.mode_conteneur_actif": "non", "rougail.general.activer_ejabberd": "non", "services.test.files.mailname.group": "root", "services.test.files.mailname.mode": "0644", "services.test.files.mailname.name": "/etc/mailname", "services.test.files.mailname.owner": "root", "services.test.files.mailname.source": "mailname", "services.test.files.mailname.templating": true, "services.test.files.mailname.activate": true, "extra.ejabberd.description": "Exportation de la base de ejabberd", "extra.ejabberd.day": null, "extra.ejabberd.mode": "pre"} diff --git a/tests/flattener_dicos/60extra_help/result/00-base.xml b/tests/flattener_dicos/60extra_help/result/00-base.xml index 6802bccb..d1925b7b 100644 --- a/tests/flattener_dicos/60extra_help/result/00-base.xml +++ b/tests/flattener_dicos/60extra_help/result/00-base.xml @@ -1,42 +1,36 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /etc/mailname - hidden root - hidden mailname - hidden True - hidden True - + normal @@ -62,7 +56,7 @@ - + normal diff --git a/tests/flattener_dicos/60extra_load/result/00-base.xml b/tests/flattener_dicos/60extra_load/result/00-base.xml index a7c272c4..770ed570 100644 --- a/tests/flattener_dicos/60extra_load/result/00-base.xml +++ b/tests/flattener_dicos/60extra_load/result/00-base.xml @@ -1,6 +1,6 @@ - + normal @@ -26,7 +26,7 @@ - + normal diff --git a/tests/flattener_dicos/60extra_mandatory/result/00-base.xml b/tests/flattener_dicos/60extra_mandatory/result/00-base.xml index 96181e6e..5036e6d1 100644 --- a/tests/flattener_dicos/60extra_mandatory/result/00-base.xml +++ b/tests/flattener_dicos/60extra_mandatory/result/00-base.xml @@ -1,6 +1,6 @@ - + normal @@ -26,7 +26,7 @@ - + basic diff --git a/tests/flattener_dicos/60extra_redefine/result/00-base.xml b/tests/flattener_dicos/60extra_redefine/result/00-base.xml index 78a736de..a3de1e34 100644 --- a/tests/flattener_dicos/60extra_redefine/result/00-base.xml +++ b/tests/flattener_dicos/60extra_redefine/result/00-base.xml @@ -1,6 +1,6 @@ - + normal @@ -26,7 +26,7 @@ - + normal diff --git a/tests/flattener_dicos/60familyaction/result/00-base.xml b/tests/flattener_dicos/60familyaction/result/00-base.xml index 6e2d3bbe..59c5face 100644 --- a/tests/flattener_dicos/60familyaction/result/00-base.xml +++ b/tests/flattener_dicos/60familyaction/result/00-base.xml @@ -1,6 +1,6 @@ - + normal @@ -16,7 +16,7 @@ - + normal diff --git a/tests/flattener_dicos/60familyaction_accent/result/00-base.xml b/tests/flattener_dicos/60familyaction_accent/result/00-base.xml index 6e2d3bbe..59c5face 100644 --- a/tests/flattener_dicos/60familyaction_accent/result/00-base.xml +++ b/tests/flattener_dicos/60familyaction_accent/result/00-base.xml @@ -1,6 +1,6 @@ - + normal @@ -16,7 +16,7 @@ - + normal diff --git a/tests/flattener_dicos/60familyaction_mandatory/result/00-base.xml b/tests/flattener_dicos/60familyaction_mandatory/result/00-base.xml index 8ffcc198..c6d62439 100644 --- a/tests/flattener_dicos/60familyaction_mandatory/result/00-base.xml +++ b/tests/flattener_dicos/60familyaction_mandatory/result/00-base.xml @@ -1,6 +1,6 @@ - + normal @@ -16,7 +16,7 @@ - + basic diff --git a/tests/flattener_dicos/70container_files/makedict/base.json b/tests/flattener_dicos/70container_files/makedict/base.json index a437e817..b3f851ab 100644 --- a/tests/flattener_dicos/70container_files/makedict/base.json +++ b/tests/flattener_dicos/70container_files/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "oui", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/etc/mailname", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "mailname", "services.service0.files.file0.templating": true, "services.service0.files.file0.activate": true} +{"rougail.general.mode_conteneur_actif": "oui", "services.test.files.mailname.group": "root", "services.test.files.mailname.mode": "0644", "services.test.files.mailname.name": "/etc/mailname", "services.test.files.mailname.owner": "root", "services.test.files.mailname.source": "mailname", "services.test.files.mailname.templating": true, "services.test.files.mailname.activate": true} diff --git a/tests/flattener_dicos/70container_files/result/00-base.xml b/tests/flattener_dicos/70container_files/result/00-base.xml index 9ce18c65..a18a9bcf 100644 --- a/tests/flattener_dicos/70container_files/result/00-base.xml +++ b/tests/flattener_dicos/70container_files/result/00-base.xml @@ -1,42 +1,36 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /etc/mailname - hidden root - hidden mailname - hidden True - hidden True - + normal diff --git a/tests/flattener_dicos/70container_files_symlink_multi/makedict/base.json b/tests/flattener_dicos/70container_files_symlink_multi/makedict/base.json index b8ecb650..2d3acb82 100644 --- a/tests/flattener_dicos/70container_files_symlink_multi/makedict/base.json +++ b/tests/flattener_dicos/70container_files_symlink_multi/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "oui", "rougail.general.file_name": ["/etc/mailname", "/etc/mailname2"], "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": ["/etc/mailname", "/etc/mailname2"], "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "mailname", "services.service0.files.file0.templating": true, "services.service0.files.file0.activate": true} +{"rougail.general.mode_conteneur_actif": "oui", "rougail.general.file_name": ["/etc/mailname", "/etc/mailname2"], "services.test.files.mailname.group": "root", "services.test.files.mailname.mode": "0644", "services.test.files.mailname.name": ["/etc/mailname", "/etc/mailname2"], "services.test.files.mailname.owner": "root", "services.test.files.mailname.source": "mailname", "services.test.files.mailname.templating": true, "services.test.files.mailname.activate": true} diff --git a/tests/flattener_dicos/70container_files_symlink_multi/result/00-base.xml b/tests/flattener_dicos/70container_files_symlink_multi/result/00-base.xml index f20d0c05..c82d6037 100644 --- a/tests/flattener_dicos/70container_files_symlink_multi/result/00-base.xml +++ b/tests/flattener_dicos/70container_files_symlink_multi/result/00-base.xml @@ -1,41 +1,34 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - - hidden - + - hidden root - hidden mailname - hidden True - hidden True - + normal diff --git a/tests/flattener_dicos/70container_files_symlink_multi_variable/makedict/base.json b/tests/flattener_dicos/70container_files_symlink_multi_variable/makedict/base.json index 0e0c4a23..a77c3815 100644 --- a/tests/flattener_dicos/70container_files_symlink_multi_variable/makedict/base.json +++ b/tests/flattener_dicos/70container_files_symlink_multi_variable/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "oui", "rougail.general.file_name": ["/etc/mailname", "/etc/mailname2"], "rougail.general.var": ["mailname", "mailname2"], "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": ["/etc/mailname", "/etc/mailname2"], "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "mailname", "services.service0.files.file0.templating": true, "services.service0.files.file0.variable": ["mailname", "mailname2"], "services.service0.files.file0.activate": true} +{"rougail.general.mode_conteneur_actif": "oui", "rougail.general.file_name": ["/etc/mailname", "/etc/mailname2"], "rougail.general.var": ["mailname", "mailname2"], "services.test.files.mailname.group": "root", "services.test.files.mailname.mode": "0644", "services.test.files.mailname.name": ["/etc/mailname", "/etc/mailname2"], "services.test.files.mailname.owner": "root", "services.test.files.mailname.source": "mailname", "services.test.files.mailname.templating": true, "services.test.files.mailname.variable": ["mailname", "mailname2"], "services.test.files.mailname.activate": true} diff --git a/tests/flattener_dicos/70container_files_symlink_multi_variable/result/00-base.xml b/tests/flattener_dicos/70container_files_symlink_multi_variable/result/00-base.xml index fa429958..b799fa27 100644 --- a/tests/flattener_dicos/70container_files_symlink_multi_variable/result/00-base.xml +++ b/tests/flattener_dicos/70container_files_symlink_multi_variable/result/00-base.xml @@ -1,44 +1,35 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - - hidden - + - hidden root - hidden mailname - hidden True - - hidden - + - hidden True - + normal diff --git a/tests/flattener_dicos/70container_filesmulti/makedict/base.json b/tests/flattener_dicos/70container_filesmulti/makedict/base.json index 8d474b7f..748995c7 100644 --- a/tests/flattener_dicos/70container_filesmulti/makedict/base.json +++ b/tests/flattener_dicos/70container_filesmulti/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "oui", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/etc/mailname", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "mailname", "services.service0.files.file0.templating": true, "services.service0.files.file0.activate": true, "services.service0.files.file1.group": "root", "services.service0.files.file1.mode": "0644", "services.service0.files.file1.name": "/etc/mailname2", "services.service0.files.file1.owner": "root", "services.service0.files.file1.source": "mailname2", "services.service0.files.file1.templating": true, "services.service0.files.file1.activate": true} +{"rougail.general.mode_conteneur_actif": "oui", "services.test.files.mailname.group": "root", "services.test.files.mailname.mode": "0644", "services.test.files.mailname.name": "/etc/mailname", "services.test.files.mailname.owner": "root", "services.test.files.mailname.source": "mailname", "services.test.files.mailname.templating": true, "services.test.files.mailname.activate": true, "services.test.files.mailname2.group": "root", "services.test.files.mailname2.mode": "0644", "services.test.files.mailname2.name": "/etc/mailname2", "services.test.files.mailname2.owner": "root", "services.test.files.mailname2.source": "mailname2", "services.test.files.mailname2.templating": true, "services.test.files.mailname2.activate": true} diff --git a/tests/flattener_dicos/70container_filesmulti/result/00-base.xml b/tests/flattener_dicos/70container_filesmulti/result/00-base.xml index 1706a5b9..0d8b1c76 100644 --- a/tests/flattener_dicos/70container_filesmulti/result/00-base.xml +++ b/tests/flattener_dicos/70container_filesmulti/result/00-base.xml @@ -1,72 +1,59 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /etc/mailname - hidden root - hidden mailname - hidden True - hidden True - + - hidden root - hidden 0644 - hidden /etc/mailname2 - hidden root - hidden mailname2 - hidden True - hidden True - + normal diff --git a/tests/flattener_dicos/70container_filesredefine/makedict/base.json b/tests/flattener_dicos/70container_filesredefine/makedict/base.json index 5d463377..60e016e0 100644 --- a/tests/flattener_dicos/70container_filesredefine/makedict/base.json +++ b/tests/flattener_dicos/70container_filesredefine/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "oui", "services.service0.files.file0.group": "root", "services.service0.files.file0.mode": "0644", "services.service0.files.file0.name": "/etc/mailname", "services.service0.files.file0.owner": "root", "services.service0.files.file0.source": "mailname.new", "services.service0.files.file0.templating": true, "services.service0.files.file0.activate": true} +{"rougail.general.mode_conteneur_actif": "oui", "services.test.files.mailname_new.group": "root", "services.test.files.mailname_new.mode": "0644", "services.test.files.mailname_new.name": "/etc/mailname", "services.test.files.mailname_new.owner": "root", "services.test.files.mailname_new.source": "mailname.new", "services.test.files.mailname_new.templating": true, "services.test.files.mailname_new.activate": true} diff --git a/tests/flattener_dicos/70container_filesredefine/result/00-base.xml b/tests/flattener_dicos/70container_filesredefine/result/00-base.xml index 2f31ea2c..a4ef3d05 100644 --- a/tests/flattener_dicos/70container_filesredefine/result/00-base.xml +++ b/tests/flattener_dicos/70container_filesredefine/result/00-base.xml @@ -1,42 +1,36 @@ - - - - + + hidden + + + - hidden root - hidden 0644 - hidden /etc/mailname - hidden root - hidden mailname.new - hidden True - hidden True - + normal diff --git a/tests/flattener_dicos/70container_new/result/00-base.xml b/tests/flattener_dicos/70container_new/result/00-base.xml index 4a48f742..7eed4c6c 100644 --- a/tests/flattener_dicos/70container_new/result/00-base.xml +++ b/tests/flattener_dicos/70container_new/result/00-base.xml @@ -1,9 +1,10 @@ - - + + hidden + - + normal diff --git a/tests/flattener_dicos/70container_newnocont/result/00-base.xml b/tests/flattener_dicos/70container_newnocont/result/00-base.xml index d124fe9f..03c8a433 100644 --- a/tests/flattener_dicos/70container_newnocont/result/00-base.xml +++ b/tests/flattener_dicos/70container_newnocont/result/00-base.xml @@ -1,9 +1,10 @@ - - + + hidden + - + normal diff --git a/tests/flattener_dicos/70container_newwithip/result/00-base.xml b/tests/flattener_dicos/70container_newwithip/result/00-base.xml index 42dfe285..074977db 100644 --- a/tests/flattener_dicos/70container_newwithip/result/00-base.xml +++ b/tests/flattener_dicos/70container_newwithip/result/00-base.xml @@ -1,9 +1,10 @@ - - + + hidden + - + normal diff --git a/tests/flattener_dicos/70container_pathaccess/makedict/base.json b/tests/flattener_dicos/70container_pathaccess/makedict/base.json index 1e1fe4d8..e209812c 100644 --- a/tests/flattener_dicos/70container_pathaccess/makedict/base.json +++ b/tests/flattener_dicos/70container_pathaccess/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "oui", "rougail.general.nut_monitor_netmask": null, "rougail.general.nut_monitor_host": null, "services.service0.ips.ip0.interface": "auto", "services.service0.ips.ip0.name": null, "services.service0.ips.ip0.netmask": null, "services.service0.ips.ip0.activate": true} +{"rougail.general.mode_conteneur_actif": "oui", "rougail.general.nut_monitor_netmask": null, "rougail.general.nut_monitor_host": null, "services.nut.ips.nut_monitor_host.interface": "auto", "services.nut.ips.nut_monitor_host.name": null, "services.nut.ips.nut_monitor_host.netmask": null, "services.nut.ips.nut_monitor_host.activate": true} diff --git a/tests/flattener_dicos/70container_pathaccess/result/00-base.xml b/tests/flattener_dicos/70container_pathaccess/result/00-base.xml index 0ec2a347..9ebc88b0 100644 --- a/tests/flattener_dicos/70container_pathaccess/result/00-base.xml +++ b/tests/flattener_dicos/70container_pathaccess/result/00-base.xml @@ -1,28 +1,23 @@ - - - - + + hidden + + + - hidden auto - - hidden - - - hidden - + + - hidden True - + basic diff --git a/tests/flattener_dicos/70container_pathaccess_leadership/makedict/base.json b/tests/flattener_dicos/70container_pathaccess_leadership/makedict/base.json index 797ae5e5..91903fe8 100644 --- a/tests/flattener_dicos/70container_pathaccess_leadership/makedict/base.json +++ b/tests/flattener_dicos/70container_pathaccess_leadership/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "oui", "rougail.general.nut_monitor_netmask.nut_monitor_netmask": [], "rougail.general.nut_monitor_netmask.nut_monitor_host": [], "services.service0.ips.ip0.interface": "auto", "services.service0.ips.ip0.name": [], "services.service0.ips.ip0.netmask": [], "services.service0.ips.ip0.activate": true} +{"rougail.general.mode_conteneur_actif": "oui", "rougail.general.nut_monitor_netmask.nut_monitor_netmask": [], "rougail.general.nut_monitor_netmask.nut_monitor_host": [], "services.ntp.ips.nut_monitor_host.interface": "auto", "services.ntp.ips.nut_monitor_host.name": [], "services.ntp.ips.nut_monitor_host.netmask": [], "services.ntp.ips.nut_monitor_host.activate": true} diff --git a/tests/flattener_dicos/70container_pathaccess_leadership/result/00-base.xml b/tests/flattener_dicos/70container_pathaccess_leadership/result/00-base.xml index 678dc875..122b558a 100644 --- a/tests/flattener_dicos/70container_pathaccess_leadership/result/00-base.xml +++ b/tests/flattener_dicos/70container_pathaccess_leadership/result/00-base.xml @@ -1,28 +1,23 @@ - - - - + + hidden + + + - hidden auto - - hidden - - - hidden - + + - hidden True - + basic diff --git a/tests/flattener_dicos/70container_save/result/00-base.xml b/tests/flattener_dicos/70container_save/result/00-base.xml index e025065a..ad3d4bf8 100644 --- a/tests/flattener_dicos/70container_save/result/00-base.xml +++ b/tests/flattener_dicos/70container_save/result/00-base.xml @@ -1,6 +1,6 @@ - + normal diff --git a/tests/flattener_dicos/70container_serviceaccess/makedict/base.json b/tests/flattener_dicos/70container_serviceaccess/makedict/base.json index edc0279c..9843ff39 100644 --- a/tests/flattener_dicos/70container_serviceaccess/makedict/base.json +++ b/tests/flattener_dicos/70container_serviceaccess/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "oui", "services.service0.ports.port0.name": "123", "services.service0.ports.port0.protocol": "udp", "services.service0.ports.port0.activate": true} +{"rougail.general.mode_conteneur_actif": "oui", "services.ntp.ports.123.name": "123", "services.ntp.ports.123.protocol": "udp", "services.ntp.ports.123.activate": true} diff --git a/tests/flattener_dicos/70container_serviceaccess/result/00-base.xml b/tests/flattener_dicos/70container_serviceaccess/result/00-base.xml index 3f4e2687..151796bd 100644 --- a/tests/flattener_dicos/70container_serviceaccess/result/00-base.xml +++ b/tests/flattener_dicos/70container_serviceaccess/result/00-base.xml @@ -1,26 +1,24 @@ - - - - + + hidden + + + - hidden 123 - hidden udp - hidden True - + normal diff --git a/tests/flattener_dicos/70container_servicerestriction/makedict/base.json b/tests/flattener_dicos/70container_servicerestriction/makedict/base.json index b161f3f8..0486314a 100644 --- a/tests/flattener_dicos/70container_servicerestriction/makedict/base.json +++ b/tests/flattener_dicos/70container_servicerestriction/makedict/base.json @@ -1 +1 @@ -{"rougail.general.mode_conteneur_actif": "oui", "services.service0.ips.ip0.interface": "eth0", "services.service0.ips.ip0.name": "192.168.1.1", "services.service0.ips.ip0.netmask": "255.255.255.255", "services.service0.ips.ip0.activate": true} +{"rougail.general.mode_conteneur_actif": "oui", "services.testsrv.ips.192_168_1_1.interface": "eth0", "services.testsrv.ips.192_168_1_1.name": "192.168.1.1", "services.testsrv.ips.192_168_1_1.netmask": "255.255.255.255", "services.testsrv.ips.192_168_1_1.activate": true} diff --git a/tests/flattener_dicos/70container_servicerestriction/result/00-base.xml b/tests/flattener_dicos/70container_servicerestriction/result/00-base.xml index 37be6aa4..acaef8e0 100644 --- a/tests/flattener_dicos/70container_servicerestriction/result/00-base.xml +++ b/tests/flattener_dicos/70container_servicerestriction/result/00-base.xml @@ -1,30 +1,27 @@ - - - - + + hidden + + + - hidden eth0 - hidden 192.168.1.1 - hidden 255.255.255.255 - hidden True - + normal diff --git a/tests/flattener_dicos/70container_services/result/00-base.xml b/tests/flattener_dicos/70container_services/result/00-base.xml index 3c3dda54..c33f50fe 100644 --- a/tests/flattener_dicos/70container_services/result/00-base.xml +++ b/tests/flattener_dicos/70container_services/result/00-base.xml @@ -1,9 +1,10 @@ - - + + hidden + - + normal diff --git a/tests/test_flattener.py b/tests/test_flattener.py index 8b1e8da3..3c773e9c 100644 --- a/tests/test_flattener.py +++ b/tests/test_flattener.py @@ -29,8 +29,8 @@ for test in listdir(dico_dirs): excludes = set([]) test_ok -= excludes test_raise -= excludes -#test_ok = ['51redefine_auto'] -#test_raise = [] +#test_ok = ['10valid_enum_none'] +#"test_raise = [] test_ok = list(test_ok) @@ -84,7 +84,7 @@ def launch_flattener(test_dir, test_ok=False): eolobj.save(destfile) result_file = join(test_dir, 'result/00-base.xml') if isfile(result_file): - #eolobj.save(result_file) + eolobj.save(result_file) compare_xml(destfile, result_file) elif test_ok: raise Exception(f'no test found for {test_dir}') diff --git a/tests/test_makedict.py b/tests/test_makedict.py index b97b450a..390ba599 100644 --- a/tests/test_makedict.py +++ b/tests/test_makedict.py @@ -24,7 +24,7 @@ for test in listdir(dico_dirs): excludes = set([]) #excludes = set(['70container_services']) test_ok -= excludes -#test_ok = ['10load_leadership_default_submulti'] +#test_ok = ['10valid_enum_none'] test_ok = list(test_ok) @@ -54,9 +54,9 @@ async def launch_flattener(test_dir): if config_dict: if not isdir(makedict_dir): mkdir(makedict_dir) - with open(makedict_file, 'w') as fh: - dump(config_dict, fh) - fh.write('\n') + #with open(makedict_file, 'w') as fh: + # dump(config_dict, fh) + # fh.write('\n') if not isfile(makedict_file): if config_dict: raise Exception('dict is not empty')