2 from autopath import do_autopath
5 from tiramisu.setting import groups
6 from tiramisu.config import Config
7 from tiramisu.option import ChoiceOption, BoolOption, IntOption, \
8 StrOption, OptionDescription
9 from .test_state import _diff_opts, _diff_conf
10 from py.test import raises
13 def make_description():
14 numero_etab = StrOption('numero_etab', "identifiant de l'établissement")
15 nom_machine = StrOption('nom_machine', "nom de la machine", default="eoleng")
16 nombre_interfaces = IntOption('nombre_interfaces', "nombre d'interfaces à activer",
18 activer_proxy_client = BoolOption('activer_proxy_client', "utiliser un proxy",
20 mode_conteneur_actif = BoolOption('mode_conteneur_actif', "le serveur est en mode conteneur",
22 mode_conteneur_actif2 = BoolOption('mode_conteneur_actif2', "le serveur est en mode conteneur2",
23 default=False, properties=('hidden',))
25 adresse_serveur_ntp = StrOption('serveur_ntp', "adresse serveur ntp", multi=True)
26 time_zone = ChoiceOption('time_zone', 'fuseau horaire du serveur',
27 ('Paris', 'Londres'), 'Paris')
29 ip_admin_eth0 = StrOption('ip_admin_eth0', "ip réseau autorisé")
30 netmask_admin_eth0 = StrOption('netmask_admin_eth0', "masque du sous-réseau")
32 master = OptionDescription('ip_admin_eth0', '', [ip_admin_eth0, netmask_admin_eth0])
33 interface1 = OptionDescription('interface1', '', [master])
34 interface1.impl_set_group_type(groups.family)
36 general = OptionDescription('general', '', [numero_etab, nom_machine,
37 nombre_interfaces, activer_proxy_client,
38 mode_conteneur_actif, mode_conteneur_actif2,
39 adresse_serveur_ntp, time_zone])
40 general.impl_set_group_type(groups.family)
41 new = OptionDescription('new', '', [], properties=('hidden',))
42 new.impl_set_group_type(groups.family)
43 creole = OptionDescription('creole', 'first tiramisu configuration', [general, interface1, new])
44 descr = OptionDescription('baseconfig', 'baseconifgdescr', [creole])
49 cfg = Config(make_description())
50 ncfg = cfg.duplicate()
51 _diff_opts(cfg.cfgimpl_get_description(), ncfg.cfgimpl_get_description())
53 cfg.creole.general.numero_etab = 'oui'
54 raises(AssertionError, "_diff_conf(cfg, ncfg)")
55 ncfg.creole.general.numero_etab = 'oui'