diff --git a/doc/README.md b/doc/README.md
index 0e8c5a8ce..a6495126f 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -2,7 +2,7 @@
# Rougail
-Rougail est un bibliothèque python3 qui permet de charger des dictionnaires (fichiers au format XML ou YAML), de charger les variables dans Tiramisu et de générer des templates Cheetah ou Jinja.
+Rougail est un bibliothèque python3 qui permet de charger des dictionnaires (fichiers au format YAML), de charger les variables dans Tiramisu.

@@ -19,23 +19,11 @@ Rougail est un bibliothèque python3 qui permet de charger des dictionnaires (fi
### Les variables
- - [Les familles](family/README.md)
- [Les variables](variable/README.md)
-
-### Les services
-
- - [La gestion d'un fichier](service/file.md)
- - [La gestion d'un certificat](service/certificate.md)
- - [La gestion d'un fichier de service systemd](service/override.md)
- - [La gestion d'une ip](service/ip.md)
+ - [Les familles](family/README.md)
### Les contraintes
- [Les calculs automatiques](fill/README.md)
- [Les vérifications des valeurs](check/README.md)
- [Les conditions](condition/README.md)
-
-## Les templates
-
- - [Les moteurs de templates](template/README.md)
- - [Les patches](template/patch.md)
diff --git a/doc/check/function.md b/doc/check/function.md
index 2966de16b..487afd46d 100644
--- a/doc/check/function.md
+++ b/doc/check/function.md
@@ -6,49 +6,22 @@ Une fonction de vérification est une fonction complémentaire au type qui perme
Voici un exemple simple de validation des valeurs :
-```xml
-
-
-
-
-
- my_variable
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: my_variable
-constraints:
-- check:
- - name: islower
- target:
- - text: my_variable
-```
-
-
-La [cible (de type variable)](../target/variable.md) de la fonction de vérification est ici "my_variable".
-
-Dans cette exemple, la valeur de la variable "my_variable" va être validé par la fonction islower.
-
-Voici le contenu de la fonction :
-
-```python
-def islower(value):
- if value is None:
- return
- if not value.islower():
- raise ValueError(f'"{value}" is not lowercase string')
+---
+version: '1.0'
+my_variable:
+ validators:
+ - type: jinja
+ jinja: |+
+ {% if rougail.my_variable and not rougail.my_variable.islower() %}
+ {{ rougail.my_variable }} is not lowercase string
+ {% endif %}
```
Une fonction de vérification doit prendre en compte 2 aspects important :
- la valeur peut ne pas être renseigné (même si la variable est obligatoire), la valeur None doit être prise en compte
-- si la valeur est invalide, il faut faire un raise de type ValueError avec, si possible, un message explicite.
+- si la valeur est invalide, il faut renvoyer une phrase avec un message explicite.
À partir de maintenant seule None et des valeurs en minuscule seront autorisés.
@@ -58,20 +31,18 @@ Il est possible de définir des [paramètres](../param/README.md) à cette fonct
Dans la contrainte, il est possible de spécifier le niveau d'erreur et le mettre en avertissement :
-```xml
-
- my_variable
-
-```
-
-En YAML :
-
```yml
-- check:
- - name: islower
- level: warning
- target:
- - text: my_variable
+---
+version: '1.0'
+my_variable:
+ validators:
+ - type: jinja
+ jinja: |+
+ {% if rougail.my_variable and not rougail.my_variable.islower() %}
+ {{ rougail.my_variable }} is not lowercase string
+ {% endif %}
+ params:
+ warning: true
```
Dans ce cas une valeur avec une majuscule sera accepté, mais un message d'avertissement apparaitra.
diff --git a/doc/check/redefine.md b/doc/check/redefine.md
index 414ee9208..4bf6a2d60 100644
--- a/doc/check/redefine.md
+++ b/doc/check/redefine.md
@@ -4,55 +4,31 @@
Dans un premier dictionnaire déclarons notre variable et sa fonction de vérification :
-```xml
-
-
-
-
-
- my_variable
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: my_variable
-constraints:
-- check:
- - name: islower
- target:
- - text: my_variable
+---
+version: '1.0'
+my_variable:
+ validators:
+ - type: jinja
+ jinja: |+
+ {% if rougail.my_variable and not rougail.my_variable.islower() %}
+ {{ rougail.my_variable }} is not lowercase string
+ {% endif %}
```
Dans un second dictionnaire il est possible de redéfinir le calcul :
-```xml
-
-
-
-
-
- my_variable
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: my_variable
- redefine: true
-constraints:
-- check:
- - name: isspace
- target:
- - text: my_variable
+---
+version: '1.0'
+my_variable:
+ redefine: true
+ validators:
+ - type: jinja
+ jinja: |+
+ {% if rougail.my_variable and ' ' in rougail.my_variable %}
+ {{ rougail.my_variable }} has a space
+ {% endif %}
```
Dans ce cas, la fonction "islower" exécuté. Si cette fonction ne retourne pas d'erreur, la seconde fonction "isspace" sera exécuté.
@@ -65,44 +41,24 @@ Dans un second dictionnaire il est possible de supprimer cette vérification.
Dans un premier dictionnaire déclarons notre variable et notre fonction de vérification :
-```xml
-
-
-
-
-
- my_variable
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: my_variable
-constraints:
-- check:
- - name: islower
- target:
- - text: my_variable
+---
+version: '1.0'
+my_variable:
+ validators:
+ - type: jinja
+ jinja: |+
+ {% if rougail.my_variable and not rougail.my_variable.islower() %}
+ {{ rougail.my_variable }} is not lowercase string
+ {% endif %}
```
Dans un second dictionnaire supprimer cette vérification :
-```xml
-
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: my_variable
- redefine: true
- remove_check: true
+---
+version: '1.0'
+my_variable:
+ redefine: true
+ validators:
```
diff --git a/doc/condition/condition.md b/doc/condition/condition.md
index 1bfdcfe4e..336cdb5ca 100644
--- a/doc/condition/condition.md
+++ b/doc/condition/condition.md
@@ -1,47 +1,53 @@
-# Les conditions
+# Les propriétés calculées
-## Un condition
+Les propriétés calculées permettent d'ajouter ou de supprimer des propriétés à une [variable](../variable/README.md) ou une [famille](../family/README.md) suivant le contexte.
-Les conditions permettent d'ajouter ou de supprimer des propriétés à une [variable](../variable/README.md), une [famille](../family/README.md), un [service](../service/README.md), un [fichier](../service/file.md) ou une [ip](../service/ip.md) suivant le contexte.
+Nous allons nous concentrer ici sur la proprété `hidden`, mais ce qui est dit est vrai pour toutes les propriétés.
-Nous allons nous concentrer ici sur la condition hidden_if_in, mais [il existe d'autre conditions](conditions.md).
+## Une propriété calculée de type variable
-La condition hidden_if_in permet de cacher une variable où une famille à l'utilisateur, mais cette variable est toujours accessible dans un calcul, un vérification ou dans un template.
+Une variable peut donc être calculé via la résultat d'une autre variable.
+Attention, cette autre variable doit obligatoirement être de type `boolean` :
-```xml
-
-
-
-
-
-
-
- True
- my_variable
-
-
-```
-
-En YAML :
```yml
-variables:
-- variable:
- name: condition
- type: boolean
-- variable:
- name: my_variable
-constraints:
-- condition:
- - name: hidden_if_in
- source: condition
- param:
- - text: true
- target:
- - text: my_variable
+---
+version: '1.0'
+condition:
+ type: boolean
+my_variable:
+ hidden:
+ type: variable
+ variable: rougail.condition
```
-Le [paramètres](../param/README.md) de la condition permet de définir les valeurs que doit avoir la source pour appliquer l'action.
+Si la valeur de la variable "rougail.condition" est `True` alors la variable "rougail.my_variable" est cachée.
+
+## Une propriété calculée de type jinja
+
+Il est possible d'écrire la condition en Jinja :
+
+```yml
+---
+version: '1.0'
+condition:
+ default: 'do not hide!'
+my_variable:
+ hidden:
+ type: jinja
+ jinja: |
+ {% if rougail.condition and rougail.condition == "hide!" %}
+ true
+ {% else %}
+ false
+ {% endif %}
+```
+
+Dans ce cas la variable est cachée si la valeur de la variable "rougail.condition" est `hide!` et elle n'a pas caché pour tout autre valeur.
+Attention toujours prendre en considération que "rougail.condition" peut être égale à `None`.
+
+Il est possible d'ajouter des [paramètres](../param/README.md) à la condition de type `jinja`.
+Il est possible d'ajouter des paramètres à la fonction
La [cible](../target/README.md) de la condition est ici "my_variable".
diff --git a/doc/dev/README.md b/doc/dev/README.md
index 53d3bbea2..a3abacace 100644
--- a/doc/dev/README.md
+++ b/doc/dev/README.md
@@ -1,58 +1,42 @@
# La bibliothèque Rougail
-Rougail est une bibliothèque qui permet de charger simplement des dictionnaires et de générer des templates.
+Rougail est une bibliothèque de gestion de configuration qui permet de charger simplement des variables.
Dans les exemples suivant, nous utiliserons une configuration particulière de Rougail.
Vous retrouverez toutes les options pour [personnaliser les répertoires utilisés](config.md).
-Le script contiendra donc les éléments de configuration suivant :
+Pour changer la configuration il faut importer la variable RougailConfig et changer les valeurs :
```python
from rougail import RougailConfig
RougailConfig['dictionaries_dir'] = ['dict']
-RougailConfig['templates_dir'] = ['tmpl']
-RougailConfig['tmp_dir'] = 'tmp'
-RougailConfig['destinations_dir'] = 'dest'
-RougailConfig['functions_file'] = 'funcs/functions.py'
-```
-
-Penser a créer les répertoires :
-
-```bash
-$ mkdir dest dict tmp tmpl extras
```
## Convertisons un dictionnaire
-Un dictionnaire est un ensemble d'instruction qui vont permettre de créer des variables.
+Un dictionnaire est un ensemble d'instruction qui vont permettre de créer des familles et des variables.
Commençons par créer un [dictionnaire](../dictionary/rougail.md) simple.
Voici un premier dictionnaire dict/00-base.yml :
```yml
-version: '0.10'
-variables:
-- variable:
- - name: my_variable
- value:
- - text: my_value
+---
+version: '1.0'
+my_variable:
+ default: my_value
```
-Puis, créons les objets [Tiramisu](https://framagit.org/tiramisu/tiramisu) :
+Puis, créons les objets [Tiramisu](https://forge.cloud.silique.fr/gnunux/tiramisu) via la script script.py suivant :
```python
from rougail import Rougail, RougailConfig
-from asyncio import run
-async def main():
- RougailConfig['dictionaries_dir'] = ['dict']
- rougail = Rougail()
- config = await rougail.get_config()
- print(await config.value.dict())
-
-run(main())
+RougailConfig['dictionaries_dir'] = ['dict']
+rougail = Rougail()
+config = rougail.get_config()
+print(config.value.dict())
```
Exécution le script :
@@ -78,28 +62,22 @@ RougailConfig['extra_dictionaries']['example'] = ['extras/']
Ensuite créons un dictionnaire extra extras/00-base.yml :
```yml
-version: '0.10'
-variables:
-- variable:
- - name: my_variable_extra
- value:
- - text: my_value_extra
+---
+version: '1.0'
+my_variable_extra:
+ default: my_value_extra
```
-Construisons les objets Tiramisu :
+Puis, créons les objets [Tiramisu](https://forge.cloud.silique.fr/gnunux/tiramisu) via la script script.py suivant :
```python
from rougail import Rougail, RougailConfig
-from asyncio import run
-async def main():
- RougailConfig['dictionaries_dir'] = ['dict']
- RougailConfig['extra_dictionaries']['example'] = ['extras/']
- rougail = Rougail()
- config = await rougail.get_config()
- print(await config.value.dict())
-
-run(main())
+RougailConfig['dictionaries_dir'] = ['dict']
+RougailConfig['extra_dictionaries']['example'] = ['extras/']
+rougail = Rougail()
+config = rougail.get_config()
+print(config.value.dict())
```
Exécution le script :
@@ -109,67 +87,18 @@ $ python3 script.py
{'rougail.my_variable': 'my_value', 'example.my_variable_extra': 'my_value_extra'}
```
-## Templatisons un fichier
-
-Un [template](../template/README.md) est un fichier dans lequel on va remplacer les valeurs attendues par le nom des variables.
-
-Premièrement déclarons dans un dictionnaire complémentaire notre template dict/00-template.yml :
-
-```yml
-version: '0.10'
-services:
-- service:
- - name: test
- file:
- - text: /etc/example.conf
-```
-
-Et un template tmpl/example.conf (par défaut il est généré via une configuration particulière de [Cheetah](https://cheetahtemplate.org/) :
-
-```
-The value: %%my_variable
-
-The extra value: %%example.my_variable_extra
-```
-
-Générons le template :
-
-```python
-from rougail import Rougail, RougailConfig
-from asyncio import run
-
-async def main():
- RougailConfig['dictionaries_dir'] = ['dict']
- RougailConfig['templates_dir'] = ['tmpl']
- RougailConfig['tmp_dir'] = 'tmp'
- RougailConfig['destinations_dir'] = 'dest'
- RougailConfig['extra_dictionaries']['example'] = ['extras/']
- RougailConfig['functions_file'] = 'funcs/functions.py'
- rougail = Rougail()
- await rougail.template()
-
-run(main())
-```
-
-Le fichier dest/etc/example.conf est maintenant créé avec le contenu attendu suivant :
-
-```
-The value: my_value
-
-The extra value: my_value_extra
-```
-
## Créons une fonction personnalisé
-Nous créons le dictionnaire complémentaire dict/00-fill.yml pour que la variable "my_variable" soit [calculée](fill/README.md) :
+Nous créons le dictionnaire complémentaire dict/01-function.yml pour que la variable "my_variable_jinja" soit [calculée](fill/README.md) :
```yml
-version: '0.10'
-constraints:
-- fill:
- - name: return_no
- target:
- - text: my_variable
+---
+version: '1.0'
+my_variable_jinja:
+ type: "string"
+ default:
+ type: jinja
+ jinja: "{{ return_no() }}"
```
Puis créons la fonction "return_no" dans functions.py :
@@ -179,41 +108,24 @@ def return_no():
return 'no'
```
-Après avoir reconverti les dictionnaires et regénérer le template nous avons donc le contenu du fichier dest/etc/example.conf :
-
-```
-The value: no
-
-The extra value: my_value_extra
-```
-
-La valeur de la variable "my_variable" est bien calculé à partir de la fonction "return_no".
-
-## Template et systemd
-
-Rougail peut également généré automatiquement le fichier [tmpfiles.d](https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html) pour installer automatiquement les fichiers de configuration au démarrage de la machine.
-
-Pour générer le fichier tmpfiles.d, ajouter l'argument "systemd" à la methode "template" :
+Puis, créons les objets [Tiramisu](https://forge.cloud.silique.fr/gnunux/tiramisu) via la script script.py suivant :
```python
from rougail import Rougail, RougailConfig
-from asyncio import run
-async def main():
- RougailConfig['dictionaries_dir'] = ['dict']
- RougailConfig['templates_dir'] = ['tmpl']
- RougailConfig['tmp_dir'] = 'tmp'
- RougailConfig['destinations_dir'] = 'dest'
- RougailConfig['extra_dictionaries']['example'] = ['extras/']
- RougailConfig['functions_file'] = 'funcs/functions.py'
- rougail = Rougail()
- await rougail.template('systemd')
-
-run(main())
+RougailConfig['dictionaries_dir'] = ['dict']
+RougailConfig['extra_dictionaries']['example'] = ['extras/']
+RougailConfig['functions_file'] = 'functions.py'
+rougail = Rougail()
+config = rougail.get_config()
+print(config.value.dict())
```
-Ainsi le fichier supplémentaire "dest/tmpfiles.d/0rougail.conf" sera créé avec le contenu :
+Exécution le script :
+```python
+$ python3 script.py
+{'rougail.my_variable': 'my_value', 'rougail.my_variable_jinja': 'no', 'example.my_variable_extra': 'my_value_extra'}
```
-C /etc/example.conf 0644 root root - /usr/local/lib/etc/example.conf
-```
+
+La valeur de la variable `my_variable_extra` est bien calculé à partir de la fonction `return_no`.
diff --git a/doc/dev/config.md b/doc/dev/config.md
index bda0d2a8f..006abb637 100644
--- a/doc/dev/config.md
+++ b/doc/dev/config.md
@@ -14,29 +14,17 @@ Pour modifier il suffit de faire :
RougailConfig[key] = value
```
-## Ajout d'une fonction de conversion
-
-Les fonctions de conversion fait parti du moteur de rougail. Il converti les informations des dictionnaires pour créer des variables Tiramisu.
-
-La clef "extra_annotators" permet d'ajouter des fonctions complémentaires.
-
## Configuration de chargement des dictionnaires
### Les répertoires des dictionnaires
Il existe deux types de répertoires de dictionnaires :
-- les dictionnaires principaux avec la clef "dictionaries_dir". La valeur par défaut est ['/srv/rougail/dictionaries']. Cette variable doit contenir la liste des répertoires contenants des dictionnaires.
+- les dictionnaires principaux avec la clef `dictionaries_dir`. La valeur par défaut est `['/srv/rougail/dictionaries']`. Cette variable doit contenir la liste des répertoires contenants des dictionnaires.
-Les dictionnaires sont chargés dans l'ordre des répertoires. Chaque répertoire est chargé les uns après les autres. A l'intérieur de ces répertoires les fichiers XML ou YAML seront classés par ordre alphabétique.
+- les dictionnaires extra avec la clef `extra_dictionaries`. La valeur est un dictionnaire avec l'ensemble des espaces de nom. La clef étant l'espace de nom et la valeur étant une liste de répertoire.
-Il n'y a pas de classement par ordre alphabétique de l'ensemble des fichiers XML ou YAML de tous les répertoires.
-
-Les familles et variables de ces dictionnaires sont classés, par défaut, dans l'espace de nom "rougail". Il est possible de changer le nom de cet espace de nom avec la clef "variable_namespace".
-
-- les dictionnaires extra avec la clef "extra_dictionaries". La valeur est un dictionnaire avec l'ensemble des espaces de nom. La clef étant l'espace de nom et la valeur étant une liste de répertoire.
-
-Par exemple pour ajouter l'extra "example" il faut faire :
+Par exemple pour ajouter l'extra `example` il faut faire :
```python
RougailConfig['extra_dictionaries']['example'] = ['/dir1', '/dir2']
@@ -44,14 +32,6 @@ RougailConfig['extra_dictionaries']['example'] = ['/dir1', '/dir2']
Les dictionnaires sont chargés dans le même ordre que les dictionnaires principaux.
-### La DTD et le schema YAML
-
-Rougail a besoin du fichier de la DTD pour lire les fichiers dictionnaire de type XML et du schema YAML pour les fichiers dictionnaire de type YAML.
-
-Par défaut le fichier de la DTD et le schema YAML sont dans le sous répertoire "data" du répertoire de code. Le nom du fichier est rougail.dtd et rougail.yml.
-
-Pour pouvez changer le nom du fichier DTD avec la clef "dtdfilename" et le nom du schema YAML avec la clef "yamlschema_filename".
-
### Le fichier de fonction
Le fichier qui contient les fonctions personnalisés est géré dans la clef "functions_file" et a comme valeur par défaut "/srv/rougail/functions.py". Cette clef peut contenir une liste s'il y a plusieurs fichiers.
@@ -147,3 +127,10 @@ La méthode d'inclusion des fichiers générés est géré dans la clef "default
## La configuration du moteur de templates
Le moteur de template est géré dans la clef "default_overrides_engine" et a comme valeur par défaut : "cheetah". Les valeurs possible sont "none", "cheetah" ou "jinja".
+
+## Ajout d'une fonction de conversion
+
+Les fonctions de conversion fait parti du moteur de rougail. Il converti les informations des dictionnaires pour créer des variables Tiramisu.
+
+La clef "extra_annotators" permet d'ajouter des fonctions complémentaires.
+
diff --git a/doc/dictionary/convention.md b/doc/dictionary/convention.md
index 617b7bf3e..d3abde1a0 100644
--- a/doc/dictionary/convention.md
+++ b/doc/dictionary/convention.md
@@ -1,21 +1,7 @@
-# Convention de rédaction d'un dictionnaire
-
-## Ordonnancement du dictionnaire
-
-L'ordre des informations mise dans le dictionnaire est idéalement :
-
-- services
-- variables
-- constraintes
-
-## Nom des fichiers de dictionnaire
+# Convention de nom d'un fichier de dictionnaire
L'ordre des dictionnaires est important pour l'ordre de création des variables et des familles.
Les fichiers devront donc démarrés par deux numéros suivit d'un tiret.
-Par exemple : 00-base.xml
-
-## Le nombre d'espace XML
-
-Le nombre d'espace dans un dictionnaire au format XML est de deux espaces.
+Par exemple : `00-base.xml`
diff --git a/doc/dictionary/extra.md b/doc/dictionary/extra.md
index 4fea90c97..2a584bc87 100644
--- a/doc/dictionary/extra.md
+++ b/doc/dictionary/extra.md
@@ -4,9 +4,4 @@ Un extra est un espace de nom différent. L'idée et de pouvoir classer les vari
Les espaces de nom extra doivent être déclaré au moment [de la configuration de Rougail](../dev/config.md).
-Dans cet espace de nom :
-
-- des variables et des familles peuvent avoir le même nom dans différentes familles
-- la valeur d'un cible, source, leader ou follower des contraintes doivent être avec un chemin complet
-- on ne peut pas déclarer des services dans cet espace de nom
-- dans un template il faut utiliser des chemins complet (%%my_extra.my_family.my_variable ou %%my_extra.my_family.leader.follower pour une variable suiveuse)
+Dans cet espace de nom on ne peut pas accéder a des variables d'un autre espace de nom `extra`. Par contre il est possible d'accéder au variable de l'espace de nom par défaut.
diff --git a/doc/dictionary/rougail.md b/doc/dictionary/rougail.md
index ef26e903f..2a2b79c05 100644
--- a/doc/dictionary/rougail.md
+++ b/doc/dictionary/rougail.md
@@ -2,21 +2,20 @@
## Un dictionnaire ?
-Un dictionnaire est un fichier XML ou YAML donc la structure est décrite dans cette documentation.
+Un dictionnaire est un fichier YAML dont la structure est décrite dans cette documentation.
-Un dictionnaire contient en ensemble de variable chargé dans Tiramisu, utilisable à tout moment, notamment dans des templates.
+Un dictionnaire contient en ensemble de variable chargé dans [Tiramisu](https://forge.cloud.silique.fr/gnunux/tiramisu), utilisable à tout moment, notamment dans des templates.
-Les familles, les variables et les contraintes peuvent être défini dans plusieurs dictionnaires. Ces dictionnaires s'aggrège alors.
+Les familles et les variables peuvent être défini dans plusieurs dictionnaires. Ces dictionnaires s'aggrègent alors.
-Il est également possible de redéfinir des éléments pour changer les comportement d'une variable ou d'un service.
+Les dictionnaires sont chargés dans l'ordre des répertoires [définit avec le paramètre `dictionaries_dir` de la configuration](../dev/config.md). Chaque répertoire est chargé les uns après les autres. A l'intérieur de ces répertoires les fichiers YAML seront classés par ordre alphabétique.
+
+Il n'y a pas de classement par ordre alphabétique de l'ensemble des fichiers YAML de tous les répertoires.
+
+Il est également possible de redéfinir des éléments pour changer les comportement d'une famille ou d'une variable.
## L'espace de nom par défaut
-L'espace de nom par défaut s'appelle "rougail" ([ce nom est personnalisable](../dev/config.md)).
+Les familles et variables de ces dictionnaires sont classées, par défaut, dans l'espace de nom `rougail`. Il est possible de changer le nom de cet espace de nom [avec le paramètre `variable_namespace` de la configuration](../dev/config.md).
-Cet espace de nom est un peu particulier :
-
-- le nom des variables et des familles doivent être unique pour l'ensemble de cet espace (même si ces variables ou familles sont dans des familles différentes)
-- la valeur d'un cible, source, leader ou follower des contraintes peuvent être avec nom de la variable ou de la famille ou leurs chemins complet
-- on peut déclarer des services dans cet espace de nom
-- dans un template on peut utiliser cette variable sans le chemin complet (%%my_variable) ou avec (%%rougail.my_family.my_variable)
+Cet espace de nom est un peu particulier, il peut accéder a des variables dans un autre espace de nom.
diff --git a/doc/family/auto.md b/doc/family/auto.md
index 6d2b3f7dc..dd16e57aa 100644
--- a/doc/family/auto.md
+++ b/doc/family/auto.md
@@ -1,46 +1,37 @@
# Famille crée dynamiquement
Pour créer une famille dynamiquement, il faut créer une famille fictive lié à une variable.
-Le nom et la description de la famille et des variables qu'elle contient sera en réalité le prefix du nouveau nom/description. Le suffix viendra de la variable liée.
+Le nom et la description de la famille et des variables qu'elle contient sera en réalité le prefix du nouveau nom/description. Le suffix viendra de la valeur de la variable liée.
Par exemple :
-```xml
-
- val1
- val2
-
-
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: variable
- multi: true
- value:
- - text: 'val1'
- - text: 'val2'
-- family:
- name: my_dyn_family_
- dynamic: varname
- description: 'Describe '
- variables:
- - variable:
- name: my_dyn_var_
+---
+version: '1.0'
+varname:
+ multi: true
+ default:
+ - val1
+ - val2
+my_dyn_family_:
+ type: dynamic
+ variable: rougail.varname
+ description: 'Describe '
+ my_dyn_var_:
+ type: string
```
Créera deux familles :
-- la famille dynamique : "my_dyn_family_val1" avec la description "Describe val1"
-- la famille dynamique : "my_dyn_family_val2" avec la description "Describe val2"
+- la famille dynamique : "rougail.my_dyn_family_val1" avec la description "Describe val1"
+- la famille dynamique : "rougail.my_dyn_family_val2" avec la description "Describe val2"
-Dans la famille dynamique "my_dyn_family_val1" on retrouvera une variable "my_dyn_var_val1".
+Dans la famille dynamique "rougail.my_dyn_family_val1" on retrouvera une variable "my_dyn_var_val1".
-Bien évidement si le contenu de "varname" venait a évolué, de nouvelles familles dynamiques pouvent apparaitre ou des familles dynamiques peuvent disparaître.
+Bien évidement si le contenu de "varname" venait a évoluer, de nouvelles familles dynamiques apparaitront ou disparaîtront.
-Attention la variable lié à la famille doit être obligatoirement une variable multiple et il n'est pas possible de mettre une famille dans une famille dynamique.
+A noter que :
+
+- la variable liée à la famille doit être obligatoirement une variable multiple ;
+- il n'est pas possible de mettre une simple famille dans une famille dynamique ;
+- il est possible de mettre [une famille meneuse](leadership.md) dans une famille dynamique.
diff --git a/doc/family/leadership.md b/doc/family/leadership.md
index bf35edb71..95f555b2e 100644
--- a/doc/family/leadership.md
+++ b/doc/family/leadership.md
@@ -1,14 +1,22 @@
# Variable meneuse ou suiveuse
+## Un famille meneuse
+
+Les variables meneuses et suiveuses sont placées dans un famille meneuse.
+
+Une famille meneuse ne peut pas contenir d'autre famille.
+
+Le [mode](../variable/mode.md) par défaut de la famille meneuse est le mode de la variable meneuse.
+
## Variable meneuse
-Une variable meneuse est une variable qui va guider la longueur d'autre variables (appelé variables suiveuse).
+Une variable meneuse est une variable qui va guider la longueur d'autres variables (appelé variables suiveuses).
Une variable meneuse est une [variable](../variable/README.md) qui est obligatoirement de type multiple.
Une variable meneuse peut être obligatoire.
-Le [mode](../mode.md) par défaut correspond au plus petit mode définit par l'utilisateur des variables suiveuses.
+Le [mode](../variable/mode.md) par défaut correspond au plus petit mode définit pour les variables suiveuses.
## Variable suiveuse
@@ -23,63 +31,35 @@ Cette variable peut être de type multiple. Dans ce cas, pour un index determin
Une variable suiveuse peut être obligatoire. Cela signifie que lorsqu'une variable meneuse est renseigné, il faut obligatoirement que la variable suiveuse est également une valeur à l'index considéré.
Si aucune valeur n'est définit pour la variable meneuse, aucune valeur n'est a spécifié pour la variable suiveuse.
-Le [mode](../mode.md) par défaut d'une variable suiveuse correspond au [mode](../mode.md) de la variable meneuse.
+Le [mode](../variable/mode.md) par défaut d'une variable suiveuse correspond au [mode](../variable/mode.md) de la variable meneuse.
Si une variable meneuse est caché ou désactivé, les variables suiveuses le seront également.
## Définition des variables meneuse et suiveuse
-Les variables meneuses et suiveuses doivent dans une famille de type "leadership".
+Une famille meneuse a un attribut type à "leadership". Le type est obligatoire.
Voici un exemple de définition d'une variable meneuse et de deux variables meneuses :
-```xml
-
-
-
-
-
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- family:
- name: family
- leadership: true
- variables:
- - variable:
- name: leader
- multi: true
- - variable:
- name: follower1
- - variable:
- name: follower2
- multi: true
+---
+version: '1.0'
+family:
+ type: leadership
+ leader:
+ multi: true
+ follower1:
+ follower2:
+ multi: true
```
## Ajout d'une nouvelle variable suiveuse
-Pour ajouter, dans un nouveau dictionnaire, une variable suiveuse à notre groupe, rien de plus simple, il suffit définir une ou des nouvelles variables dans la famille :
-
-```xml
-
-
-
-
-
-```
-
-En YAML :
+Pour ajouter une nouvelle variable suiveuse, dans un nouveau dictionnaire, il suffit de définir une ou des nouvelles variables dans la famille meneuse :
```yml
-variables:
-- family:
- name: family
- variables:
- - variable:
- name: follower3
+---
+version: '1.0'
+family:
+ follower3:
```
diff --git a/doc/family/simple.md b/doc/family/simple.md
index 89426357b..42ad4957c 100644
--- a/doc/family/simple.md
+++ b/doc/family/simple.md
@@ -1,128 +1,36 @@
+---
+gitea: none
+include_toc: true
+---
+
# Une famille
-Une famille est un conteneur de variables. Elle peut contenir également des familles.
+## Synopsis
-Pour décrire une famille il faut mettre au minimum un nom :
+Une famille est un conteneur de variables et de sous-famille.
-```xml
-
-```
+⚠️ Une famille sans sous-famille ni sous-variable sera automatiquement supprimée.
-En YAML :
+## Exemple
```yml
-- family:
- name: my_family
+---
+version: '1.0'
+my_family:
+ type: family
+ description: This is a great family
+ help: This is the help of a great family
+ mode: expert
```
-Cette famille doit être placé dans une balise [variables](../variables.md) :
+## Paramètres
-```xml
-
-
-
-```
-
-En YAML :
-
-```yml
-variables:
-- family:
- name: my_family
-```
-
-Ou dans une autre famille :
-
-```xml
-
-
-
-
-
-```
-
-En YAML :
-
-```yml
-variables:
-- family:
- name: my_family
- variables:
- - family:
- name: second_family
-```
-
-Attention, une famille vide sera automatiquement supprimée.
-
-## Description et aide de la famille
-
-En plus d'un nom, il est possible de mettre une "description" à la famille. C'est une information "utilisateur" qui nous permettra d'avoir des informations complémentaires sur le contenu de cette famille :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-variables:
-- family:
- name: my_family
- description: 'This is a great family'
-```
-
-En plus de la description, il est possible de préciser une aide complémentaire :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-variables:
-- family:
- name: my_family
- help: 'This is a great family'
-```
-
-## Mode de la famille
-
-Le [mode](../mode.md) par défaut d'une famille correspond au [mode](../mode.md) du mode le plus petit entre la famille parente, les variables enfants ou des familles enfants qui sont contenu dans cette famille.
-
-Changer le [mode](../mode.md) d'une famille permet de définir le [mode](../mode.md) par défaut des variables ou des familles inclusent dans cette famille.
-
-Pour définir le [mode](../mode.md) :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- family:
- name: my_family
- mode: expert
-```
-
-## Famille invisible
-
-Il est possible de cacher une famille, ainsi que toutes les variables et des familles inclusent dans cette famille.
-
-Cacher une famille signifie qu'elle ne sera pas visible lorsqu'on modifie la configuration du service.
-Par contre ces variables sont accessibles lorsqu'on va utiliser ces variables.
-
-Pour cacher une famille :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- family:
- name: my_family
- hidden: true
-```
+| Paramètre | Commentaire |
+|-----------|-------------|
+| **name**
`string`
`mandatory` | Nom de la famille.
C'est avec ce nom qu'on va pouvoir interagir avec la famille.
Il est préférable de suivre la [convention sur les noms de variable](convention.md). |
+| **type**, **\_type**
`string` | Type de la famille.
Le type n'est pas obligatoire même si parfois c'est nécessaire de le faire pour aider le moteur.
**Valeurs possible :**
- `family` ← par defaut
- `leadership`
- `dynamic`
📝 Si une sous-famille ou une sous-variable a déjà le nom "type" il est possible d'utiliser l'attribut "\_type". |
+| **description**, **\_description**
`string` | La description de la famille.
Information utilisateur permettant de comprendre l'utilité de la variable.
📝 Si une sous-famille ou une sous-variable a déjà le nom "description" il est possible d'utiliser l'attribut "\_description". |
+| **help**, **\_help**
`string` | Aide complémentaire associée à famille.
📝 Si une sous-famille ou une sous-variable a déjà le nom "help" il est possible d'utiliser l'attribut "\_help". |
+| **mode**, **\_mode**
`string` | [Mode](../variable/mode.md) de la famille
Le mode par défaut d'une famille est le mode le plus petit des familles parentes, les variables enfants ou des familles enfants qui sont contenus dans cette famille.
Ce mode permet aussi de définir le mode par défaut des variables ou des familes inclusent dans cette famille.
**Values:**
- basic
- normal ← default
- expert
📝 Si une sous-famille ou une sous-variable a déjà le nom "mode" il est possible l'attribut "\_mode". |
+| **hidden**, **\_hidden**
`boolean` ou [`calculation`](../condition/README.md) | Famille invisible
Permet de cacher une familles ainsi que les variables ou les familles inclusent dans cette famille.
Cela signifie que la famille ne sera plus visible pour l'utilisateur mais sera visible pour un calcul.
📝 Si une sous-famille ou une sous-variable a déjà le nom "hidden" il est possible l'attribut "\_hidden". |
+| **disabled**, **\_disabled**
`boolean` ou [`calculation`](../condition/README.md) | Famille désactivée
Permet de désactiver une familles ainsi que les variables ou les familles inclusent dans cette famille.
Cela signifie que la famille ne sera plus visible pour l'utilisateur mais "galement pour un calcul.
📝 Si une sous-famille ou une sous-variable a déjà le nom "disabled" il est possible l'attribut "\_disabled". |
diff --git a/doc/fill/README.md b/doc/fill/README.md
index 797d7ef8d..a31822a11 100644
--- a/doc/fill/README.md
+++ b/doc/fill/README.md
@@ -1,7 +1,6 @@
# Les variables calculées
-Une variable calculée est une variable donc sa valeur est le résultat d'une fonction python.
+Une variable calculée est une variable donc sa valeur est le résultat d'une fonction Python.
- [Valeur calculée de la variable](value.md)
- [Réfinition](redefine.md)
- - [Exemples de calcule](examples.md)
diff --git a/doc/fill/examples.md b/doc/fill/examples.md
index 58ad6bc4b..2f2e7b444 100644
--- a/doc/fill/examples.md
+++ b/doc/fill/examples.md
@@ -4,19 +4,6 @@
Créeons deux variables multiples, une pour accueillir la liste des éléments du nom variable (ici `zones_list`), la seconde étant le nom du fichier calculé (ici `netwokd_configurations`) :
-```xml
-
-
- zone1
- zone2
- zone3
-
-
-
-```
-
-En YAML :
-
```yml
variables:
- variable:
@@ -36,21 +23,6 @@ variables:
Calculons la valeur de la seconde variable à partir de la première :
-```xml
-
-
- /systemd/network/10-
- zones_list
- -risotto.network
-
- True
- netwokd_configurations
-
-
-```
-
-En YAML :
-
```yml
constraints:
- fill:
@@ -67,32 +39,3 @@ constraints:
target:
- text: netwokd_configurations
```
-
-Le contenu de la variable `netwokd_configurations` sera alors :
-
-- /systemd/netword/10-zone1/risotto.network
-- /systemd/netword/10-zone2/risotto.network
-- /systemd/netword/10-zone3/risotto.network
-
-Enfin déclarer une balise file en utilisant ces deux variables :
-
-```xml
-
-
- netwokd_configurations
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: systemd-networkd
- file:
- - file_type: variable
- source: network
- variable: zones_list
- text: netwokd_configurations
-```
diff --git a/doc/fill/redefine.md b/doc/fill/redefine.md
index d85b21b45..0d7fdc3e6 100644
--- a/doc/fill/redefine.md
+++ b/doc/fill/redefine.md
@@ -4,55 +4,25 @@
Dans un premier dictionnaire déclarons notre variable et notre calcule :
-```xml
-
-
-
-
-
- my_calculated_variable
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: my_calculated_variable
-constraints:
-- fill:
- - name: return_no
- target:
- - text: my_calculated_variable
+---
+version: '1.0'
+my_calculated_variable:
+ default:
+ type: jinja
+ jinja: '{{ return_no() }}'
```
Dans un second dictionnaire il est possible de redéfinir le calcul :
-```xml
-
-
-
-
-
- my_calculated_variable
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: my_calculated_variable
- redefine: true
-constraints:
-- fill:
- - name: return_yes
- target:
- - text: my_calculated_variable
+---
+version: '1.0'
+my_calculated_variable:
+ redefine: true
+ default:
+ type: jinja
+ jinja: '{{ return_yes() }}'
```
Dans ce cas, à aucun moment la fonction "return_no" ne sera exécuté. Seul la fonction "return_yes" le sera.
@@ -65,44 +35,21 @@ Dans un second dictionnaire il est possible de supprimer ce calcul.
Dans un premier dictionnaire déclarons notre variable et notre calcule :
-```xml
-
-
-
-
-
- my_calculated_variable"
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: my_calculated_variable
-constraints:
-- fill:
- - name: return_no
- target:
- - text: my_calculated_variable
+---
+version: '1.0'
+my_calculated_variable:
+ default:
+ type: jinja
+ jinja: '{{ return_no() }}'
```
Dans un second dictionnaire supprimer ce calcul :
-```xml
-
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: my_calculated_variable
- redefine: true
- remove_fill: true
+---
+version: '1.0'
+my_calculated_variable:
+ redefine: true
+ default: null
```
diff --git a/doc/fill/value.md b/doc/fill/value.md
index d32e30379..a62741622 100644
--- a/doc/fill/value.md
+++ b/doc/fill/value.md
@@ -4,28 +4,13 @@
Créons une variable dont la valeur est retournée par la fonction "return_no" :
-```xml
-
-
-
-
-
- my_calculated_variable
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: my_calculated_variable
-constraints:
-- fill:
- - name: return_no
- target:
- - text: my_calculated_variable
+---
+version: '1.0'
+my_calculated_variable:
+ default:
+ type: jinja
+ jinja: '{{ return_no() }}'
```
Puis créons la fonction "return_no" :
@@ -35,50 +20,21 @@ def return_no():
return 'no'
```
-La [cible (de type variable)](../target/variable.md) du calcul est ici "my_calculated_variable".
-
-Dans ce cas, la valeur par défaut est la valeur retournée par la fonction (ici "no"), elle sera calculée tant que l'utilisateur n'a pas de spécifié de valeur à cette variable.
-
-Attention, si une valeur par défaut est définit dans la variable "my_calculated_variable" :
-
-```xml
-
- yes
-
-```
-
-En YAML :
-
-```yml
-variables:
-- variable:
- name: my_calculated_variable
- value:
- - text: yes
-```
-
-Cette valeur par défaut sera complètement ignorée. C'est le calcul qui en définira la valeur.
-
-Il est possible de définir des [paramètres](../param/README.md) à cette fonction.
-
## Variable avec une valeur calculée
En ajoutant le paramètre "hidden" à "True" dans la variable précédente, l'utilisateur n'aura plus la possibilité de modifié la valeur. La valeur de la variable sera donc systématiquement calculée :
-```xml
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: my_calculated_variable
- hidden: true
+---
+version: '1.0'
+my_calculated_variable:
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ return_no() }}'
```
-Si une condition "hidden_if_in" est spécifié à la variable, la valeur sera modifiable par l'utilisateur si elle n'est pas cachée mais elle sera systèmatiquement calculée (même si elle a déjà était modifiée) si la variable est cachée.
+C'est également vrai également si hidden est un calcul et que le résultat du calcul est `true`.
## Variable meneuse ou suiveuse avec valeur calculé
@@ -90,105 +46,66 @@ Si la variable n'est pas multiple, il ne faut pas que le calcule retourne une li
Il est également possible de calculer [une variable d'une famille dynamique](../family/auto.md) à partir d'une variable standard :
-```xml
-
-
- val1
- val2
-
-
- val
-
-
-
- val
-
-
-
-
-
- my_variable
- my_calculated_variable_dyn_
-
-
-```
-
-En YAML :
-
```yml
-variables:
-- variable:
- name: suffixes
+---
+version: '1.0'
+suffixes:
+ type: string
+ description: Suffixes of dynamic family
+ multi: true
+ default:
+ - val1
+ - val2
+my_variable:
+ type: string
+ description: My variable
+ default: val
+dyn_:
+ type: dynamic
+ variable: rougail.suffixes
+ my_calculated_variable_dyn_:
type: string
- description: Suffixes of dynamic family
- multi: true
- value:
- - text: val1
- - text: val2
-- variable:
- name: my_variable
- type: string
- description: My variable
- value:
- - text: val
-- family:
- name: dyn
- dynamic: suffixes
- variables:
- - variable:
- name: my_calculated_variable_dyn_
- type: string
- description: My calculated variable
- value:
- - text: val
-constraints:
-- fill:
- - name: return_value
- param:
- - type: variable
- text: my_variable
- target:
- - text: my_calculated_variable_dyn_
+ description: My calculated variable
+ default:
+ type: variable
+ variable: rougail.my_variable
```
-Dans ce cas, les variables dynamiques "my_calculated_variable_dyn_" seront calculés à partir de la valeur de la variable "my_variable".
-Que cela soit pour la variable "my_calculated_variable_dyn_val1" et "my_calculated_variable_dyn_val2".
+Dans ce cas, les variables dynamiques "rougail.dyn_.my_calculated_variable_dyn_" seront calculés à partir de la valeur de la variable "my_variable".
+Que cela soit pour la variable "rougail.dynval1.my_calculated_variable_dyn_val1" ou "rougail.dynval2.my_calculated_variable_dyn_val2".
Par contre, il n'est pas possible de faire un calcul pour une seule des deux variables issues de la variable dynamique.
Si c'est ce que vous cherchez à faire, il faudra prévoir un traitement particulier dans votre fonction.
-Dans ce cas, il faut explicitement demander la valeur du suffix dans la fonction :
+Dans ce cas, il faut explicitement demander le suffix et faire un traitement :
-```xml
-
-
- my_variable
-
- my_calculated_variable_dyn_
-
-
-```
-
-En YAML :
```yml
-constraints:
-- fill:
- - name: return_value_suffix
- param:
- - type: variable
- text: my_variable
- - type:suffix
- target:
- - text: my_calculated_variable_dyn_
-```
-
-Et ainsi faire un traitement spécifique pour ce suffix :
-
-```python
-def return_value_suffix(value, suffix):
- if suffix == 'val1':
- return value
+---
+version: '1.0'
+suffixes:
+ type: string
+ description: Suffixes of dynamic family
+ multi: true
+ default:
+ - val1
+ - val2
+my_variable:
+ type: string
+ description: My variable
+ default: val
+dyn_:
+ type: dynamic
+ variable: rougail.suffixes
+ my_calculated_variable_dyn_:
+ type: string
+ description: My calculated variable
+ default:
+ type: jinja
+ jinja: "{% if suffix == 'val1' %}value{% endif %}"
+ params:
+ suffix:
+ type: suffix
```
## Variable avec valeur calculée obligatoire
diff --git a/doc/param/README.md b/doc/param/README.md
index fc5779065..68489774c 100644
--- a/doc/param/README.md
+++ b/doc/param/README.md
@@ -1,6 +1,5 @@
# Paramètre de la fonction
- - [Paramètre positionnel ou nommée](positional.md)
- [Type de paramètre simple](simple.md)
- [Type de paramètre "variable"](variable.md)
- [Type de paramètre "information"](information.md)
diff --git a/doc/param/positional.md b/doc/param/positional.md
deleted file mode 100644
index b3911dc3d..000000000
--- a/doc/param/positional.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# Paramètre positionnel
-
-Déclarons un paramètre positionnel :
-
-```xml
-no
-```
-
-En YAML :
-
-```yml
-param:
-- text: no
-```
-
-Créons la fonction correspondante :
-
-```python
-def return_value(value):
- return value
-```
-
-La variable "value" de la fonction "return_value" aura donc "no" comme valeur puisque le paramètre aura la valeur fixe "no".
-
-# Paramètre nommée
-
-Déclarons maintenant un paramètre nommée :
-
-```xml
-no
-```
-
-En YAML :
-
-```yml
-param:
-- name: valeur
- text: no
-```
-
-Dans ce cas la fonction return_value sera exécuté avec le paramètre nommé "valeur" dont sa valeur sera "no".
diff --git a/doc/param/simple.md b/doc/param/simple.md
index 44d118736..1e7ce4aee 100644
--- a/doc/param/simple.md
+++ b/doc/param/simple.md
@@ -1,90 +1,16 @@
-# Paramètre de type "texte"
+# Paramètre de type simple
-Déclarons un paramètre avec une string :
-
-```xml
-no
-```
-
-En YAML :
+Déclarons une variable donc la valeur est calculé via un paramètre contenu une valeur :
```yml
-param:
-- type: string
- text: no
+---
+version: '1.0'
+my_variable:
+ default:
+ type: jinja
+ jinja: '{{ value }}'
+ params:
+ value: 'no'
```
-C'est le type par défaut pour un paramètre.
-
-# Paramètre de type "nombre"
-
-Déclarons un paramètre avec un nombre :
-
-```xml
-1
-```
-
-En YAML :
-
-```yml
-param:
-- type: number
- text: 1
-```
-
-Créons la fonction correspondante :
-
-```python
-def return_value_with_number(value):
- if value == 1:
- return 'no'
- return 'yes'
-```
-
-La variable aura donc "no" comme valeur puisque le paramètre aura la valeur fixe "1".
-
-# Paramètre de type "booléen"
-
-Déclarons un paramètre avec un booléen :
-
-```xml
-True
-```
-
-En YAML :
-
-```yml
-param:
-- type: boolean
- text: true
-```
-
-# Paramètre de type "nil"
-
-Le paramètre peut être une valeur null (None en python) :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-param:
-- type: nil
-```
-
-# Paramètre de type "space"
-
-Les paramètres sont chargés en supprimer les espaces en début ou fin de chaîne. Ce qui rend impossible d'avoir un paramètre " ". Avec le type "space", le paramètre sera donc un simple espace :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-param:
-- type: space
-```
+La valeur de la variable conserve sont type.
diff --git a/doc/param/variable.md b/doc/param/variable.md
index bda316189..a359b57ad 100644
--- a/doc/param/variable.md
+++ b/doc/param/variable.md
@@ -1,43 +1,26 @@
# Paramètre de type "variable"
-Imaginons que la variable "my_variable" pré-existe. La valeur de la variable sera utilisé comme paramètre :
-
-```xml
-my_variable
-```
-
-En YAML :
+Il est possible de spécifier le nom d'une variable qui peut ne pas exister :
```yml
-param:
-- type: variable
- text: my_variable
+---
+version: '1.0'
+my_variable:
+ default:
+ type: jinja
+ jinja: |+
+ {% if value %}
+ value
+ {% endif %}
+ params:
+ value:
+ type: variable
+ variable: rougail.unknown_variable
+ optional: true
```
-[Les variables meneuses ou suiveuses](../family/leadership.md) peuvent être utilisé sans soucis comme paramètre.
-
-## Paramètre avec variable potentiellement non existante
-
-Suivant le contexte une variable peut exister ou ne pas exister.
-
-Un paramètre de type "variable" peut être "optional" :
-
-```xml
-unknow_variable
-```
-
-En YAML :
-
-```yml
-param:
-- type: variable
- optional: true
- text: unknow_variable
-```
-
-Si la variable "unknow_variable" n'existe pas, le paramètre ne sera pas passé à la fonction.
-
-Si maintenant on créé un nouveau dictionnaire en créant cette variable, la fonction sera exécuté avec le paramètre.
+La variable "rougail.unknown_variable" n'existant, `value` sera égal à `None` et la valeur de la variable "rougail.my_variable" sera aussi égale à `None`.
+Si "rougail.unknown_variable" est créé dans un autre dictionnaire, sa valeur sera ainsi copié.
## Paramètre avec variable potentiellement désactivée
@@ -45,17 +28,23 @@ Si une variable est désactivé, l'utilisation de cette variable peut poser prob
Il est possible de ne pas générer d'erreur si une variable est désactivé en utilisant le paramètre "propertyerror" :
-```xml
-variable1
-```
-
-En YAML :
-
```yml
-param:
-- type: variable
- propertyerror: false
- text: variable1
+---
+version: '1.0'
+disabled_variable:
+ disabled: true
+my_variable:
+ default:
+ type: jinja
+ jinja: |+
+ {% if value is defined and value %}
+ value
+ {% endif %}
+ params:
+ value:
+ type: variable
+ variable: rougail.disabled_variable
+ propertyerror: false
```
Dans ce cas, si la variable est désactivé, le paramètre n'est jamais donnée à la fonction de destination.
@@ -66,18 +55,110 @@ Il est possible de faire un calcul avec comme paramètre [une variable d'une fam
Par exemple :
-```xml
-vardynval1
+```yml
+---
+version: '1.0'
+varname:
+ multi: true
+ default:
+ - val1
+ - val2
+my_dyn_family_:
+ type: dynamic
+ variable: rougail.varname
+ description: 'Describe '
+ my_dyn_var_:
+ type: string
+ default: "val"
+my_variable:
+ multi: true
+ unique: false
+ default:
+ type: jinja
+ jinja: |+
+ {% for val in value %}
+ {{ val }}
+ {% endfor %}
+ params:
+ value:
+ type: variable
+ variable: rougail.my_dyn_family_.my_dyn_var_
```
-En YAML :
-
```yml
-param:
-- type: variable
- text: vardynval1
+---
+version: '1.0'
+varname:
+ multi: true
+ default:
+ - val1
+ - val2
+my_dyn_family_:
+ type: dynamic
+ variable: rougail.varname
+ description: 'Describe '
+ my_dyn_var_:
+ type: string
+ default: "val"
+my_variable:
+ default:
+ type: jinja
+ jinja: |+
+ {% if value is defined and value %}
+ {{ value }}
+ {% endif %}
+ params:
+ value:
+ type: variable
+ variable: rougail.my_dyn_family_val1.my_dyn_var_val1
```
+```yml
+---
+version: '1.0'
+varname:
+ multi: true
+ default:
+ - val1
+ - val2
+my_dyn_family_:
+ type: dynamic
+ variable: rougail.varname
+ description: 'Describe '
+ my_dyn_var_:
+ type: string
+ default:
+ type: jinja
+ jinja: '{{ value }}'
+ params:
+ value:
+ type: suffix
+```
+
+PAS LE BON FICHIER :
+
+```yml
+---
+version: '1.0'
+varname:
+ multi: true
+ default:
+ - val1
+ - val2
+my_dyn_family_:
+ type: dynamic
+ variable: rougail.varname
+ description: 'Describe '
+ my_dyn_var_:
+ type: string
+ default:
+ type: suffix
+```
+
+
+
+
+
Dans ce cas, la valeur du paramètre de la fonction sera la valeur de la variable "vardyn" pour la famille ayant le suffix "val1".
Il peut être utile de récupérer la valeur du suffix dans la fonction, pour cela il suffit de mettre un paramètre de type suffix :
diff --git a/doc/service/README.md b/doc/service/README.md
deleted file mode 100644
index c796b46e2..000000000
--- a/doc/service/README.md
+++ /dev/null
@@ -1,186 +0,0 @@
-# La gestion d'un service
-
-## La base service
-
-Un service est inclut dans un conteneur [services](../services.md).
-
-Cette balise permet de définir tous les éléments ([fichier](file.md), [certificat](certificate.md), [IP](ip.md) et [réécriture](override.md)) liés à un service ou à démon.
-
-Il faut, à la création du service, préciser son nom :
-
-```xml
-
-
-
-
-
-
-```
-
-En YAML :
-
-```yml
-version: '0.10'
-services:
-- service:
- - name: squid
-```
-
-## Les types de service
-
-Les services peuvent être de plusieurs type :
-
-- service (valeur par défaut) : cela signifie que c'est un service systemd qui est activer au démarrage de la machine
-- mount : fichier utilisé par systemd-mount
-- swap : fichier utilisé par systemd-swap
-- timer : tâche planifié pour systemd
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- service:
- - name: dev-disk-by\x2dpartlabel-swap
- type: swap
-```
-
-## Les targets de service
-
-Active le service systemd pour une target systemd déterminé. Par défaut, l'activation du service n'est pas gérer par rougail.
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- service:
- - name: squid
- target: multi-user
-```
-
-## La génération du fichier service
-
-Le fichier de description du service peut être fourni directement par la distribution GNU/Linux utilisé, mais il peut également être fournit par l'administrateur.
-Dans ce cas, il est possible de créé un template, dont le nom est obligatoirement la valeur de la balise "name" + "." + la valeur de la base "type".
-
-Deux types de template sont aujourd'hui disponible :
-
-- cheetah
-- jinja
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- service:
- - name: dev-disk-by\x2dpartlabel-swap
- type: swap
- engine: cheetah
-```
-
-Dans ce cas, rougail utilisera le template "dev-disk-by\x2dpartlabel-swap.swap" pour générer le fichier systemd de gestion de ce service.
-
-## Le service factice
-
-Un service peut être factice, donc non géré par le système de service du système :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- service:
- - name: ldap_client
- manage: false
-```
-
-Un service factice est généralement une service qui n'existe pas réellement (par exemple si on configure un client). Il n'est là que pour contenir des fichiers.
-
-## Désactiver le service
-
-Il est possible de désactiver un service. Pour cela il faut rajouter l'attribut "disabled" à True :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- service:
- - name: test
- disabled: true
-```
-
-Dans ce cas, le service et les éléments qu'il compose ([fichier](file.md), [certificat](certificate.md), [IP](ip.md) et [réécriture](override.md) seront désactivés.
-
-Il est possible de définir une [condition](../condition/README.md) de type "disabled_if_in" ou "disabled_if_not_in" sur une balise service :
-
-```xml
-
-
-
-
-
-
-
-
-
- False
- test
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: test
- servicelist: test
-variables:
-- variable:
- - name: condition
- type: boolean
-constraints:
-- condition:
- - name: disabled_if_in
- source: condition
- param:
- - text: false
- target:
- - type: servicelist
- text: test
-```
-
-Dans ce cas, tous les services et les éléments qu'il compose avec un attribut servicelist à "test" seront désactivés si la variable "condition" est False.
-
-## Ne pas désactiver le service dans systemd
-
-La désactivation du service va créé un lien symbolique vers /dev/null.
-
-Si vous ne voulez juste pas créer le fichier de service et ne pas faire de lien symbolique, il faut utiliser l'attribut undisable :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- service:
- - name: test
- disabled: true
- undisable: true
-```
diff --git a/doc/service/certificate.md b/doc/service/certificate.md
deleted file mode 100644
index 6febbb399..000000000
--- a/doc/service/certificate.md
+++ /dev/null
@@ -1,163 +0,0 @@
-# La gestion d'un certificat
-
-## La balise certificate
-
-La gestion des certificats se fait dans un conteneur de [service](README.md).
-
-La déclaration du certificat permet d'associer un certificat à un service. Attention, Rougail ne permet que de déclarer ces certificats. Il n'y a pas de gestion du certification dans la bibliothèque.
-
-Pour déclarer un certificat :
-
-```xml
-
-
- /etc/pki/tls/certs/squid.crt
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: squid
- certificate:
- - private: /etc/pki/tls/private/squid.key
- authority: /etc/pki/ca-trust/source/anchors/ca_squid.crt
- text: /etc/pki/tls/certs/squid.crt
-```
-
-Les trois informations a donner sont donc :
-
-- le nom du certificat
-- le nom de la clef privée
-- le nom de certificat de l'autorité de certification
-
-## Les noms de fichiers dynamique
-
-Il est possible également de définir le nom des fichiers dans des variables :
-
-```xml
-
-
- certificate
-
-
-
-
- /etc/pki/tls/certs/squid.crt
-
-
- /etc/pki/tls/private/squid.key
-
-
- /etc/pki/ca-trust/source/anchors/ca_squid.crt
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: squid
- certificate:
- - private: private
- private_type: variable
- authority: authority
- authority_type: variable
- certificate_type: variable
- text: certificate
-variables:
-- variable:
- - name: certificate
- type: filename
- value:
- - text: /etc/pki/tls/certs/squid.crt
- - name: private
- type: filename
- value:
- - text: /etc/pki/tls/private/squid.key
- - name: authority
- type: filename
- value:
- - text: /etc/pki/ca-trust/source/anchors/ca_squid.crt
-```
-
-Attention, les variables doivent être de type "filename".
-
-## Le propriétaire de la clef privée
-
-Le certificat et le certificat de l'autorité de certification n'ont pas besoin d'être privés.
-Par contre, seul le service qui doit avoir accès à la clef privée.
-
-Par défaut seul utilisateur "root" et groupe "root" peuvent y accéder.
-
-Il est possible de définir l'utilisateur ou le groupe de la clef privée générée :
-
-```xml
-
-
- /etc/pki/tls/certs/squid.crt
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: squid
- certificate:
- - private: /etc/pki/tls/private/squid.key
- authority: /etc/pki/ca-trust/source/anchors/ca_squid.crt
- owner: squid
- group: squid
- text: /etc/pki/tls/certs/squid.crt
-```
-
-L'utilisateur et le groupe peuvent être défini dans une variable :
-
-```xml
-
-
- /etc/pki/tls/certs/squid.crt
-
-
-
- squid
-
-
- squid
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: squid
- certificate:
- - private: /etc/pki/tls/private/squid.key
- authority: /etc/pki/ca-trust/source/anchors/ca_squid.crt
- owner: owner
- owner_type: variable
- group: group
- group_type: variable
- text: /etc/pki/tls/certs/squid.crt
-variables:
-- variable:
- - name: owner
- type: unix_user
- value:
- - text: squid
- - name: group
- type: unix_user
- value:
- - text: squid
-```
diff --git a/doc/service/file.md b/doc/service/file.md
deleted file mode 100644
index 5362357fe..000000000
--- a/doc/service/file.md
+++ /dev/null
@@ -1,454 +0,0 @@
-# La gestion d'un fichier
-
-## La balise file
-
-La gestion des fichiers se fait dans un conteneur de [service](README.md).
-
-La déclaration du fichier permet de générer un fichier à partir d'un template pour le déposer à l'endroit prévu dans la déclaration de cette élément.
-
-Il est nécessaire, au minimum, de spécifier le chemin complet du fichier :
-
-```xml
-
-
- /etc/squid/squid.conf
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: squid
- file:
- - text: /etc/squid/squid.conf
-```
-
-## Le nom de template
-
-Par défaut, le nom du template est déduit du nom du fichier.
-
-Par xemple, si le fichier de destination est "/etc/squid/squid.conf", le template aura le nom "squid.conf".
-
-Si le template a un nom différent (par exemple si plusieurs template se retrouve avec le même nom), il est possible de changer le nom du template avec l'attribut source :
-
-```xml
-/etc/squid/squid.conf
-```
-
-En YAML :
-
-```yml
-file:
-- source: template-squid.conf
- text: /etc/squid/squid.conf
-```
-
-## Le nom de template dynamique
-
-La source peut ếgalement être une variable :
-
-```xml
-
-
- /etc/squid/squid.conf
-
-
-
-
- template-squid.conf
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: squid
- file:
- - source: source_var
- source_type: variable
- text: /etc/squid/squid.conf
-variables:
-- variable:
- - name: source_var
- value:
- - text: template-squid.conf
-```
-
-## Les noms de fichiers dynamique
-
-Il est possible également de définir le nom du fichier dans une variable :
-
-```xml
-
-
- my_variable
-
-
-
-
- /etc/squid/squid.conf
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: squid
- file:
- - file_type: variable
- source: squid.conf
- text: my_variable
-variables:
-- variable:
- name: my_variable
- value:
- - text: /etc/squid/squid.conf
-```
-
-Attention, la variable doit être de type "filename".
-
-Dans le cas des fichiers dynamique, la source est obligatoire.
-
-Il est même possible de définir une variable de type multiple, ce qui génèrera plusiers fichiers :
-
-```xml
-
-
- my_variable
-
-
-
-
- /etc/squid1/squid.conf
- /etc/squid2/squid.conf
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: squid
- file:
- - file_type: variable
- source: squid.conf
- text: my_variable
-variables:
-- variable:
- name: my_variable
- multi: true
- value:
- - text: /etc/squid1/squid.conf
- - text: /etc/squid2/squid.conf
-```
-
-Dans ce cas là, le fichier source est identique mais les fichiers de destination seront différent.
-
-Il peut être important de personnaliser le contenu du fichier suivant le fichier de destination.
-Dans ce cas il y a deux possibilités :
-
-- la variable "rougail_filename" contient le nom de fichier de destination
-- l'utilisateur de l'attribut "variable"
-
-En effet, il est possible de passer le contenu d'une variable au template :
-
-```xml
-
-
- my_variable1
-
-
-
-
- /etc/squid1/squid.conf
- /etc/squid2/squid.conf
-
-
- squid1
- squid2
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: squid
- file:
- - file_type: variable
- source: squid.conf
- variable: my_variable2
- text: my_variable1
-variables:
-- variable:
- name: my_variable1
- multi: true
- value:
- - text: /etc/squid1/squid.conf
- - text: /etc/squid2/squid.conf
-- variable:
- name: my_variable2
- multi: true
- value:
- - text: squid1
- - text: squid2
-```
-
-Dans ce cas, lors de la génération du fichier /etc/squid1/squid.conf on retrouvera la variable "rougail_variable" avec la valeur "squid1" et la variable "rougail_index" avec la valeur "0". Lors de la génération du fichier /etc/squid2/squid.conf on retrouvera la variable "rougail_variable" avec la valeur "squid2" et la variable "rougail_index" avec la valeur "1".
-
-Attention : les deux variables "my_variable1" et "my_variable2" doivent être multiple et de même longueur.
-
-## Les droits des fichiers
-
-Par défaut les droits du fichier généré sont "0644" avec comme utilisateur "root" et groupe "root".
-
-Il est possible de définir les droits, l'utilisateur ou le groupe d'un fichier généré :
-
-```xml
-/etc/squid/squid.conf
-```
-
-En YAML :
-
-```yml
-file:
-- mode: '0640'
- owner: nobody
- group: squid
- text: /etc/squid/squid.conf
-```
-
-Il est possible de personnaliser les droits par défaut dans la [configuration de rougail](../dev/config.md)
-
-## Désactiver la génération d'un fichier
-
-Il est possible de désactiver la génération d'un fichier avec l'attribut "disabled" :
-
-```xml
-/etc/squid/squid.conf
-```
-
-En YAML :
-
-```yml
-file:
-- disabled: true
- text: /etc/squid/squid.conf
-```
-
-Il est aussi possible de définir une [condition](../condition/README.md) de type "disabled_if_in" ou "disabled_if_not_in" sur une balise fichier :
-
-```xml
-
-
- /etc/squid/squid.conf
-
-
-
-
-
-
-
- False
- squid
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: text
- file:
- - filelist: squid
- text: /etc/squid/squid.conf
-variables:
-- variable:
- name: condition
- type: boolean
-constraints:
-- condition:
- - name: disabled_if_in
- source: condition
- param:
- - text: false
- target:
- - type: filelist
- text: squid
-```
-
-Dans ce cas, tous les fichiers avec un attribut filelist à "squid" seront désactivés si la variable "condition" est False.
-
-## Redéfinir une fichier
-
-Il est possible de redéfinir les éléments d'un fichier dans un dictionnaire différent en utilisant l'attribut redefine :
-
-```xml
-/etc/squid/squid.conf
-```
-
-En YAML :
-
-```yml
-file:
-- source: template-squid.conf
- redefine: true
- text: /etc/squid/squid.conf
-```
-
-## Choix du moteur de templating
-
-Par défaut, le moteur de templating est le moteur de templating compatible avec "cheetah".
-
-Il est possible de désactiver la templatisation du fichier (il sera alors uniquement copié) :
-
-```xml
-/etc/squid/squid.conf
-```
-
-En YAML :
-
-```yml
-file:
-- engine: 'none'
- text: /etc/squid/squid.conf
-```
-
-Ou d'utiliser le moteur "jinja" :
-
-```xml
-/etc/squid/squid.conf
-```
-
-En YAML :
-
-```yml
-file:
-- engine: jinja
- text: /etc/squid/squid.conf
-```
-
-Il est possible de personnaliser le moteur par défaut dans la [configuration de rougail](../dev/config.md)
-
-## Inclusion de template
-
-Un attribut "included" permet de définir la nature du fichier. Cet attribut peut avoir trois valeurs :
-
-- "no" : c'est un fichier normal
-- "name" : le répertoire de destination est listé dans un autre template, il faut que le fichier soit généré avant cet autre template
-- "content" : le contenu du fichier est copié dans un autre template, il faut que le fichier soit généré avant cet autre template et ce fichier n'a pas besoin d'être installé sur le serveur cible.
-
-Bien entendu, c'est au développeur de lister ou d'inclure le contenu de ce template dans le fichier de destination. Cet attribut permet juste de garantir que le fichier sera fait avant l'autre et de ne pas l'installer sur le serveur si ce n'est pas nécessaire.
-
-Il est possible de personnaliser les methodes d'inclusion par défaut dans la [configuration de rougail](../dev/config.md)
-
-Exemples :
-
-- créons un template qui inclut des noms de fichiers :
-
-Le contenu de ce template (squid.conf) est :
-
-```
-%import os
-%set %%confdir = 'etc/squid/squid.d/'
-%if %%os.path.exists(%%confdir)
- %set %%files = %%os.listdir(%%confdir)
- %%files.sort()
- %for %%file in %%files
- %if %%file.endswith('.cfg')
-include '/' + %%confdir + file
- %end if
- %end for
-%end if
-```
-
-Ajoutons un second template (squid.included.conf) qui sera copié dans ce répertoire :
-
-```
-template content
-```
-
-Et déclaront ces deux templates :
-
-```xml
-/etc/squid/squid.conf
-/etc/squid/squid.d/squid.conf
-```
-
-En YAML :
-
-```yml
-file:
-- text: /etc/squid/squid.conf
-- included: name
- engine: 'none'
- text: /etc/squid/squid.d/squid.conf
-```
-
-Le contenu du fichier généré (/etc/squid/squid.conf) sera donc :
-
-```
-include squid.d/squid.conf
-```
-
-- créons un template qui inclut le contenu de fichiers :
-
-Le contenu de ce template (squid.conf) est :
-
-```
-%import os
-%set %%confdir = 'squid.d/'
-%if %%os.path.exists(%%confdir)
- %set %%files = %%os.listdir(%%confdir)
- %%files.sort()
- %for %%file in %%files
- %if %%file.endswith('.cfg')
-%include raw %%confdir + file
- %end if
- %end for
-%end if
-```
-
-Ajoutons un second template (squid.included.conf) qui sera copié dans ce répertoire :
-
-```
-template content
-```
-
-Et déclaront ces deux templates :
-
-```xml
-/etc/squid/squid.conf
-squid.d/squid.conf
-```
-
-En YAML :
-
-```yml
-file:
-- text: /etc/squid/squid.conf
-- included: content
- engine: 'none'
- text: squid.d/squid.conf
-```
-
-Le contenu du fichier généré (/etc/squid/squid.conf) sera donc maintenant :
-
-```
-template content
-```
diff --git a/doc/service/ip.md b/doc/service/ip.md
deleted file mode 100644
index 8209f2dbd..000000000
--- a/doc/service/ip.md
+++ /dev/null
@@ -1,91 +0,0 @@
-# La gestion d'une IP
-
-## La balise IP
-
-La gestion des IP se fait dans un conteneur de [service](README.md).
-
-La déclaration de l'attribut permet d'associer une IP autorisé à accéder au service.
-
-Il est nécessaire, au minimum, de spécifier le nom d'une variable de type "IP" :
-
-```xml
-variable_ip
-```
-
-En YAML :
-
-```yml
-ip:
-- ip_type: variable_ip
- text: variable_ip
-```
-
-## La gestion d'un réseau
-
-L'adresse peut être de type réseau ("network") :
-
-```xml
-variable_ip
-```
-
-En YAML :
-
-```yml
-ip:
-- netmask: variable_netmask
- text: variable_ip
-```
-
-Attention, dans ce cas il faut préciser une variable de type "netmask" dans l'attribut netmask.
-
-## Désactiver la génération d'une IP
-
-Il est possible de définir une [condition](../condition/README.md) de type "disabled_if_in" ou "disabled_if_not_in" sur une balise IP :
-
-```xml
-
-
- variable_ip
-
-
-
-
-
-
-
-
- False
- test_ip
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: test
- ip:
- - iplist: test_ip
- text: variable_ip
-variables:
-- variable:
- name: condition
- type: boolean
-- variable:
- name: variable_ip
- type: ip
-constraints:
-- condition:
- - name: disabled_if_in
- source: condition
- param:
- - text: false
- target:
- - type: iplist
- text: test_ip
-
-```
-
-Dans ce cas, tous les IP avec un attribut iplist à "test_ip" seront désactivé si la variable "condition" est False.
diff --git a/doc/service/override.md b/doc/service/override.md
deleted file mode 100644
index cfe11e2b5..000000000
--- a/doc/service/override.md
+++ /dev/null
@@ -1,75 +0,0 @@
-# Réécriture du service
-
-## La balise override
-
-La gestion des overrides se fait dans un conteneur de [service](README.md).
-
-La balise override permet de redéfinir facilement un service systemd.
-
-Il suffit d'avoir un template dont le nom est par défaut le nom du service avec l'extension "service" et de déclarer la balise :
-
-```xml
-
-
-
-
-
-```
-
-En YAML :
-
-```yml
-services:
-- service:
- - name: squid
- override: null
-```
-
-Dans cette exemple, le template associé doit s'appeler squid.service
-
-Si le fichier service a un nom différent (par exemple si plusieurs template se retrouve avec le même nom), il est possible de changer le nom du template avec l'attribut source :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-override:
-- source: test.service
-```
-
-Dans ce cas le fichier de destination aura le même nom.
-
-## Choix du moteur de templating
-
-Par défaut, le moteur de templating est le moteur de templating compatible avec "cheetah".
-
-Il est possible de désactiver la templatisation du fichier (il sera alors uniquement copié) :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-override:
-- engine: 'none'
-```
-
-Ou d'utiliser le moteur "jinja" :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-override:
-- engine: 'jinja'
-```
-
-Il est possible de personnaliser le moteur par défaut dans la [configuration de rougail](../dev/config.md)
diff --git a/doc/services.md b/doc/services.md
deleted file mode 100644
index e6e11b9a1..000000000
--- a/doc/services.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Le conteneur des services
-
-La balise "services" est le conteneur de l'ensemble des [services](service/README.md).
-
-Il est placé à la racine du dictionnaire :
-
-```xml
-
-
-
-
-```
-
-En YAML :
-
-```yml
-version: '0.10'
-services: none
-```
-
-Attention, cette balise ne peut pas être placé dans un dictionnaire "extra".
diff --git a/doc/template/README.md b/doc/template/README.md
deleted file mode 100644
index db35bc876..000000000
--- a/doc/template/README.md
+++ /dev/null
@@ -1,103 +0,0 @@
-# Les templates
-
-## Le moteur "cheetah"
-
-Le moteur de templating par défaut est le moteur [Cheetah](https://cheetahtemplate.org/).
-
-Par contre, la configuration par défaut de Cheetah a été modifié.
-
-Dans un template de configuration, il est très fréquent que le caractère "#" est le caractère des commentaires.
-C'est pourquoi la configuration par défaut a été modifié.
-
-Les choix sont maintenant les suivants :
-
-- le caractère des directives : "%" ;
-- les variables : "%%" ;
-- le caractère des commentaires : "#".
-
-Voici quelques exemples d'utilisateurs de ce moteur :
-
-### utiliser une variable
-
-```
-%%variable_name
-```
-
-### condition
-
-```
-%if %%variable_name == 'oui'
-text
-%end if
-```
-
-### vérifier si une variable existe
-
-```
-%if %%varExists('variable_name')
-text
-%end if
-```
-
-### boucle
-
-```
-%for %%var in %%variable_name
-%%var
-%end for
-```
-
-### boucle avec variables meneuse et suiveuse
-
-```
-%for %%var in %%variable_leader
-%%var.variable_follower
-%end for
-```
-
-Pour plus d'informations, voir la documentation de Cheetah.
-
-## Le moteur "jinja"
-
-Il est possible d'utiliser le moteur de templating [Jinja](https://jinja.palletsprojects.com/).
-
-Il n'y a pas d'adaptation particulière pour ce moteur.
-
-Voici quelques exemples d'utilisateurs de ce moteur :
-
-### utiliser une variable
-
-```
-{{ variable_name }}
-```
-
-### condition
-
-```
-{% if variable_name == 'oui' %}
-text
-{% endif -%}
-```
-
-### boucle
-
-```
-{% for var in variable_name %}
-{{ var }}
-{% endfor -%}
-```
-
-### boucle avec variables meneuse et suiveuse
-
-```
-{% for var in variable_leader %}
-{{ var.variable_follower }}
-{% endfor -%}
-```
-
-Pour plus d'informations, voir la documentation de Jinja.
-
-## Le moteur "none"
-
-Ce moteur permet de copie le fichier sans y apporter la moindre modification.
-C'est utile pour les templates ne contenant aucune variable ni condition.
diff --git a/doc/template/patch.md b/doc/template/patch.md
deleted file mode 100644
index f14a323a0..000000000
--- a/doc/template/patch.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Patcher un template
-
-Il peut être intéressant de réaliser un patch à un template pour corriger un problème spécifique à notre environnement, sans attendre que le mainteneur du template n'est fait la correction.
-
-Par exemple le template :
-
-```
-The value: %%my_value
-
-The extra value: %%example.my_variable_extra
-```
-
-Peut être modifié via le patch :
-
-```patch
---- tmpl/example.conf 2021-02-13 19:41:38.677491087 +0100
-+++ tmp/example.conf 2021-02-13 20:12:55.525089820 +0100
-@@ -1,3 +1,5 @@
- The value: %%my_variable
-
- The extra value: %%example.my_variable_extra
-+
-+Add by a patch
-```
-
-Le fichier généré ressemblera alors à cela :
-
-```
-The value: my_value
-
-The extra value: my_value_extra
-
-Add by a patch
-```
-
-Deux choses importantes à savoir sur les patchs :
-
-- le nom du patch est obligatoire le nom du template source + ".patch"
-- la deuxième ligne doit toujours commencer par "+++ tmp/" (tmp étant le nom du répertoire mis dans la configuration) + le nom du template source
diff --git a/doc/variable/README.md b/doc/variable/README.md
index 4373b5ed4..0704f10c9 100644
--- a/doc/variable/README.md
+++ b/doc/variable/README.md
@@ -1,480 +1,5 @@
# Variable
-## Un variable
+ - [Une variable](simple.md)
+ - [Une variable de type choix](choice.md)
-Une variable est forcement dans [variables](../variables.md) ou dans une [famille](../family/README.md).
-
-Une variable est déjà un nom. C'est à dire qu'on pourra utiliser plus tard la variable via ce nom.
-
-```xml
-
-
-
-
-
-
-```
-
-En YAML :
-
-```yml
-variables:
-- variable:
- name: my_variable
-- family:
- name: my_family
- variables:
- - variable:
- name: my_family_variable
-```
-
-## Description et aide sur la variable
-
-En plus d'un nom, il est possible de mettre une "description" à la variable. C'est une information "utilisateur" qui nous permettra d'avoir des informations complémentaires sur le contenu de cette variable :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-variables:
-- variable:
- name: my_variable
- description: This is a good variable
-```
-
-En plus de la description, il est possible de préciser une aide complémentaire :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-variables:
-- variable:
- name: my_variable
- help: This is a good variable
-```
-
-Cette aide peut être utilisé à tout moment comme valeur [d'un paramètre](../param/information.md).
-
-## Le type de la variable
-
-Une variable a un type. Ce type permet de définir les valeurs acceptées par cette variable :
-
-- string : chaine de caractère (type par défaut)
-- number : un nombre
-- float : un chiffre flottant
-- boolean : "True" ou "False", si aucune valeur n'est défini la valeur par défaut de cette variable sera "True", ces variables sont également obligatoire par défaut
-- secret (ou password mais est obsolète) : un secret (comme un mot de passe, une clef privée, ...)
-- mail : une adresse mail
-- filename : nom de fichier au sens Unix (exemple : "/etc/passwd")
-- date : une date au format "%Y-%m-%d" (exemple : "2021-01-30")
-- unix_user : nom d'utilisateur au sens Unix
-- ip : n'importe quelle adresse IPv4
-- cidr : n'importe quelle adresse IPv4 au format CIDR
-- local_ip : adresse IPv4 sur un réseau local, si l'adresse IPv4 n'est pas local, un warning sera afficher mais la valeur sera accepté tout de même
-- netmask : masque d'une adresse IPv4
-- network : adresse réseau
-- network_cidr : adresse réseau au format CIDR
-- broadcast : adresse de diffusion
-- netbios : nom netbios
-- domain : nom de domaine
-- hostname : nom d'hôte
-- web_address : adresse web (http://www.silique.fr/)
-- port : port
-- mac : adresse MAC
-- schedule : périodicité du schedule, les valeurs possibles sont "none", "daily", "weekly" ou "monthly"
-- schedulemod : type de schedule, les valeurs possibles sont "pre" ou "post"
-
-Pour définir le type d'une variable :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- type: number
-```
-
-## Variable à valeur multiple
-
-Par défaut une variable ne peut acceuillir qu'une seule valeur. Il peut être utile de pouvoir spécifier plusieurs valeurs à une même variable.
-
-Pour définir une variable à valeur multiple :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- multi: true
-```
-
-Par défaut, les variables multiples ne peuvent pas avoir deux fois la même valeur.
-
-Si vous voulez pouvoir mettre plusieurs fois la même valeur, il faut utiliser l'attribut "unique" :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- multi: true
- unique: false
-```
-
-## Variable invisible
-
-Il est possible de cacher une variable.
-
-Cacher une variable signifie qu'elle ne sera pas visible lorsqu'on modifie la configuration du service.
-Par contre cette variable sera accessibles lorsqu'on va l'utiliser.
-
-Pour cacher une variable :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- hidden: true
-```
-
-## Variable désactive
-
-Il est possible de désactiver une variable.
-
-Désactiver une variable signifie qu'elle ne sera pas visible lorsqu'on modifie la configuration du service mais également lorsqu'on va l'utiliser.
-
-Pour désactiver une variable :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- disabled: true
-```
-
-## Variable obligatoire
-
-Variable dont une valeur est requise :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- mandatory: true
-```
-
-Les variables booléans sont par défaut obligatoire. Pour qu'une variable booléan ne soit pas obligatoire il faut le préciser explicitement :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- type: boolean
- mandatory: false
-```
-
-Les variables avec une valeur par défaut (non calculée) sont également automatiquement obligatoire.
-
-## Valeur par défaut d'une variable
-
-Il est possible de fixer les valeurs par défaut d'une variable :
-
-```xml
-
- value
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- value:
- - text: value
-```
-
-Pour une variable multiple, il est possible de préciser plusieurs valeurs :
-
-```xml
-
- value 1
- value 2
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- multi: true
- value:
- - text: value 1
- - text: value 2
-```
-
-Si la variable n'est pas pas une [variable meneuse](../family/leadership.md), la première valeur défini dans cette liste sera également la valeur par défaut proposé si on ajoute une nouvelle valeur à cette variable.
-
-Une valeur par défaut peut également être [une valeur calculer](../fill/README.md).
-
-## Redéfinir une variable
-
-Il est possible de définir une variable dans un dictionnaire et de changer son comportement dans une second dictionnaire.
-
-Attention trois attributs ne sont redéfinisable :
-
-- name
-- type
-- multi
-
-Créons notre variable :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
-```
-
-Et redéfinisons là :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- redefine: true
- description: New description
-```
-
-## Créer une variable inexistante
-
-Il est parfois utile de créer une variable si elle n'existe pas dans un autre dictionnaire :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- exists: false
-```
-
-Si cette variable existe dans un autre dictionnaire, elle ne sera pas modifié ni recréé
-
-## Redéfinir une variable si elle existe
-
-Parfois on veut pouvoir redéfinir une variable mais seulement dans le cas où elle existe déjà :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- exists: true
- hidden: true
-```
-
-## Variable à valeur automatiquement modifiée
-
-Une variable avec valeur automatiquement modifiée est une variable dont la valeur sera considéré comme modifié quand la propriété global "force_store_value" de Tiramisu est mise.
-
-Voici une variable a valeur automatiquement modifiée :
-
-```xml
-
- my_value
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- auto_save: true
- value:
- - text: my_value
-```
-
-Dans ce cas la valeur est fixée à la valeur actuelle.
-Par exemple, si la valeur de cette variable est issue d'un calcul, la valeur ne sera plus recalculée.
-
-Ces variables sont généralement des variables obligatoires. En effet ces variable ne sont automatiquement modifiées que si elles ont une valeurs.
-
-Une [variable meneuse ou suiveuse](../family/leadership.md) ne peut pas avoir la propriété auto_save.
-
-## Variable à valeur en lecture seule automatique
-
-Une variable avec valeur en lecture seule automatique est une variable dont la valeur ne sera plus modifiable par l'utilisateur quand la [variable "server_deployed" passe à "True"](../dev/config.md).
-
-Voici un variable à valeur en lecture seule automatique :
-
-```xml
-
- False
-
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: server_deployed
- type: boolean
- value:
- - text: 'False
-- variable:
- name: my_variable
- auto_freeze: true
-```
-
-Dans ce cas la valeur est fixée à la valeur actuelle et elle ne sera plus modifiable par l'utilisateur.
-Par exemple, si la valeur de cette variable est issue d'un calcul, la valeur ne sera plus recalculée.
-
-Ces variables sont généralement des variables obligatoires. En effet ces variable ne sont en lecteur seul que si elles ont une valeurs.
-
-Une [variable meneuse ou suiveuse](../family/leadership.md) ne peut pas avoir la propriété auto_freeze.
-
-## Information "test"
-
-L'attribut "test" est un attribut spécial qui permet aux concepteurs d'un dictionnaire d'influancer le robot de test en précisant de valeurs utile à tester.
-
-Concrêtement, le contenu de cet attribut est enregister dans une "information" de l'option Tiramisu correspondante.
-
-Exemple :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- test: yes
-```
-
-Il est possible de préciser plusieurs valeurs avec le séparateur "|" :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- test: yes|no
-```
-
-Cette valeur peut être utilisé à tout moment comme valeur [d'un paramètre](../param/information.md).
-
-## Mode de la variable
-
-Le [mode](../mode.md) par défaut d'une variable correspond au [mode](../mode.md) de la [famille](../family/README.md).
-
-Cas particuliers :
-
-- une variable à valeur automatiquement modifiée ou une variable en lecture seule automatique est par défaut en mode "basic".
-- si la variable n'est pas dans une famille, la variable aura le mode "normal" par défaut.
-- une variable obligatoire sans valeur par défaut (calculer ou non) aura le mode "basic".
-
-Pour définir le [mode](../mode.md) :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- mode: expert
-```
-
-## Les variables qui fournissent des valeurs
-
-Il peut être intéressant de retrouver facilement des variables sans connaitre le chemin complet mais en utilisant le contenu du paramètre "provider".
-C'est particulièrement utile si un service peut être fournit par plusieurs services. Les variables n'auront donc pas le même nom. Utiliser ce paramètre, permet donc de retrouver facilement la variable.
-
-Pour déclarer :
-
-```xml
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- provider: my_variable
-```
-
-Dans le code de l'application, on pourra retrouver le chemin de la variable en faisant :
-
-```python
-print(await config.information.get('provider:my_function'))
-```
-
-Pour les variables inclusent dans une famille dynamique, le chemin de la variable sera un template comme ceci "rougail.family_{suffix}.my_variable_{suffix}". Il vous suffit de remplacer "{suffix}" par le suffix voulu de la famille dynamique.
diff --git a/doc/variable/choice.md b/doc/variable/choice.md
deleted file mode 100644
index 534b5effa..000000000
--- a/doc/variable/choice.md
+++ /dev/null
@@ -1,186 +0,0 @@
-# Les variables à choix
-
-## Une variable à choix
-
-Il est possible d'imposer une liste de valeur pour une variable particulière :
-
-```xml
-
- val1
- val2
- val3
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- type: choice
- choice:
- - text: val1
- - text: val2
- - text: val3
-```
-
-Dans ce cas, seules les valeurs proposées sont possibles pour cette variable.
-Cette variable n'est pas obligatoire dont il est possible de mettre la valeur "None".
-
-Si la variable est obligatoire ou si une valeur est précisée (la variable passe obligatoire) alors la valeur "None" n'est plus autorisé :
-
-```xml
-
- val1
- val2
- val3
- val1
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- type: choice
- choice:
- - text: val1
- - text: val2
- - text: val3
- value:
- - text: val1
-```
-
-## Un variable à choix typée
-
-Par défaut les choix sont de type "string". Il est possible de préciser des nombres, des booléens ou la valeur None :
-
-```xml
-
- val1
- val2
- 3
- True
-
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- type: choice
- choice:
- - text: val1
- - type: string
- text: val2
- - type: number
- text: 3
- - type: boolean
- text: true
- - type: 'nil'
-```
-
-Comme vu précédement ajouter la valeur None n'est pas utile parce qu'elle est automatiquement ajouté si la variable n'est pas obligatoire.
-
-## Ajouter une option à une variable à choix existante
-
-Pour ajouter un choix à une variable à choix existante, rien de plus simple, juste redéfinir la variable en ajoutant le choix voulu :
-
-```xml
-
- val4
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- redefine: true
- choice:
- - text: val4
-```
-
-## Redéfinir une option à choix
-
-Si on veut supprimer un choix ou redéfinir complètement la liste, il faut redéfinir cette variable et ajouter l'attribut "remove_choice" à "True" :
-
-```xml
-
- val1
- val2
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- redefine: true
- remove_choice: true
- choice:
- - text: val1
- - text: val2
-```
-
-Dans ce cas toutes les anciens choix ne seront plus possible. Seuls les nouveaux le seront.
-
-## Un variable à choix provenant d'une variable
-
-Une variable à valeur multiple peut servir de source des choix :
-
-```xml
-
- other_variable
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- type: choice
- choice:
- - type: variable
- text: other_variable
-```
-
-Dans ce cas, toutes les valeurs de la variable seront des choix utilisables par l'utilisateur.
-Seul un choice de type "variable" est possible par variable.
-
-## Un variable à choix provenant d'une fonction
-
-```xml
-
-
- 0
- 10
-
- 9
-
-```
-
-En YAML :
-
-```yml
-- variable:
- name: my_variable
- type: choice
- choice:
- - type: function
- name: range
- param:
- - type: number
- text: 0
- - type: number
- text: 10
- value:
- - type: number
- text: 9
-```
diff --git a/doc/variable/firefox.png b/doc/variable/firefox.png
new file mode 100644
index 000000000..050f837f4
Binary files /dev/null and b/doc/variable/firefox.png differ
diff --git a/doc/variable/getting_starting.md b/doc/variable/getting_starting.md
new file mode 100644
index 000000000..f54ff1f87
--- /dev/null
+++ b/doc/variable/getting_starting.md
@@ -0,0 +1,525 @@
+---
+gitea: none
+include_toc: true
+---
+
+# Construire une liste d'options
+
+Rougail permet de construite des options [Tiramisu](https://forge.cloud.silique.fr/gnunux/tiramisu) a partir de dictionnaire écrit en YAML.
+Le principal avantage étant que l'écrire de option est beaucoup plus simple.
+
+Une fois chargé, on retrouve toute la puissance de Tiramisu dans la gestion de la configuration.
+
+Avant de commencer, il faut connaitre les spécificités du format de fichier YAML, des notions de Jinja et de Tiramisu.
+
+# La configuration du proxy type Mozilla Firefox
+
+L'objectif de ce première exemple est de reproduire cette page de paramètres de Mozilla Firefox :
+
+
+
+Les variables vont être créées dans plusieurs fichiers dans un but didactique. Bien évidement toutes les variables pourront être mise dans le même fichier.
+
+## La famille proxy
+
+Nous allons classer toutes ces variables dans une famille.
+Cette famille s'appelera proxy. Créons le premier fichier dict/00-proxy.yml
+
+```yml
+---
+version: '1.0'
+proxy:
+ description: Configure Proxy Access to the Internet
+ type: family
+```
+
+Le type de la famille est ici précisé parce qu'on n'a pas de variable ou de famille à l'intérieur de cette famille. Le moteur pensera alors que c'est une simple variable.
+
+## Le type de proxy
+
+Il est possible de définir plusieurs modes de configuration du proxy (de "pas de proxy" à "la configuration d'un fichier de configuration automatique").
+
+Nous allons donc créer une première variable dans cette famille dont la description est "Proxy mode". Créons le deuxième fichier dict/01-proxy\_mode.yml
+
+```yml
+---
+version: '1.0'
+proxy:
+ proxy_mode:
+ description: Proxy mode
+ type: choice
+ choices:
+ - No proxy
+ - Auto-detect proxy settings for this network
+ - Use system proxy settings
+ - Manual proxy configuration
+ - Automatic proxy configuration URL
+ default: No proxy
+ mandatory: true
+```
+
+Cette variable nécessite une valeur (la valeur `None` n'est pas acceptable), elle est donc obligatoire (`mandatory`).
+
+Si l'utilisateur ne précise pas de valeurs, la valeur de cette variable sera "No proxy" (`default`).
+
+La variable est à choix (`type`: choice) donc la liste des valeurs disponible est contrainte (`choices`), seul les valeurs suivantes sont autorisés :
+
+- No proxy
+- Auto-detect proxy settings for this network
+- Use system proxy settings
+- Manual proxy configuration
+- Automatic proxy configuration URL
+
+Testons nos deux premiers dictionnaires :
+
+```python
+>>> from rougail import Rougail, RougailConfig
+>>> from pprint import pprint
+>>> RougailConfig['dictionaries_dir'] = ['dict']
+>>> rougail = Rougail()
+>>> config = rougail.get_config()
+>>> config.property.read_only()
+>>> pprint(config.value.dict(), sort_dicts=False)
+{'rougail.proxy.proxy_mode': 'No proxy'}
+```
+
+## Le mode manuel
+
+Si l'utilisateur choisi le mode de proxy "Manual proxy configuration", on veut voir apparaitre (`disabled`) une nouvelle sous-famille appelé manual. Créons le fichier dict/02-proxy\_manual.yml :
+
+```yml
+---
+version: '1.0'
+proxy:
+ manual:
+ description: Manual proxy configuration
+ type: family
+ disabled:
+ type: jinja
+ jinja: |
+ {% if rougail.proxy.proxy_mode == 'Manual proxy configuration' %}
+ false
+ {% else %}
+ true
+ {% endif %}
+```
+
+### La configuration du proxy HTTP
+
+Dans cette famille ajoutons une sous-famille `http_proxy` contenant les variables `address` et `port`. Créons le fichier dict/03-proxy\_manual\_http\_proxy.yml :
+
+```yml
+---
+version: '1.0'
+proxy:
+ manual:
+ http_proxy:
+ description: HTTP Proxy
+ address:
+ description: HTTP address
+ type: domainname
+ mandatory: true
+ port:
+ description: HTTP Port
+ type: port
+ default: '8080'
+```
+
+Les deux variables ont des types particuliers (`domainname` ou `port`) pour valider les valeurs configurer par l'utilisateur.
+
+Pas la peine de précisé le type de `http_proxy` parce qu'on a déclaré les sous-variables dans ce fichier.
+
+### Dupliquer la configuration HTTP vers HTTPS
+
+On veux proposer à l'utilisateur la possiblité de renseigner le même proxy pour les requêtes HTTPS. Créons le fichier dict/04-proxy\_manual\_http\_use\_for\_https.yml :
+
+```yml
+version: '1.0'
+proxy:
+ manual:
+ use_for_https:
+ description: Also use this proxy for HTTPS
+ type: boolean
+```
+
+Cette variable est de type `boolean`. Sa valeur par défaut est `True`.
+
+### La configuration du proxy HTTPS
+
+Ajoutons une nouvelle sous-famille `ssl_proxy` avec les variables `address` et `port`. Créons le fichier dict/05-proxy\_manual\_ssl\_proxy.yml :
+
+```yml
+version: '1.0'
+proxy:
+ manual:
+ ssl_proxy:
+ description: HTTPS Proxy
+ hidden:
+ type: variable
+ variable: rougail.proxy.manual.use_for_https
+ address:
+ description: HTTPS address
+ type: domainname
+ default:
+ type: jinja
+ jinja: |
+ {% if rougail.proxy.manual.use_for_https %}
+ {{ rougail.proxy.manual.http_proxy.address }}
+ {% endif %}
+ mandatory: true
+ port:
+ description: HTTPS Port
+ type: port
+ default:
+ type: jinja
+ jinja: |
+ {% if rougail.proxy.manual.use_for_https %}
+ {{ rougail.proxy.manual.http_proxy.port }}
+ {% endif %}
+ mandatory: true
+```
+
+On vient de recréer un variable avec le nom "address". Ce n'est pas un problème, puisqu'elle est dans une autre famille.
+
+Suivant la valeur de la variable `rougail.proxy.mandatory.use_for_https` (sans passé par une fonction Jinja ce coup-ci) cette famille apparaitra ou disparaitra (`hidden`). Contrairement à tout à l'heure, la famille n'est pas désactivé (`disabled`) parce que les variables devront rester accessible en mode lecture seule.
+
+Testons ce point précis :
+
+```python
+>>> from rougail import Rougail, RougailConfig
+>>> from pprint import pprint
+>>> RougailConfig['dictionaries_dir'] = ['dict']
+>>> rougail = Rougail()
+>>> config = rougail.get_config()
+>>> config.property.read_only()
+>>> pprint(config.value.dict(), sort_dicts=False)
+{'rougail.proxy.proxy_mode': 'No proxy'}
+>>> config.property.read_write()
+>>> config.option('rougail.proxy.proxy_mode').value.set('Manual proxy configuration')
+>>> config.option('rougail.proxy.manual.http_proxy.address').value.set('proxy.example')
+>>> pprint(config.value.dict(), sort_dicts=False)
+{'rougail.proxy.proxy_mode': 'Manual proxy configuration',
+ 'rougail.proxy.manual.http_proxy.address': 'proxy.example',
+ 'rougail.proxy.manual.http_proxy.port': '8080',
+ 'rougail.proxy.manual.use_for_https': True}
+>>> config.property.read_only()
+>>> pprint(config.value.dict(), sort_dicts=False)
+{'rougail.proxy.proxy_mode': 'Manual proxy configuration',
+ 'rougail.proxy.manual.http_proxy.address': 'proxy.example',
+ 'rougail.proxy.manual.http_proxy.port': '8080',
+ 'rougail.proxy.manual.use_for_https': True,
+ 'rougail.proxy.manual.ssl_proxy.address': 'proxy.example',
+ 'rougail.proxy.manual.ssl_proxy.port': '8080'}
+```
+
+Alors que la famille `rougail.proxy.manual` n'était pas présente lors que `rougail.proxy.proxy_mode` est à `No proxy`, la famille `rougail.proxy.manual.ssl_proxy` devient visible en mode lecture seule (et uniquement en mode lecture seule) si `rougail.proxy.manual.use_for_https` est à 'True'.
+
+On voit bien également que les valeurs des variables de `rougail.proxy.manual.http_proxy` on bien été copié dans `rougail.proxy.manual.ssl_proxy`. Ces valeurs ne seront copié que si `use_for_https` est à "True" comme précisé dans les valeurs par défaut des variables.
+
+De plus, si l'utilisateur modifie la valeur de la variable `rougail.proxy.manual.ssl_proxy.address` mais qu'il cache par la suite cette variable, la valeur de cette variable reviens à la valeur par défaut :
+
+```python
+>>> config.property.read_write()
+>>> config.option('rougail.proxy.manual.use_for_https').value.set(False)
+>>> config.option('rougail.proxy.manual.ssl_proxy.address').value.set('other.proxy.example')
+>>> pprint(config.value.dict(), sort_dicts=False)
+{'rougail.proxy.proxy_mode': 'Manual proxy configuration',
+ 'rougail.proxy.manual.http_proxy.address': 'proxy.example',
+ 'rougail.proxy.manual.http_proxy.port': '8080',
+ 'rougail.proxy.manual.use_for_https': False,
+ 'rougail.proxy.manual.ssl_proxy.address': 'other.proxy.example',
+ 'rougail.proxy.manual.ssl_proxy.port': '8080'}
+>>> config.option('rougail.proxy.manual.use_for_https').value.set(False)
+>>> config.property.read_only()
+>>> pprint(config.value.dict(), sort_dicts=False)
+{'rougail.proxy.proxy_mode': 'Manual proxy configuration',
+ 'rougail.proxy.manual.http_proxy.address': 'proxy.example',
+ 'rougail.proxy.manual.http_proxy.port': '8080',
+ 'rougail.proxy.manual.use_for_https': False,
+ 'rougail.proxy.manual.ssl_proxy.address': 'proxy.example',
+ 'rougail.proxy.manual.ssl_proxy.port': '8080'}
+```
+
+### La configuration du proxy SOCKS
+
+Ajoutons une nouvelle sous-famille `socks_proxy` avec les variables `address`, `port` et `version`. Créons le fichier dict/06-proxy\_manual\_socks\_proxy.yml :
+
+```yml
+version: '1.0'
+proxy:
+ manual:
+ socks_proxy:
+ description: SOCKS Proxy
+ address:
+ description: SOCKS Address
+ type: domainname
+ port:
+ description: SOCKS Port
+ type: port
+ version:
+ description: SOCKS host version used by proxy
+ type: choice
+ choices:
+ - v4
+ - v5
+ default: v5
+```
+
+## Le mode détection automatique
+
+Ajoutons une nouvelle sous-variable `auto`. Créons le fichier dict/07-proxy\_auto.yml :
+
+```yml
+version: '1.0'
+proxy:
+ auto:
+ type: web_address
+ description: Automatic proxy configuration URL
+ mandatory: true
+ disabled:
+ type: jinja
+ jinja: |
+ {% if rougail.proxy.proxy_mode == 'Automatic proxy configuration URL' %}
+ false
+ {% else %}
+ true
+ {% endif %}
+```
+
+Le type `web_address` impose une valeur qui commence par http:// ou https://.
+
+## Les exceptions au proxy
+
+Enfin ajoutons une variable contenant les exceptions au proxy. Pour cela créons le fichier dict/07-proxy\_no\_proxy.yml :
+
+```yml
+version: '1.0'
+proxy:
+ no_proxy:
+ description: Address for which proxy will be desactivated
+ multi: true
+ disabled:
+ type: jinja
+ jinja: |
+ {% if rougail.proxy.proxy_mode == 'No proxy' %}
+ true
+ {% else %}
+ false
+ {% endif %}
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.no_proxy | valid_no_proxy }}'
+```
+
+Il peut y avoir plusieurs exceptions au proxy au proxy, la variable est donc `multi`.
+Cette varible n'est pas accessible uniquement si aucun proxy n'est défini.
+
+Enfin, on veut valider le contenu de la variable. Il n'y a pas de type correspond dans Rougail, donc on fait la fonction de validation suivante dans le fichier `functions.py` :
+
+```python
+from tiramisu import DomainnameOption
+
+
+def valid_no_proxy(value: str):
+ try:
+ DomainnameOption('',
+ '',
+ value,
+ allow_ip=True,
+ allow_cidr_network=True,
+ allow_without_dot=True,
+ allow_startswith_dot=True,
+ )
+ except ValueError as err:
+ return err
+```
+
+Pour tester :
+
+```python
+from rougail import Rougail, RougailConfig
+RougailConfig['functions_file'] = 'functions.py'
+from pprint import pprint
+
+RougailConfig['dictionaries_dir'] = ['dict']
+rougail = Rougail()
+config = rougail.get_config()
+config.property.read_only()
+pprint(config.value.dict(), sort_dicts=False)
+```
+
+## La demande d'authentification
+
+Rien de particulier à la création de la demande d'authentification. Pour cela créons le fichier dict/08-proxy\_prompt\_authentication.yml :
+
+```yml
+version: '1.0'
+proxy:
+ prompt_authentication:
+ description: Prompt for authentication if password is saved
+ type: boolean
+ default: true
+ disabled:
+ type: jinja
+ jinja: |
+ {% if rougail.proxy.proxy_mode == 'No proxy' %}
+ true
+ {% else %}
+ false
+ {% endif %}
+```
+
+## Le DNS du proxy SOCKS v5
+
+La question sur le DNS pour le proxy SOCKS v5 n'apparait que si le proxy est configuré et que la version du proxy SOCKS sélectionné est bien la "v5".
+
+Créons le fichier dict.09-proxy\_proxy\_dns\_socks5.yml :
+
+```yml
+version: '1.0'
+proxy:
+ proxy_dns_socks5:
+ description: Use proxy DNS when using SOCKS v5
+ type: boolean
+ default: false
+ disabled:
+ type: jinja
+ params:
+ socks_version:
+ type: variable
+ variable: rougail.proxy.manual.socks_proxy.version
+ propertyerror: false
+ jinja: |
+ {% if rougail.proxy.proxy_mode == 'No proxy' %}
+ true
+ {% elif socks_version is undefined or socks_version == 'v4' %}
+ true
+ {% else %}
+ false
+ {% endif %}
+```
+
+La difficulté ici c'est que la variable `rougail.proxy.manual.socks_proxy.version` peut être désactivé (et donc non utilisable dans un calcul).
+Dans ce cas, nous allons ajouter un paramètre (ici appelé `socks_version`) qui contiendra, s'il n'y a pas d'erreur de propriété, la valeur de la variable.
+Sinon le paramètre ne sera pas passé au template Jinja. C'est pourquoi il faut tester dans le template Jinja si la variable `socks_version` existe bien.
+
+## Le DNS à travers HTTPS
+
+Enfin nous allons configurer le DNS à travers HTTPS dans le fichier 10-proxy\_dns\_over\_https.yml :
+
+```yml
+version: '1.0'
+proxy:
+ dns_over_https:
+ description: DNS over HTTPS
+ enable_dns_over_https:
+ description: Enable DNS over HTTPS
+ type: boolean
+ default: false
+ provider:
+ description: Use Provider
+ type: choice
+ choices:
+ - Cloudflare
+ - NextDNS
+ - Custom
+ default: Cloudflare
+ disabled:
+ type: jinja
+ jinja: |
+ {% if rougail.proxy.dns_over_https.enable_dns_over_https %}
+ false
+ {% else %}
+ true
+ {% endif %}
+ custom_dns_url:
+ description: Custom DNS URL
+ type: web_address
+ mandatory: true
+ disabled:
+ type: jinja
+ params:
+ provider:
+ type: variable
+ variable: rougail.proxy.dns_over_https.provider
+ propertyerror: false
+ jinja: |
+ {% if provider is defined and provider == 'Custom' %}
+ false
+ {% else %}
+ true
+ {% endif %}
+ validators:
+ - type: jinja
+ jinja: |
+ {% if rougail.proxy.dns_over_https.custom_dns_url.startswith('http://') %}
+ only https is allowed
+ {% endif %}
+```
+
+La seule particularitée ici est qu'on a ajouté une validation supplémentaire à la variable `custom_dns_url`. Seul une adresse commençant par https:// est autorisé (pas http://).
+
+
+# La configuration du proxy type FoxyProxy
+
+```yml
+---
+foxyproxy:
+ _type: leadership
+ title:
+ description: Title or Description
+ multi: true
+ color:
+ description: Color
+ mandatory: true
+ type:
+ type: choice
+ choices:
+ - HTTP
+ - HTTPS/SSL
+ - SOCKS5
+ - SOCKS4
+ - PAC URL
+ - WPAD
+ - System (use system settings)
+ - Direct (no proxy)
+ default: Direct (no proxy)
+ address:
+ description: IP address, DNS name, server name
+ multi: true
+ mandatory: true
+ port:
+ description: Port
+ type: port
+ mandatory: true
+ username:
+ description: Username
+ type: unix_user
+ mandatory:
+ type: jinja
+ jinja: |
+ {% if rougail.proxy.password %}
+ true
+ {% else %}
+ false
+ {% endif %}
+ password:
+ type: secret
+```
+
+```yml
+---
+foxyproxy:
+ username:
+ redefine: true
+ mandatory: false
+ password:
+ hidden:
+ type: jinja
+ jinja: |
+ {% if rougail.foxyproxy.username %}
+ false
+ {% else %}
+ true
+ {% endif %}
+```
diff --git a/doc/mode.md b/doc/variable/mode.md
similarity index 100%
rename from doc/mode.md
rename to doc/variable/mode.md
diff --git a/doc/variable/simple.md b/doc/variable/simple.md
new file mode 100644
index 000000000..5f34966e0
--- /dev/null
+++ b/doc/variable/simple.md
@@ -0,0 +1,124 @@
+# Variable
+
+## Synopsis
+
+Une variable est un conteneur qui contiendra une ou plusieurs valeurs.
+
+## Paramètres
+
+| Paramètre | Commentaire |
+|-----------|-------------|
+| **name**
`string`
`mandatory` | Nom de la variable.
C'est avec ce nom qu'on va pouvoir interagir avec la variable.
Il est préférable de suivre la [convention sur les noms de variable](convention.md). |
+| **type**
`string` | Type de la variable.
[Voir la liste des types de variable possibles](type.md).
**Valeur par défaut :** string |
+| **description**
`string` | La description de la variable.
Information utilisateur permettant de comprendre l'utilité de la variable. |
+| **help**
`string` | Aide complémentaire associée à la variable. |
+| **default** | Valeur(s) par défaut de la variable.
Cet valeur est typé, il faut remplir correctement le fichier YAML pour ne pas définir une valeur avec un type incorrect. Par exemple, un "number" doit êre un chiffre, une variable multiple doit être une liste, ...
Pour une variable multiple non [meneuse](../family/leadership.md), la première valeur défini dans la liste sera également la valeur par défaut proposée si on ajoute une nouvelle valeur à cette variable. |
+| **auto_save**
`boolean` | Variable à valeur automatiquement modifiée.
Une variable avec valeur automatiquement modifiée est une variable dont la valeur sera considéré comme modifié par l'utilisateur (ce n'est plus une valeur par défaut).
Par exemple, si la valeur de cette variable est issue d'un calcul, la valeur ne sera plus recalculée.
Ces variables sont généralement des variables obligatoires. En effet ces variable ne sont automatiquement modifiées que si elles ont une valeurs.
Une [variable meneuse ou suiveuse](../family/leadership.md) ne peut pas avoir la propriété `auto_save`. |
+| **mode**
`string` | [Mode](../variable/mode.md) de la variable
Le mode par défaut d'une variable est le mode de la famille parente.
Cas particulier :
-une variable à valeur automatiquement modifiée ou une variable en lecture seule automatique est par défaut en mode "basic"
- si la variable n'est pas dans une famille, la variable aura le mode "normal" par défaut.
- une variable obligatoire sans valeur par défaut (calculer ou non) aura le mode "basic". |
+| **muli**
`boolean` | La variable a pour valeur une liste. Par défaut la variable n'accepte pas de liste. |
+| **unique**
`boolean` | La variable multiple accepte plusieurs fois la même valeur. Par défaut une variable multiple n'accepte qu'une seule fois la même valeur dans la liste. |
+| **hidden**
`boolean` ou [`calculation`](../condition/README.md) | Variable invisible.
Permet de cacher une variable.
Cela signifie que la variable ne sera plus visible pour l'utilisateur mais sera visible pour un calcul.
Lorsqu'on rend invisible une variable l'utilisateur ne pourra pas modifier sa valeur, il s'il a déjà réussi à la modifier, cette valeur ne sera pas prise en compte. |
+| **disabled**
`boolean` ou [`calculation`](../condition/README.md) | Variable désactivée.
Permet de désactiver une variable.
Cela signifie que la variable ne sera plus visible pour l'utilisateur mais également pour un calcul. |
+| **mandatory**
`boolean` ou [`calculation`](../condition/README.md) | Variable obligatoire.
Variable dont une valeur est requise.
Pour une variable multiple, cela signifie que la liste ne doit pas être vide.
📝 Une variable avec une valeur par défaut non calculée ou de type "boolean" sont automatiquement considéré comme obligatoire défaut, si ce n'est pas le comportement voulu, il mettre le préciser comme cela : "mandatory: false". |
+| **redefine**
`boolean` | Il est possible de définir une variable dans un dictionnaire et de changer son comportement dans une second dictionnaire. |
+| **exists**
`boolean` | Il est parfois utile de créer une variable si elle n'existe pas dans un autre dictionnaire.
Si cette variable existe dans un autre dictionnaire, elle ne sera pas modifié ni recréé. |
+| **test**
`list` | L'attribut "test" est un attribut spécial qui permet aux concepteurs d'un dictionnaire d'influancer un robot de test en précisant de valeurs utiles à tester.
Concrêtement, le contenu de cet attribut est enregister dans une "information" de l'option Tiramisu correspondante. Cette attribut attend une liste de valeurs |
+
+Exemple :
+
+```yml
+---
+version: '1.0'
+my_variable:
+ test: 'yes'
+```
+
+Il est possible de préciser plusieurs valeurs avec le séparateur "|" :
+
+```yml
+---
+version: '1.0'
+my_variable:
+ test: 'yes|no'
+```
+
+Cette valeur peut être utilisé à tout moment comme valeur [d'un paramètre](../param/information.md).
+
+
+## Exemples
+
+### Quelques variables de base
+
+```yml
+---
+version: '1.0'
+my_variable:
+ type: string
+ description: This is a good variable
+ help: This is the help of a good variable
+ default: value
+version: '1.0'
+my_variable_multi_1:
+ multi: true
+ default:
+ - value
+my_variable_multi_2:
+ multi: true
+ default:
+ - value1
+ - value2
+version: '1.0'
+my_variable_multi_not_unique:
+ multi: true
+ unique: false
+ default:
+ - value1
+ - value2
+ - value2
+```
+
+### Redéfinition d'une variable
+
+Créons notre variable :
+
+```yml
+---
+version: '1.0'
+my_variable:
+ type: string
+```
+
+Et redéfinisons là :
+
+```yml
+---
+version: '1.0'
+my_variable:
+ redefine: true
+ description: New description
+```
+
+### Créer une variable inexistante
+
+
+```yml
+---
+version: '1.0'
+my_variable:
+ exists: false
+```
+
+
+## Redéfinir une variable si elle existe
+
+Parfois on veut pouvoir redéfinir une variable mais seulement dans le cas où elle existe déjà :
+
+```yml
+---
+version: '1.0'
+my_variable:
+ exists: true
+ hidden: true
+```
+
+Dans ce cas la variable ne sera pas créé mais uniquement cachée si elle existe déjà.
diff --git a/doc/variable/type.md b/doc/variable/type.md
new file mode 100644
index 000000000..2e47a45d6
--- /dev/null
+++ b/doc/variable/type.md
@@ -0,0 +1,132 @@
+# Les variables à choix
+
+## Une variable à choix
+
+Il est possible d'imposer une liste de valeur pour une variable particulière :
+
+```yml
+---
+version: '1.0'
+my_variable:
+ type: choice
+ choices:
+ - val1
+ - val2
+ - val3
+```
+
+Dans ce cas, seules les valeurs proposées sont possibles pour cette variable.
+Cette variable n'est pas obligatoire dont il est possible de mettre la valeur "None".
+
+Si la variable est obligatoire ou si une valeur est précisée (la variable passe obligatoire) alors la valeur "None" n'est plus autorisé :
+
+```yml
+---
+version: '1.0'
+my_variable:
+ type: choice
+ choices:
+ - val1
+ - val2
+ - val3
+ default: val1
+```
+
+## Un variable à choix typée
+
+Les choix sont typés :
+
+```yml
+---
+version: '1.0'
+my_variable:
+ type: choice
+ choices:
+ - val1
+ - 3
+ - true
+ default: val1
+```
+
+dans ce cas, le chiffre 3 est autorisé mais pas la chaine de caractère "3".
+
+## Redéfinir une option à choix
+
+Si on veut supprimer un choix ou redéfinir complètement la liste, il faut redéfinir cette variable et ajouter l'attribut "remove_choice" à "True" :
+
+```yml
+---
+version: '1.0'
+my_variable:
+ redefine: true
+ choices:
+ - val1
+ - val2
+```
+
+Dans ce cas toutes les anciens choix ne seront plus possible. Seuls les nouveaux le seront.
+
+## Un variable à choix provenant de variable
+
+Les choix d'une variable peuvent provenir d'une autre variable multiple :
+
+```yml
+---
+version: '1.0'
+source_variable:
+ multi: true
+ default:
+ - val1
+ - val2
+my_variable:
+ type: choice
+ choices:
+ type: variable
+ variable: rougail.source_variable
+```
+
+Ou de plusieurs autres variables :
+
+```yml
+---
+version: '1.0'
+source_variable_1:
+ default: val1
+source_variable_2:
+ default: val2
+my_variable:
+ type: choice
+ choices:
+ - type: variable
+ variable: rougail.source_variable_1
+ - type: variable
+ variable: rougail.source_variable_2
+```
+
+Dans ce cas, toutes les valeurs de la variable ou des variables seront des choix utilisables par l'utilisateur.
+
+## Un variable à choix provenant d'une fonction jinja
+
+Faisons d'abord une fonction `trange` dans le fichier functions.py :
+
+```python
+def trange(min, max):
+ return range(min, ma
+```
+
+On va récupérer ici les valeurs de 0 à 9 :
+
+```yml
+---
+version: '1.0'
+my_variable:
+ type: choice
+ default: 9
+ choices:
+ type: jinja
+ jinja: |+
+ {% for item in trange(0, 10) %}
+ {{ item }}
+ {%- endfor %}
+ return_type: number
+```
diff --git a/doc/variables.md b/doc/variables.md
deleted file mode 100644
index de367004f..000000000
--- a/doc/variables.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Le conteneur des variables
-
-La balise "variables" est le conteneur de l'ensemble des [familles](family/README.md) et des [variables](variable/README.md).
-
-Il est placé à la racine du dictionnaire :
-
-```xml
-
-
-
-
-```
-
-En YAML :
-
-```yml
-version: '0.10'
-variables: none
-```
diff --git a/src/rougail/__init__.py b/src/rougail/__init__.py
index 0dc7e5e9d..b3741d18b 100644
--- a/src/rougail/__init__.py
+++ b/src/rougail/__init__.py
@@ -47,10 +47,11 @@ class Rougail:
def get_config(self):
if not self.config:
- tiram_obj = self.converted.save(None)
+ tiram_obj = self.converted.save(self.rougailconfig['tiramisu_cache'])
optiondescription = {}
exec(tiram_obj, None, optiondescription)
self.config = Config(optiondescription['option_0'])
+ self.config.property.read_write()
return self.config
def template(self,
diff --git a/src/rougail/annotator/__init__.py b/src/rougail/annotator/__init__.py
index d9b17faf3..5382f8367 100644
--- a/src/rougail/annotator/__init__.py
+++ b/src/rougail/annotator/__init__.py
@@ -58,7 +58,7 @@ def get_annotators(annotators, module_name):
annotators[module_name] = []
for pathobj in importlib.resources.files(module_name).iterdir():
path = str(pathobj)
- if path.endswith('__') or path.endswith('__.py'):
+ if not path.endswith('.py') or path.endswith('__.py'):
continue
module = load_modules(path)
if 'Annotator' not in dir(module):
@@ -84,17 +84,20 @@ class SpaceAnnotator: # pylint: disable=R0903
for extra_annotator in objectspace.rougailconfig['extra_annotators']:
annotators.extend(ANNOTATORS[extra_annotator])
annotators = sorted(annotators, key=get_level)
- functions = []
+ functions = {}
functions_files = objectspace.rougailconfig['functions_file']
if not isinstance(functions_files, list):
functions_files = [functions_files]
for functions_file in functions_files:
if isfile(functions_file):
- functions.extend(dir(load_modules(functions_file)))
+ loaded_modules = load_modules(functions_file)
+ for function in dir(loaded_modules):
+ if function.startswith('_'):
+ continue
+ functions[function] = getattr(loaded_modules, function)
+ objectspace.functions = functions
for annotator in annotators:
- annotator(objectspace,
- functions,
- )
+ annotator(objectspace)
__all__ = ('SpaceAnnotator', 'CONVERT_OPTION')
diff --git a/src/rougail/annotator/check.py b/src/rougail/annotator/check.py
index d18a30a40..fd7a9b662 100644
--- a/src/rougail/annotator/check.py
+++ b/src/rougail/annotator/check.py
@@ -32,7 +32,7 @@ from copy import copy
from rougail.annotator.target import TargetAnnotator
from rougail.annotator.param import ParamAnnotator
-from rougail.annotator.fill import get_jinja_variable_to_param
+#from rougail.annotator.fill import get_jinja_variable_to_param
from rougail.i18n import _
from rougail.error import DictConsistencyError, display_xmlfiles
@@ -45,9 +45,9 @@ class Annotator(TargetAnnotator, ParamAnnotator):
level = 40
def __init__(self,
objectspace,
- functions,
*args,
):
+ return
self.objectspace = objectspace
self.only_variable = True
self.target_is_uniq = False
diff --git a/src/rougail/annotator/condition.py b/src/rougail/annotator/condition.py
index 6b2a5d84c..3b84f77ff 100644
--- a/src/rougail/annotator/condition.py
+++ b/src/rougail/annotator/condition.py
@@ -52,24 +52,22 @@ class Annotator(TargetAnnotator, ParamAnnotator, Walk):
*args,
):
self.objectspace = objectspace
- self.target_is_uniq = False
- self.only_variable = False
- self.allow_function = False
- self.force_service_value = {}
- if hasattr(objectspace.space, 'variables'):
- self.convert_auto_freeze()
- for path_prefix, constraints in self.get_constraints():
- if not hasattr(constraints, 'condition'):
- continue
- self.convert_target(constraints.condition, path_prefix)
- self.check_condition_optional(constraints, path_prefix)
- self.convert_condition_source(constraints, path_prefix)
- self.convert_param(constraints.condition, path_prefix)
- self.check_source_target(constraints)
- self.convert_xxxlist(constraints, path_prefix)
- self.check_choice_option_condition(constraints, path_prefix)
- self.remove_condition_with_empty_target(constraints)
- self.convert_condition(constraints, path_prefix)
+# self.target_is_uniq = False
+# self.only_variable = False
+# self.allow_function = False
+# self.force_service_value = {}
+ #for path_prefix, constraints in self.get_constraints():
+ # if not hasattr(constraints, 'condition'):
+ # continue
+ # self.convert_target(constraints.condition, path_prefix)
+ # self.check_condition_optional(constraints, path_prefix)
+ # self.convert_condition_source(constraints, path_prefix)
+ # self.convert_param(constraints.condition, path_prefix)
+ # self.check_source_target(constraints)
+ # self.convert_xxxlist(constraints, path_prefix)
+ # self.check_choice_option_condition(constraints, path_prefix)
+ # self.remove_condition_with_empty_target(constraints)
+ # self.convert_condition(constraints, path_prefix)
def valid_type_validation(self,
obj,
@@ -78,47 +76,6 @@ class Annotator(TargetAnnotator, ParamAnnotator, Walk):
return None
return obj.source.type
- def convert_auto_freeze(self):
- """convert auto_freeze
- only if auto_freeze_variable is True this variable is frozen
- """
- for variable in self.get_variables():
- if not variable.auto_freeze and not variable.auto_save:
- continue
- #if variable.namespace != self.objectspace.rougailconfig['variable_namespace']:
- # msg = _(f'auto_freeze is not allowed in extra "{variable.namespace}"')
- # raise DictConsistencyError(msg, 49, variable.xmlfiles)
- variable.force_store_value = True
- if variable.auto_save:
- continue
- auto_freeze_variable = self.objectspace.rougailconfig['auto_freeze_variable']
- if not self.objectspace.paths.path_is_defined(auto_freeze_variable,
- self.objectspace.rougailconfig['variable_namespace'],
- variable.path_prefix,
- ):
- msg = _(f'the variable "{variable.name}" is auto_freeze but there is no variable "{auto_freeze_variable}"')
- raise DictConsistencyError(msg, 81, variable.xmlfiles)
- new_condition = self.objectspace.condition(variable.xmlfiles)
- new_condition.name = 'auto_frozen_if_in'
- new_condition.namespace = variable.namespace
- new_condition.source = auto_freeze_variable
- new_param = self.objectspace.param(variable.xmlfiles)
- new_param.text = True
- new_condition.param = [new_param]
- new_target = self.objectspace.target(variable.xmlfiles)
- new_target.type = 'variable'
- path = variable.path
- if variable.path_prefix:
- path = path.split('.', 1)[-1]
- new_target.name = path
- new_condition.target = [new_target]
- path_prefix, constraints = next(self.get_constraints(create=True,
- path_prefix=variable.path_prefix,
- ))
- if not hasattr(constraints, 'condition'):
- constraints.condition = []
- constraints.condition.append(new_condition)
-
def check_source_target(self, constraints):
"""verify that source != target in condition
"""
@@ -404,7 +361,7 @@ class Annotator(TargetAnnotator, ParamAnnotator, Walk):
main_action,
)
if isinstance(leader_or_variable, self.objectspace.variable) and \
- (leader_or_variable.auto_save or leader_or_variable.auto_freeze) and \
+ leader_or_variable.auto_save and \
'force_default_on_freeze' in actions:
continue
for action in actions[1:]:
diff --git a/src/rougail/annotator/family.py b/src/rougail/annotator/family.py
index 9ea37148c..1228c8150 100644
--- a/src/rougail/annotator/family.py
+++ b/src/rougail/annotator/family.py
@@ -54,8 +54,9 @@ class Annotator(Walk):
objectspace,
*args,
):
+ self.mode_auto = []
self.objectspace = objectspace
- if not hasattr(self.objectspace.space, 'variables'):
+ if not self.objectspace.paths:
return
self.modes = {name: Mode(idx) for idx, name in enumerate(self.objectspace.rougailconfig['modes_level'])}
self.remove_empty_families()
@@ -67,34 +68,34 @@ class Annotator(Walk):
def remove_empty_families(self) -> None:
"""Remove all families without any variable
"""
- removed_families = {}
- for family, parent in self.get_families(with_parent=True):
- if isinstance(family, self.objectspace.family) and not self._has_variable(family):
- removed_families.setdefault(parent, []).append(family)
- for parent, families in removed_families.items():
- for family in families:
- del parent.variable[family.name]
+ removed_families = []
+ for family in self.get_families():
+ if isinstance(family, self.objectspace.family) and not self._has_variable(family.path):
+ if '.' in family.path:
+ removed_families.append(family.path)
+ removed_families.reverse()
+ for family in removed_families:
+ self.objectspace.del_family(family)
def _has_variable(self,
- family: 'self.objectspace.family',
+ family: str,
) -> bool:
- if hasattr(family, 'variable'):
- for variable in family.variable.values():
- if isinstance(variable, self.objectspace.family):
- if self._has_variable(variable):
- return True
- else:
+ for variable in self.objectspace.parents[family]:
+ if variable in self.objectspace.families:
+ if self._has_variable(variable):
return True
+ else:
+ return True
return False
def family_names(self) -> None:
"""Set doc, path, ... to family
"""
for family in self.get_families():
- if not hasattr(family, 'description'):
+ if not family.description:
family.description = family.name
- family.doc = family.description
- del family.description
+# family.doc = family.description
+# del family.description
def change_modes(self):
"""change the mode of variables
@@ -130,17 +131,21 @@ class Annotator(Walk):
def _set_default_mode(self,
family: 'self.objectspace.family',
) -> None:
- if not hasattr(family, 'variable'):
+ children = self.objectspace.parents[family.path]
+ if not children:
return
if self._has_mode(family):
family_mode = family.mode
else:
family_mode = None
leader = None
- for variable in family.variable.values():
- if leader is None and hasattr(family, 'leadership') and family.leadership:
+ for variable_path in children:
+ variable = self.objectspace.paths[variable_path]
+ if variable.type == 'symlink':
+ continue
+ if leader is None and family.type == 'leadership':
leader = variable
- if isinstance(variable, self.objectspace.family):
+ if variable_path in self.objectspace.families:
# set default mode a subfamily
if family_mode and not self._has_mode(variable):
self._set_auto_mode(variable, family_mode)
@@ -154,32 +159,33 @@ class Annotator(Walk):
# here because follower can change leader mode
self._set_auto_mode(family, leader.mode)
- @staticmethod
- def _has_mode(obj) -> bool:
- return 'mode' in vars(obj) and not hasattr(obj, 'mode_auto')
+ def _has_mode(self, obj) -> bool:
+ return obj.mode and not obj.path in self.mode_auto
def _set_default_mode_variable(self,
variable: 'self.objectspace.variable',
family_mode: str,
) -> None:
- # auto_save or auto_freeze variable is set to 'basic' mode
+ # auto_save variable is set to 'basic' mode
# if its mode is not defined by the user
if not self._has_mode(variable) and \
- (variable.auto_save is True or variable.auto_freeze is True):
+ variable.auto_save is True:
variable.mode = self.objectspace.rougailconfig['modes_level'][0]
# mandatory variable without value is a basic variable
elif not self._has_mode(variable) and \
variable.mandatory is True and \
- not hasattr(variable, 'default') and \
- not hasattr(variable, 'default_multi'):
+ variable.default is None and \
+ variable.path not in self.objectspace.default_multi:
variable.mode = self.objectspace.rougailconfig['modes_level'][0]
elif family_mode and not self._has_mode(variable):
self._set_auto_mode(variable, family_mode)
- @staticmethod
- def _set_auto_mode(obj, mode: str) -> None:
+ def _set_auto_mode(self,
+ obj,
+ mode: str,
+ ) -> None:
obj.mode = mode
- obj.mode_auto = True
+ self.mode_auto.append(obj.path)
def _set_default_mode_leader(self,
leader: 'self.objectspace.variable',
@@ -188,12 +194,9 @@ class Annotator(Walk):
if follower.auto_save is True:
msg = _(f'leader/followers "{follower.name}" could not be auto_save')
raise DictConsistencyError(msg, 29, follower.xmlfiles)
- if follower.auto_freeze is True:
- msg = f'leader/followers "{follower.name}" could not be auto_freeze'
- raise DictConsistencyError(_(msg), 30, follower.xmlfiles)
if leader == follower:
# it's a leader
- if not hasattr(leader, 'mode'):
+ if not leader.mode:
self._set_auto_mode(leader, self.objectspace.rougailconfig['default_variable_mode'])
return
if self._has_mode(follower):
@@ -215,44 +218,42 @@ class Annotator(Walk):
def _change_family_mode(self,
family: 'self.objectspace.family',
) -> None:
- if hasattr(family, 'mode'):
+ if family.mode:
family_mode = family.mode
else:
family_mode = self.objectspace.rougailconfig['default_family_mode']
min_variable_mode = self.objectspace.rougailconfig['modes_level'][-1]
# change variable mode, but not if variables are not in a family
- is_leadership = hasattr(family, 'leadership') and family.leadership
- if hasattr(family, 'variable'):
- for idx, variable in enumerate(family.variable.values()):
- if isinstance(variable, self.objectspace.family):
- if not hasattr(variable, 'mode'):
+ is_leadership = family.type == 'leadership'
+ if family.path in self.objectspace.parents:
+ for idx, variable_path in enumerate(self.objectspace.parents[family.path]):
+ variable = self.objectspace.paths[variable_path]
+ if variable.type == 'symlink':
+ continue
+ if variable_path in self.objectspace.families:
+ if not variable.mode:
variable.mode = self.objectspace.rougailconfig['default_family_mode']
- #elif idx == 0 and is_leadership:
- # variable.mode = None
- # if variable.path == 'general.piwigo.users.piwigo_users':
- # print(variable.path)
- # continue
else:
self._change_variable_mode(variable, family_mode, is_leadership)
if self.modes[min_variable_mode] > self.modes[variable.mode]:
min_variable_mode = variable.mode
- if not isinstance(family, (self.objectspace.family, self.objectspace.variables)):
- # it's Variable, Service, ...
- return
- if not hasattr(family, 'mode'):
+#FIXME if not isinstance(family, (self.objectspace.family, self.objectspace.variables)):
+# # it's Variable, Service, ...
+# return
+ if not family.mode:
# set the lower variable mode to family
self._set_auto_mode(family, min_variable_mode)
- if not is_leadership and family.mode != min_variable_mode:
- msg = _(f'the family "{family.name}" is in "{family.mode}" mode but variables and '
- f'families inside have the higher modes "{min_variable_mode}"')
- raise DictConsistencyError(msg, 62, family.xmlfiles)
+#FIXME if not is_leadership and family.mode != min_variable_mode:
+#FIXME msg = _(f'the family "{family.name}" is in "{family.mode}" mode but variables and '
+#FIXME f'families inside have the higher modes "{min_variable_mode}"')
+#FIXME raise DictConsistencyError(msg, 62, family.xmlfiles)
def _change_variable_mode(self,
variable,
family_mode: str,
is_follower: bool,
) -> None:
- if hasattr(variable, 'mode'):
+ if variable.mode:
variable_mode = variable.mode
else:
variable_mode = self.objectspace.rougailconfig['default_variable_mode']
@@ -263,28 +264,21 @@ class Annotator(Walk):
f'but family has the higher family mode "{family_mode}"')
raise DictConsistencyError(msg, 61, variable.xmlfiles)
self._set_auto_mode(variable, family_mode)
- if not hasattr(variable, 'mode'):
+ if not variable.mode:
variable.mode = variable_mode
def dynamic_families(self):
"""link dynamic families to object
"""
for family in self.get_families():
- if 'dynamic' not in vars(family):
+ if family.type != 'dynamic':
continue
- family.suffixes = self.objectspace.paths.get_variable(family.dynamic,
- family.namespace,
- xmlfiles=family.xmlfiles,
- allow_variable_namespace=True,
- force_path_prefix=family.path_prefix,
- add_path_prefix=True,
- )
- del family.dynamic
- if not family.suffixes.multi:
+ family.variable = self.objectspace.paths[family.variable]
+ if not family.variable.multi:
msg = _(f'dynamic family "{family.name}" must be linked '
f'to multi variable')
raise DictConsistencyError(msg, 16, family.xmlfiles)
- for variable in family.variable.values():
+ for variable in self.objectspace.parents[family.path]:
if isinstance(variable, self.objectspace.family) and not variable.leadership:
msg = _(f'dynamic family "{family.name}" cannot contains another family')
raise DictConsistencyError(msg, 22, family.xmlfiles)
@@ -293,9 +287,7 @@ class Annotator(Walk):
"""Convert variable help
"""
for family in self.get_families():
- if not hasattr(family, 'help'):
+ if not family.help:
continue
- if not hasattr(family, 'information'):
- family.information = self.objectspace.information(family.xmlfiles)
- family.information.help = family.help
+ self.objectspace.informations.add(family.path, 'help', family.help)
del family.help
diff --git a/src/rougail/annotator/fill.py b/src/rougail/annotator/fill.py
index 46eb8e875..505457e8d 100644
--- a/src/rougail/annotator/fill.py
+++ b/src/rougail/annotator/fill.py
@@ -40,71 +40,6 @@ from jinja2 import Undefined, UndefinedError, DictLoader
from jinja2.utils import missing
-class CollectUndefined(Undefined):
- def __init__(
- self,
- hint=None,
- obj=missing,
- name=None,
- exc=UndefinedError,
- subname=None,
- ) -> None:
- self._undefined_hint = hint
- self._undefined_obj = obj
- self._undefined_name = name
- self._undefined_exception = exc
- if subname:
- full_name = subname + '.'
- else:
- full_name = ''
- full_name += self._undefined_name
- self.variables.add(full_name)
- self._undefined_full_name = full_name
-
- def __getattr__(self, name):
- return CollectUndefined(name=name, subname=self._undefined_full_name)
-
-
-def get_jinja_variable_to_param(jinja_text,
- objectspace,
- obj,
- path_prefix,
- variable_name,
- variable_path,
- ):
- CollectUndefined.variables = set()
- try:
- SandboxedEnvironment(loader=DictLoader({'tmpl': jinja_text}), undefined=CollectUndefined).get_template('tmpl').render()
- except UndefinedError as err:
- msg = _(f'error in jinja "{jinja_text}": {err}')
- raise DictConsistencyError(msg, 91, obj.xmlfiles) from err
- variables = list(CollectUndefined.variables)
- variables.sort()
- for variable in variables:
- new_param = objectspace.param(obj.xmlfiles)
- if variable in [variable_name, variable_path]:
- new_param.name = '__internal_key'
- new_param.type = 'string'
- new_param.text = variable
- else:
- new_param.name = variable
- new_param.text = variable
- try:
- set_variable_to_param(new_param,
- objectspace,
- None,
- obj.namespace,
- path_prefix,
- None,
- )
- except DictConsistencyError as err:
- if err.errno != 42:
- raise err from err
- continue
- new_param.type = 'variable'
- obj.param.append(new_param)
-
-
CALC_MULTI = ('calc_value',
'calc_list',
'get_range',
@@ -127,9 +62,9 @@ class Annotator(TargetAnnotator, ParamAnnotator):
level = 60
def __init__(self,
objectspace,
- functions,
*args,
):
+ return
self.objectspace = objectspace
self.functions = copy(functions)
self.functions.extend(self.objectspace.rougailconfig['internal_functions'])
diff --git a/src/rougail/annotator/group.py b/src/rougail/annotator/group.py
deleted file mode 100644
index e0262d060..000000000
--- a/src/rougail/annotator/group.py
+++ /dev/null
@@ -1,85 +0,0 @@
-"""Annotate group
-
-Created by:
-EOLE (http://eole.orion.education.fr)
-Copyright (C) 2005-2018
-
-Forked by:
-Cadoles (http://www.cadoles.com)
-Copyright (C) 2019-2021
-
-Silique (https://www.silique.fr)
-Copyright (C) 2022-2023
-
-distribued with GPL-2 or later license
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-"""
-from rougail.i18n import _
-from rougail.error import DictConsistencyError
-from rougail.utils import normalize_family
-from rougail.annotator.variable import Walk
-
-
-class Annotator(Walk):
- """Annotate group
- """
- level = 10
- def __init__(self,
- objectspace,
- *args,
- ):
- if not hasattr(objectspace.space, 'variables'):
- return
- self.objectspace = objectspace
- self.convert_groups()
-
- def convert_groups(self): # pylint: disable=C0111
- """convert groups
- """
- # store old leaders family name
- for family in self.get_families():
- if not isinstance(family, self.objectspace.family):
- continue
- if not family.leadership:
- continue
- if hasattr(family, 'dynamic'):
- msg = _(f'the family "{family.name}" cannot be leadership and dynamic together')
- raise DictConsistencyError(msg, 31, family.xmlfiles)
- if not hasattr(family, 'variable'):
- continue
- for idx, variable in enumerate(family.variable.values()):
- if idx == 0:
- # it's a leader
- if variable.multi is not True:
- msg = _(f'the variable "{variable.name}" in a leadership must be multi')
- raise DictConsistencyError(msg, 32, variable.xmlfiles)
- if variable.hidden:
- family.hidden = variable.hidden
- elif family.hidden:
- variable.hidden = family.hidden
- if variable.hidden:
- variable.frozen = True
- variable.force_default_on_freeze = True
- variable.hidden = None
- else:
- # it's a follower
- if family.hidden:
- variable.frozen = True
- variable.force_default_on_freeze = True
- if variable.multi is True:
- variable.multi = 'submulti'
- else:
- variable.multi = True
diff --git a/src/rougail/annotator/property.py b/src/rougail/annotator/property.py
index 5b618dcd4..84ade8697 100644
--- a/src/rougail/annotator/property.py
+++ b/src/rougail/annotator/property.py
@@ -30,6 +30,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
from rougail.i18n import _
from rougail.error import DictConsistencyError
from rougail.annotator.variable import Walk
+from rougail.utils import Calculation
PROPERTIES = ('hidden', 'frozen', 'force_default_on_freeze',
@@ -45,88 +46,98 @@ class Annotator(Walk):
*args
) -> None:
self.objectspace = objectspace
- services = []
- if not self.objectspace.paths.has_path_prefix() and hasattr(self.objectspace.space, 'services'):
- services.append(self.objectspace.space.services)
- elif hasattr(self.objectspace.space, 'variables'):
- for path_prefix in self.objectspace.paths.get_path_prefixes():
- if path_prefix in self.objectspace.space.variables and \
- hasattr(self.objectspace.space.variables[path_prefix], 'services'):
- services.append(self.objectspace.space.variables[path_prefix].services)
- for service in services:
- self.convert_services(service)
- if hasattr(self.objectspace.space, 'variables'):
+# services = []
+# if not self.objectspace.paths.has_path_prefix() and hasattr(self.objectspace.space, 'services'):
+# services.append(self.objectspace.space.services)
+# elif hasattr(self.objectspace.space, 'variables'):
+# for path_prefix in self.objectspace.paths.get_path_prefixes():
+# if path_prefix in self.objectspace.space.variables and \
+# hasattr(self.objectspace.space.variables[path_prefix], 'services'):
+# services.append(self.objectspace.space.variables[path_prefix].services)
+ if self.objectspace.paths:
+ for family in self.get_families():
+ #if family.path != 'services' and not family.path.startswith('services.'):
+ if family.path != 'services':
+ continue
+ self.convert_services(family)
self.convert_family()
self.convert_variable()
- def convert_property(self,
- variable,
- ) -> None:
- """convert properties
- """
- # hidden variable is also frozen
- if isinstance(variable, self.objectspace.variable) and variable.hidden is True and \
- variable.name != self.objectspace.rougailconfig['auto_freeze_variable']:
- if not variable.auto_freeze and \
- not hasattr(variable, 'provider') and not hasattr(variable, 'supplier'):
- variable.frozen = True
- if not variable.auto_save and \
- not variable.auto_freeze and \
- 'force_default_on_freeze' not in vars(variable) and \
- not hasattr(variable, 'provider') and not hasattr(variable, 'supplier'):
- variable.force_default_on_freeze = True
- if not hasattr(variable, 'properties'):
- variable.properties = []
- if 'mandatory' in vars(variable) and not variable.mandatory and variable.multi:
- # a multi could not have "None" has value
- # to permit it, just add mandatory="False"
- variable.properties.append('notempty')
- for prop in PROPERTIES:
- if hasattr(variable, prop):
- if getattr(variable, prop) is True:
-# for subprop in CONVERT_PROPERTIES.get(prop, [prop]):
- variable.properties.append(prop)
- setattr(variable, prop, None)
- if hasattr(variable, 'unique') and variable.unique != 'nil':
- if variable.unique == 'False' or variable.unique is False:
- variable.properties.append('notunique')
- else:
- variable.properties.append('unique')
- if hasattr(variable, 'mode') and variable.mode:
- variable.properties.append(variable.mode)
- variable.mode = None
- if 'force_store_value' in variable.properties and \
- 'force_default_on_freeze' in variable.properties: # pragma: no cover
- # should not appened
- msg = _('cannot have auto_freeze or auto_save with the hidden '
- f'variable "{variable.name}"')
- raise DictConsistencyError(msg, 50, variable.xmlfiles)
- if not variable.properties:
- del variable.properties
-
def convert_services(self, services) -> None:
"""convert services
"""
- self.convert_property(services)
- for services_ in services.service.values():
- self.convert_property(services_)
- for service in vars(services_).values():
- if not isinstance(service, self.objectspace.family):
- continue
- self.convert_property(service)
- for family in service.family:
- self.convert_property(family)
- for variable in family.variable:
- self.convert_property(variable)
+ self._convert_property(services)
def convert_family(self) -> None:
"""convert families
"""
for family in self.get_families():
- self.convert_property(family)
+ if family.path == 'services' or family.path.startswith('services.'):
+ continue
+ self._convert_property(family)
def convert_variable(self) -> None:
"""convert variables
"""
for variable in self.get_variables():
- self.convert_property(variable)
+ if variable.path.startswith('services.'):
+ continue
+ if variable.type == 'symlink':
+ continue
+ self._convert_variable_property(variable)
+
+
+
+ def _convert_variable_property(self,
+ variable: dict,
+ ) -> None:
+ """convert properties
+ """
+ path = variable.path
+ self._convert_property(variable)
+ if variable.hidden:
+ # hidden variable is also frozen
+ if variable.hidden is True:
+ value = True
+ else:
+ datas = {'type': variable.hidden.type,
+ variable.hidden.type: variable.hidden.value,
+ }
+ if variable.hidden.params:
+ datas['params'] = variable.hidden.params
+ value = Calculation('',
+ 'frozen',
+ variable.path,
+ datas,
+ '',
+ self.objectspace,
+ False,
+ )
+
+ self.objectspace.properties.add(path, 'frozen', value)
+ if not variable.auto_save:
+ # if auto_save, save calculated value
+ self.objectspace.properties.add(path, 'force_default_on_freeze', True)
+ if not variable.mandatory and variable.multi:
+ # a multi could not have "None" has value
+ # to permit it, just add mandatory="False"
+ self.objectspace.properties.add(path, 'notempty', True)
+ if variable.unique:
+ self.objectspace.properties.add(path, 'unique', True)
+ if variable.unique is False:
+ self.objectspace.properties.add(path, 'notunique', True)
+ if variable.auto_save:
+ self.objectspace.properties.add(variable.path, 'force_store_value', True)
+
+ def _convert_property(self,
+ obj: dict,
+ ) -> None:
+ for prop in PROPERTIES:
+ if not hasattr(obj, prop):
+ continue
+ value = getattr(obj, prop)
+ if not value:
+ continue
+ self.objectspace.properties.add(obj.path, prop, value)
+ if obj.mode:
+ self.objectspace.properties.add(obj.path, obj.mode, True)
diff --git a/src/rougail/annotator/service.py b/src/rougail/annotator/service.py
index ce0829da5..8361a3e53 100644
--- a/src/rougail/annotator/service.py
+++ b/src/rougail/annotator/service.py
@@ -33,7 +33,8 @@ from typing import Tuple
from rougail.i18n import _
from rougail.utils import normalize_family
from rougail.error import DictConsistencyError
-from rougail.annotator.variable import CONVERT_OPTION
+#from rougail.annotator.variable import CONVERT_OPTION
+from tiramisu import PermissionsOption, UsernameOption
try:
import tiramisu4 as tiramisu
except ModuleNotFoundError:
@@ -48,13 +49,6 @@ FORCE_INFORMATIONS = ['mode']
class Annotator:
"""Manage service's object
- for example::
-
-
-
-
-
-
"""
level = 20
def __init__(self,
@@ -63,238 +57,373 @@ class Annotator:
) -> None:
self.objectspace = objectspace
self.uniq_overrides = {}
- if 'network_type' not in self.objectspace.types:
- self.objectspace.types['network_type'] = self.objectspace.types['ip_type']
+ #if 'network_type' not in self.objectspace.types:
+ # self.objectspace.types['network_type'] = self.objectspace.types['ip_type']
services = []
- if not self.objectspace.paths.has_path_prefix():
+ if 1:
+ #FIXME if not self.objectspace.paths.has_path_prefix():
self.uniq_overrides[None] = []
- if hasattr(self.objectspace.space, 'services'):
- if not hasattr(self.objectspace.space.services, 'service'):
- del self.objectspace.space.services
- else:
- services.append((None, 'services', self.objectspace.space.services))
- elif hasattr(self.objectspace.space, 'variables'):
- for path_prefix in self.objectspace.paths.get_path_prefixes():
- self.uniq_overrides[path_prefix] = []
- root_path = f'{path_prefix}.services'
- if not path_prefix in self.objectspace.space.variables or \
- not hasattr(self.objectspace.space.variables[path_prefix], 'services'):
- continue
- if not hasattr(self.objectspace.space.variables[path_prefix].services, 'service'):
- del self.objectspace.space.variables[path_prefix].services
- else:
- services.append((path_prefix, root_path, self.objectspace.space.variables[path_prefix].services))
- for path_prefix, root_path, service in services:
- self.convert_services(path_prefix, root_path, service)
+ # if hasattr(self.objectspace.space, 'services'):
+ if self.objectspace.services:
+ services.append((None, 'services', self.objectspace.services))
+ #elif hasattr(self.objectspace.space, 'variables'):
+ # for path_prefix in self.objectspace.paths.get_path_prefixes():
+ # self.uniq_overrides[path_prefix] = []
+ # root_path = f'{path_prefix}.services'
+ # if not path_prefix in self.objectspace.space.variables or \
+ # not hasattr(self.objectspace.space.variables[path_prefix], 'services'):
+ # continue
+ # if not hasattr(self.objectspace.space.variables[path_prefix].services, 'service'):
+ # del self.objectspace.space.variables[path_prefix].services
+ # else:
+ # services.append((path_prefix, root_path, self.objectspace.space.variables[path_prefix].services))
+ if services:
+ self.objectspace.add_family('.',
+ 'services',
+ 'services',
+ {'doc': 'services',
+ 'hidden': True,
+ },
+ []
+ )
+ for path_prefix, root_path, service in services:
+ self.convert_services(path_prefix, root_path, service)
def convert_services(self, path_prefix, root_path, services):
"""convert services to variables
"""
- services.hidden = True
- services.name = 'services'
- services.doc = 'services'
- services.path = root_path
- for service_name, service in services.service.items():
- service.name = normalize_family(service_name)
- activate_obj = self._generate_element('boolean',
- None,
- None,
- 'activate',
- not service.disabled,
- service,
- f'{root_path}.{service.name}',
- path_prefix,
- )
- service.disabled = None
- dico = dict(vars(service))
- if 'type' not in dico:
- if service.manage:
- dico['type'] = service.type
+ for service_name, service in services.items():
+ n_service_name = normalize_family(service_name)
+ path = f'{root_path}.{n_service_name}'
+ self.objectspace.add_family(root_path,
+ path,
+ n_service_name,
+ {'doc': service_name},
+ service.xmlfiles,
+ )
+ for typ in ['ip', 'certificates', 'files']:
+ if typ == 'ip':
+ obj_typ = 'ips'
else:
- dico['type'] = 'none'
- for elttype, values in dico.items():
- if elttype == 'servicelist':
- self.objectspace.paths.list_conditions[path_prefix].setdefault('servicelist',
- {}).setdefault(
- values,
- []).append(activate_obj)
- continue
+ obj_typ = typ
+ values = getattr(self.objectspace, obj_typ)
+ if path in values:
+ obj_path = f'{path}.{typ}'
+ if obj_path not in self.objectspace.paths:
+ self.objectspace.add_family(path,
+ obj_path,
+ typ,
+ {},
+ service.xmlfiles,
+ )
+ function = getattr(self, f'convert_service_{typ}')
+ for obj in values[path]:
+ function(obj,
+ obj_path,
+ n_service_name,
+ path_prefix,
+ )
+ self._generate_element('boolean',
+ None,
+ None,
+ 'activate',
+ not service.disabled,
+ service,
+ path,
+ path_prefix,
+ )
+ for elttype, values in service:
if elttype in ERASED_ATTRIBUTES:
continue
- if not service.manage and elttype not in ALLOW_ATTRIBUT_NOT_MANAGE and (elttype != 'type' or values != 'none'):
+ if not service.manage and elttype not in ALLOW_ATTRIBUT_NOT_MANAGE and (elttype != 'type' or values is not None):
msg = _(f'unmanage service cannot have "{elttype}"')
raise DictConsistencyError(msg, 66, service.xmlfiles)
- if isinstance(values, (dict, list)):
- if elttype != 'ip':
- eltname = elttype + 's'
- else:
- eltname = elttype
- if hasattr(service, 'servicelist'):
- if isinstance(values, dict):
- for key, value in values.items():
- setattr(value, 'servicelist', service.servicelist)
- family = self._gen_family(eltname,
- f'{root_path}.{service.name}',
- service.xmlfiles,
- path_prefix,
- with_informations=False,
- )
- if isinstance(values, dict):
- values = list(values.values())
- family.family = self.make_group_from_elts(service_name,
- elttype,
- values,
- f'{root_path}.{service.name}.{eltname}',
- root_path,
- path_prefix,
- )
- setattr(service, elttype, family)
- else:
- if not hasattr(service, 'information'):
- service.information = self.objectspace.information(service.xmlfiles)
- setattr(service.information, elttype, values)
- service.path = f'{root_path}.{service.name}'
- manage = self._generate_element('boolean',
- None,
- None,
- 'manage',
- service.manage,
- service,
- f'{root_path}.{service.name}',
- path_prefix,
- )
- service.variable = [activate_obj, manage]
- service.doc = service_name
-
- def make_group_from_elts(self,
- service_name,
- elttype,
- elts,
- path,
- root_path,
- path_prefix,
- ):
- """Splits each objects into a group (and `OptionDescription`, in tiramisu terms)
- and build elements and its attributes (the `Options` in tiramisu terms)
- """
- families = []
- listname = '{}list'.format(elttype)
- for elt in elts:
- # try to launch _update_xxxx() function
- update_elt = '_update_' + elttype
- if hasattr(self, update_elt):
- getattr(self, update_elt)(elt,
- service_name,
- path_prefix,
+ if values:
+ self.objectspace.informations.add(path, elttype, values)
+ self.objectspace.add_variable(path,
+ f'{path}.manage',
+ 'manage',
+ {'type': 'boolean',
+ 'default': True,
+ },
+ service.xmlfiles,
)
- c_name, subpath = self._get_name_path(elt,
- path,
- root_path,
- path_prefix,
- )
- family = self._gen_family(c_name,
- subpath.rsplit('.', 1)[0],
- elt.xmlfiles,
- path_prefix,
+
+ def convert_service_ip(self,
+ ip: dict,
+ subpath: str,
+ service_name: str,
+ path_prefix: str,
+ ) -> None:
+ variable = self.objectspace.paths[ip.name]
+ if variable.type not in ['ip', 'network', 'network_cidr']:
+ msg = _(f'ip cannot be linked to "{variable.type}" variable "{ip.name}"')
+ raise DictConsistencyError(msg, 70, ip.xmlfiles)
+ if variable.type in ['ip', 'network_cidr'] and ip.netmask:
+ msg = _(f'ip with ip_type "{variable.type}" must not have netmask')
+ raise DictConsistencyError(msg, 59, ip.xmlfiles)
+ if variable.type == 'network' and not ip.netmask:
+ msg = _(f'ip with ip_type "{variable.type}" must have netmask')
+ raise DictConsistencyError(msg, 64, ip.xmlfiles)
+ if ip.netmask:
+ netmask = self.objectspace.paths[ip.netmask]
+ if netmask.type != 'netmask':
+ msg = _(f'netmask in ip must have type "netmask", not "{netmask.type}"')
+ raise DictConsistencyError(msg, 65, ip.xmlfiles)
+ name = normalize_family(ip.name)
+ path = f'{subpath}.{name}'
+ self.objectspace.add_family(subpath,
+ path,
+ name,
+ {'doc': ip.name},
+ ip.xmlfiles,
+ )
+ self.objectspace.add_variable(path,
+ f'{path}.name',
+ 'name',
+ {'type': 'symlink',
+ 'opt': variable,
+ },
+ ip.xmlfiles,
)
- family.variable = []
- if hasattr(elt, 'disabled'):
- disabled = elt.disabled
- else:
- disabled = False
- activate_obj = self._generate_element('boolean',
- None,
- None,
- 'activate',
- not disabled,
- elt,
- subpath,
- path_prefix,
- )
- for key in dir(elt):
- if key.startswith('_') or key.endswith('_type') or key in ERASED_ATTRIBUTES2:
- continue
- value = getattr(elt, key)
- if key in [listname, 'servicelist']:
- self.objectspace.paths.list_conditions[path_prefix].setdefault(key,
- {}).setdefault(
- value,
- []).append(activate_obj)
- continue
- if key == 'name':
- dtd_key_type = elttype + '_type'
- else:
- dtd_key_type = key + '_type'
- elt_type = getattr(elt, dtd_key_type, None)
- if elt_type:
- try:
- value = CONVERT_OPTION.get(elt_type, {}).get('func', str)(value)
- except ValueError as err:
- msg = _(f'"{value}" is not a valid "{elttype}": {err}')
- raise DictConsistencyError(msg, 93, elt.xmlfiles)
- if key not in FORCE_INFORMATIONS and elt_type:
- if elt_type == 'variable':
- elt_type = 'symlink'
- family.variable.append(self._generate_element(elt_type,
- dtd_key_type,
- elttype,
- key,
- value,
- elt,
- subpath,
- path_prefix,
- ))
- else:
- setattr(family.information, key, value)
-
- family.variable.append(activate_obj)
- families.append(family)
- return families
-
- def _get_name_path(self,
- elt,
- path: str,
- root_path: str,
- path_prefix: str,
- ) -> Tuple[str, str]:
- # create element name, if already exists, add _xx to be uniq
- if hasattr(elt, 'source') and elt.source:
- name = elt.source
- else:
- name = elt.name
- idx = 0
- while True:
- c_name = name
- if idx:
- c_name += f'_{idx}'
- subpath = '{}.{}'.format(path, normalize_family(c_name))
- try:
- self.objectspace.paths.get_family(subpath, root_path, path_prefix)
- except DictConsistencyError as err:
- if err.errno == 42:
- return c_name, subpath
- idx += 1
-
- def _gen_family(self,
- name,
- subpath,
- xmlfiles,
- path_prefix,
- with_informations=True,
- ):
- family = self.objectspace.family(xmlfiles)
- family.name = normalize_family(name)
- family.doc = name
- family.mode = None
- self.objectspace.paths.add_family('services',
- subpath,
- family,
- False,
- force_path_prefix=path_prefix,
+ if ip.netmask:
+ self.objectspace.add_variable(path,
+ f'{path}.netmask',
+ 'netmask',
+ {'type': 'symlink',
+ 'opt': self.objectspace.paths[ip.netmask],
+ },
+ ip.xmlfiles,
)
- if with_informations:
- family.information = self.objectspace.information(xmlfiles)
- return family
+ self._generate_element('boolean',
+ None,
+ None,
+ 'activate',
+ True,
+ #not service.disabled,
+ ip,
+ path,
+ path_prefix,
+ )
+
+ def convert_service_certificates(self,
+ certificate: dict,
+ subpath: str,
+ service_name: str,
+ path_prefix: str,
+ ) -> None:
+ if isinstance(certificate.name, dict):
+ variable = self.objectspace.paths[certificate.name['name']]
+ if variable.type != 'filename':
+ msg = _(f'certificate cannot be linked to "{variable.type}" variable "{ip.name}"')
+ raise Exception(msg)
+ # raise DictConsistencyError(msg, 70, ip.xmlfiles)
+ name_obj = {'type': 'symlink',
+ 'opt': variable,
+ }
+ else:
+ name = certificate.name
+ name_obj = {'default': name}
+ name = normalize_family(name)
+ path = f'{subpath}.{name}'
+ self.objectspace.add_family(subpath,
+ path,
+ name,
+ {'doc': name},
+ certificate.xmlfiles,
+ )
+ self.objectspace.add_variable(path,
+ f'{path}.name',
+ 'name',
+ name_obj,
+ certificate.xmlfiles,
+ )
+ self.objectspace.informations.add(path, 'authority', certificate.authority)
+ for typ in ['provider', 'format', 'type']:
+ value = getattr(certificate, typ)
+ if value:
+ self.objectspace.informations.add(path, typ, value)
+ if certificate.mode:
+ PermissionsOption('', '', default=certificate.mode)
+ self.objectspace.informations.add(path, 'mode', certificate.mode)
+ #
+ for typ in ['owner', 'group']:
+ value = getattr(certificate, typ)
+ if value is None:
+ continue
+ if isinstance(value, str):
+ UsernameOption('', '', default=value)
+ new_variable = {'type': 'unix_user',
+ 'default': value}
+ else:
+ new_variable = {'type': 'symlink',
+ 'opt': self.objectspace.paths[value['name']],
+ }
+ self.objectspace.add_variable(path,
+ f'{path}.{typ}',
+ typ,
+ new_variable,
+ certificate.xmlfiles,
+ )
+ #
+ if certificate.domain is None:
+ certificate.domain = self.objectspace.rougailconfig['default_certificate_domain']
+ for typ in ['server', 'domain']:
+ value = getattr(certificate, typ)
+ if value is None:
+ continue
+ value = {'type': 'symlink',
+ 'opt': self.objectspace.paths[value],
+ }
+ self.objectspace.add_variable(path,
+ f'{path}.{typ}',
+ typ,
+ value,
+ certificate.xmlfiles,
+ )
+ self._generate_element('boolean',
+ None,
+ None,
+ 'activate',
+ True,
+ #not service.disabled,
+ certificate,
+ path,
+ path_prefix,
+ )
+
+ def convert_service_files(self,
+ file: dict,
+ subpath: str,
+ service_name: str,
+ path_prefix: str,
+ ) -> None:
+ if isinstance(file.source, dict):
+ if file.source['type'] != 'variable':
+ raise Exception('pfff')
+ source_obj = {'type': 'symlink',
+ 'opt': self.objectspace.paths[file.source['name']],
+ }
+ else:
+ source_obj = {'type': 'filename',
+ 'default': file.name,
+ }
+ if not file.variable:
+ if not file.source:
+ file.source = basename(file.name)
+ elif not file.source:
+ msg = _(f'attribute "source" is mandatory for the file "{file.name}" in '
+ f'"({service_name})"')
+ raise DictConsistencyError(msg, 34, file_.xmlfiles)
+ name, path = self.get_name_path(file, subpath)
+ self.objectspace.add_family(subpath,
+ path,
+ name,
+ {'doc': name},
+ file.xmlfiles,
+ )
+ self.objectspace.add_variable(path,
+ f'{path}.name',
+ 'name',
+ {'type': 'filename',
+ 'default': file.name,
+ },
+ file.xmlfiles,
+ )
+ #
+ self.objectspace.add_variable(path,
+ f'{path}.source',
+ 'source',
+ source_obj,
+ file.xmlfiles,
+ )
+ #
+ if file.mode:
+ PermissionsOption('', '', default=file.mode)
+ self.objectspace.informations.add(path, 'mode', file.mode)
+ #
+ if file.engine:
+ self.objectspace.informations.add(path, 'engine', file.engine)
+ #
+ if file.included != 'no':
+ self.objectspace.informations.add(path, 'included', file.included)
+ #
+ for typ in ['owner', 'group']:
+ value = getattr(file, typ)
+ if value is None:
+ continue
+ if isinstance(value, str):
+ UsernameOption('', '', default=value)
+ new_variable = {'type': 'unix_user',
+ 'default': value}
+ else:
+ new_variable = {'type': 'symlink',
+ 'opt': self.objectspace.paths[value['name']],
+ }
+ self.objectspace.add_variable(path,
+ f'{path}.{typ}',
+ typ,
+ new_variable,
+ file.xmlfiles,
+ )
+ #
+ self._generate_element('boolean',
+ None,
+ None,
+ 'activate',
+ True,
+ #not service.disabled,
+ file,
+ path,
+ path_prefix,
+ )
+
+ def convert_service_overrides(self,
+ override: dict,
+ subpath: str,
+ service_name: str,
+ path_prefix: str,
+ ) -> None:
+ name, path = self.get_name_path(override, subpath)
+ self.objectspace.add_family(subpath,
+ path,
+ name,
+ {'doc': name},
+ override.xmlfiles,
+ )
+ self.objectspace.add_variable(path,
+ f'{path}.name',
+ 'name',
+ {'type': 'filename',
+ 'default': override.name,
+ },
+ override.xmlfiles,
+ )
+ #
+ if override.source:
+ self.objectspace.add_variable(path,
+ f'{path}.source',
+ 'source',
+ {'type': 'filename',
+ 'default': override.source,
+ },
+ override.xmlfiles,
+ )
+ #
+ #
+ if override.engine:
+ self.objectspace.informations.add(path, 'engine', override.engine)
+ #
+ self._generate_element('boolean',
+ None,
+ None,
+ 'activate',
+ True,
+ #not service.disabled,
+ override,
+ path,
+ path_prefix,
+ )
def _generate_element(self,
type_,
@@ -303,13 +432,13 @@ class Annotator:
key,
value,
elt,
- path,
+ subpath,
path_prefix,
): # pylint: disable=R0913
- variable = self.objectspace.variable(elt.xmlfiles)
- variable.name = normalize_family(key)
- variable.mode = None
- variable.type = type_
+ name = normalize_family(key)
+ variable_obj = {'type': type_,
+ 'xmlfiles': elt.xmlfiles
+ }
if type_ == 'symlink':
variable.opt = self.objectspace.paths.get_variable(value,
self.objectspace.rougailconfig['variable_namespace'],
@@ -325,15 +454,21 @@ class Annotator:
raise DictConsistencyError(msg, 58, elt.xmlfiles)
else:
- variable.doc = key
- variable.default = value
- variable.namespace = 'services'
- self.objectspace.paths.add_variable('services',
- path,
- variable,
- force_path_prefix=path_prefix
- )
- return variable
+ variable_obj['description'] = key
+ variable_obj['default'] = value
+ path = f'{subpath}.{name}'
+ self.objectspace.add_variable(subpath,
+ path,
+ name,
+ variable_obj,
+ elt.xmlfiles,
+ )
+# self.objectspace.paths.add_variable('services',
+# path,
+# variable,
+# force_path_prefix=path_prefix
+# )
+ return self.objectspace.paths[path]
def _update_override(self,
override,
@@ -363,37 +498,6 @@ class Annotator:
f'"({service_name})"')
raise DictConsistencyError(msg, 34, file_.xmlfiles)
- def _update_ip(self,
- ip,
- service_name,
- path_prefix,
- ) -> None:
- variable = self.objectspace.paths.get_variable(ip.name,
- ip.namespace,
- xmlfiles=ip.xmlfiles,
- force_path_prefix=path_prefix,
- add_path_prefix=True,
- )
- if variable.type not in ['ip', 'network', 'network_cidr']:
- msg = _(f'ip cannot be linked to "{variable.type}" variable "{ip.name}"')
- raise DictConsistencyError(msg, 70, ip.xmlfiles)
- if variable.type in ['ip', 'network_cidr'] and hasattr(ip, 'netmask'):
- msg = _(f'ip with ip_type "{variable.type}" must not have netmask')
- raise DictConsistencyError(msg, 59, ip.xmlfiles)
- if variable.type == 'network' and not hasattr(ip, 'netmask'):
- msg = _(f'ip with ip_type "{variable.type}" must have netmask')
- raise DictConsistencyError(msg, 64, ip.xmlfiles)
- if hasattr(ip, 'netmask'):
- netmask = self.objectspace.paths.get_variable(ip.netmask,
- ip.namespace,
- xmlfiles=ip.xmlfiles,
- force_path_prefix=path_prefix,
- add_path_prefix=True,
- )
- if netmask.type != 'netmask':
- msg = _(f'netmask in ip must have type "netmask", not "{netmask.type}"')
- raise DictConsistencyError(msg, 65, ip.xmlfiles)
-
def _update_certificate(self,
certificate,
certificate_name,
@@ -418,3 +522,25 @@ class Annotator:
if variable.type != 'domainname':
msg = _(f'the certificate "{certificate.name}" has an attribute "domain" linked with a "{variable.type}" variable ("{certificate.domain}"), but must be a "domainename" variable')
raise DictConsistencyError(msg, 94, certificate.xmlfiles)
+
+ def get_name_path(self,
+ elt,
+ subpath: str,
+ ) -> Tuple[str, str]:
+ # create element name, if already exists, add _xx to be uniq
+ if hasattr(elt, 'source') and elt.source:
+ name = elt.source
+ if isinstance(name, dict):
+ name = name['name']
+ else:
+ name = elt.name
+ name = normalize_family(name)
+ idx = 0
+ while True:
+ c_name = name
+ if idx:
+ c_name += f'_{idx}'
+ path = f'{subpath}.{c_name}'
+ if path not in self.objectspace.families:
+ return c_name, path
+ idx += 1
diff --git a/src/rougail/annotator/value.py b/src/rougail/annotator/value.py
index ecc342d2a..7dd736e35 100644
--- a/src/rougail/annotator/value.py
+++ b/src/rougail/annotator/value.py
@@ -31,6 +31,8 @@ from rougail.annotator.variable import Walk
from rougail.i18n import _
from rougail.error import DictConsistencyError
+from rougail.utils import Calculation
+
class Annotator(Walk): # pylint: disable=R0903
"""Annotate value
@@ -40,7 +42,7 @@ class Annotator(Walk): # pylint: disable=R0903
objectspace,
*args,
) -> None:
- if not hasattr(objectspace.space, 'variables'):
+ if not objectspace.paths:
return
self.objectspace = objectspace
self.convert_value()
@@ -50,52 +52,52 @@ class Annotator(Walk): # pylint: disable=R0903
"""convert value
"""
for variable in self.get_variables():
+ if variable.type == 'symlink':
+ continue
self._convert_value(variable)
def _convert_value(self,
- variable,
+ variable: dict,
) -> None:
+ multi = self.objectspace.multis.get(variable.path, False)
# a boolean must have value, the default value is "True"
- if not hasattr(variable, 'value') and variable.type == 'boolean':
- new_value = self.objectspace.value(variable.xmlfiles)
- new_value.name = True
- new_value.type = 'boolean'
- variable.value = [new_value]
- # if the variable is mandatory and doesn't have any value
- # then the variable's mode is set to 'basic'
- # variable with default value is mandatory
- if hasattr(variable, 'value') and variable.value:
- has_value = True
- for value in variable.value:
- if value.type == 'calculation' or value.type == 'nil':
- has_value = False
- break
- if has_value and 'mandatory' not in vars(variable):
- # if has value without any calculation
- variable.mandatory = True
- if not hasattr(variable, 'value'):
+ if variable.type == 'boolean' and \
+ multi is False and \
+ variable.default is None:
+ variable.default = True
+
+ if variable.default is None:
return
- if variable.value[0].type == 'calculation':
- variable.default = variable.value[0]
- elif variable.multi:
- if self.objectspace.paths.is_follower(variable):
- if variable.multi != 'submulti' and len(variable.value) != 1:
+ has_value = False
+ if isinstance(variable.default, Calculation):
+ pass
+# variable.default = variable.default.to_function(self.functions)
+ elif isinstance(variable.default, list):
+ if not multi:
+ raise Exception('pfff')
+ if variable.path in self.objectspace.followers:
+ if multi != 'submulti' and len(variable.default) != 1:
msg = _(f'the follower "{variable.name}" without multi attribute can only have one value')
raise DictConsistencyError(msg, 87, variable.xmlfiles)
- else:
- variable.default = [value.name for value in variable.value]
- if not self.objectspace.paths.is_leader(variable):
- if variable.multi == 'submulti':
- variable.default_multi = [value.name for value in variable.value]
+# else:
+# variable.default = [value.name for value in variable.default]
+ if variable.path not in self.objectspace.leaders:
+ if multi == 'submulti':
+ self.objectspace.default_multi[variable.path] = variable.default #[value.name for value in variable.value]
else:
- variable.default_multi = variable.value[0].name
+ self.objectspace.default_multi[variable.path] = variable.default[0] #.name
+ has_value = True
+ elif variable.multi:
+ #msg = _(f'the none multi variable "{variable.name}" cannot have '
+ # 'more than one value')
+ #raise DictConsistencyError(msg, 68, variable.xmlfiles)
+ raise Exception('pfff')
else:
- if len(variable.value) > 1:
- msg = _(f'the none multi variable "{variable.name}" cannot have '
- 'more than one value')
- raise DictConsistencyError(msg, 68, variable.xmlfiles)
- variable.default = variable.value[0].name
- del variable.value
+ has_value = True
+ # variable with default value is mandatory
+ if has_value and variable.mandatory is None:
+ # if has value without any calculation
+ variable.mandatory = True
def add_choice_nil(self) -> None:
"""A variable with type "Choice" that is not mandatory must has "nil" value
@@ -104,11 +106,11 @@ class Annotator(Walk): # pylint: disable=R0903
if variable.type != 'choice':
continue
is_none = False
- for choice in variable.choice:
- if choice.type == 'nil':
+ if isinstance(variable.choices, Calculation):
+ continue
+ for choice in variable.choices:
+ if choice is None:
is_none = True
+ break
if not variable.mandatory and not is_none:
- choice = self.objectspace.choice(variable.xmlfiles)
- choice.name = None
- choice.type = 'nil'
- variable.choice.append(choice)
+ variable.choices.append(None)
diff --git a/src/rougail/annotator/variable.py b/src/rougail/annotator/variable.py
index d686c1cb5..92f683a82 100644
--- a/src/rougail/annotator/variable.py
+++ b/src/rougail/annotator/variable.py
@@ -30,26 +30,26 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
from rougail.i18n import _
from rougail.error import DictConsistencyError
-from rougail.objspace import convert_boolean, get_variables
+from rougail.objspace import convert_boolean #, get_variables
+from rougail.utils import Calculation
-CONVERT_OPTION = {'number': dict(opttype="IntOption", func=int),
+CONVERT_OPTION = {'string': dict(opttype="StrOption"),
+ 'number': dict(opttype="IntOption", func=int),
'float': dict(opttype="FloatOption", func=float),
- 'choice': dict(opttype="ChoiceOption"),
- 'string': dict(opttype="StrOption"),
- 'password': dict(opttype="PasswordOption"),
+ 'boolean': dict(opttype="BoolOption", func=convert_boolean),
'secret': dict(opttype="PasswordOption"),
'mail': dict(opttype="EmailOption"),
- 'boolean': dict(opttype="BoolOption", func=convert_boolean),
- 'symlink': dict(opttype="SymLinkOption"),
'filename': dict(opttype="FilenameOption"),
'date': dict(opttype="DateOption"),
'unix_user': dict(opttype="UsernameOption"),
'ip': dict(opttype="IPOption", initkwargs={'allow_reserved': True}),
+ 'cidr': dict(opttype="IPOption", initkwargs={'cidr': True}),
'local_ip': dict(opttype="IPOption", initkwargs={'private_only': True,
'warnings_only': True}),
'netmask': dict(opttype="NetmaskOption"),
'network': dict(opttype="NetworkOption"),
+ 'network_cidr': dict(opttype="NetworkOption", initkwargs={'cidr': True}),
'broadcast': dict(opttype="BroadcastOption"),
'netbios': dict(opttype="DomainnameOption", initkwargs={'type': 'netbios',
'warnings_only': True}),
@@ -61,9 +61,10 @@ CONVERT_OPTION = {'number': dict(opttype="IntOption", func=int),
'allow_without_dot': True}),
'port': dict(opttype="PortOption", initkwargs={'allow_private': True, 'allow_protocol': True}),
'mac': dict(opttype="MACOption"),
- 'cidr': dict(opttype="IPOption", initkwargs={'cidr': True}),
- 'network_cidr': dict(opttype="NetworkOption", initkwargs={'cidr': True}),
'unix_permissions': dict(opttype="PermissionsOption", initkwargs={'warnings_only': True}, func=int),
+ 'choice': dict(opttype="ChoiceOption"),
+ #
+ 'symlink': dict(opttype="SymLinkOption"),
}
@@ -75,56 +76,58 @@ class Walk:
def get_variables(self):
"""Iter all variables from the objectspace
"""
- yield from get_variables(self.objectspace)
+ for path in self.objectspace.variables:
+ yield self.objectspace.paths[path]
+# yield from get_variables(self.objectspace)
- def get_families(self,
- with_parent: bool=False,
- ):
+ def get_families(self):
"""Iter all families from the objectspace
"""
- for family in self.objectspace.space.variables.values():
- yield from self._get_families(family, None, with_parent)
-
- def _get_families(self,
- family: 'self.objectspace.family',
- old_family: 'self.objectspace.family',
- with_parent: bool,
- ):
- if with_parent:
- yield family, old_family,
- if hasattr(family, 'variable'):
- if not with_parent:
- yield family
- for fam in family.variable.values():
- if isinstance(fam, self.objectspace.family):
- yield from self._get_families(fam, family, with_parent)
- if hasattr(family, 'variables'):
- for fam in family.variables.values():
- yield from self._get_families(fam, family, with_parent)
-
- def get_constraints(self,
- create: bool=False,
- path_prefix: str=None,
- ):
- if not self.objectspace.paths.has_path_prefix():
- if hasattr(self.objectspace.space, 'constraints'):
- yield None, self.objectspace.space.constraints
- elif create:
- self.objectspace.space.constraints = self.objectspace.constraints(None)
- yield None, self.objectspace.space.constraints
- else:
- if path_prefix:
- path_prefixes = [path_prefix]
- else:
- path_prefixes = self.objectspace.paths.get_path_prefixes()
- for path_prefix in path_prefixes:
- if hasattr(self.objectspace.space, 'variables') and \
- path_prefix in self.objectspace.space.variables and \
- hasattr(self.objectspace.space.variables[path_prefix], 'constraints'):
- yield path_prefix, self.objectspace.space.variables[path_prefix].constraints
- elif create:
- self.objectspace.space.variables[path_prefix].constraints = self.objectspace.constraints(None)
- yield path_prefix, self.objectspace.space.variables[path_prefix].constraints
+ for path in self.objectspace.families:
+ yield self.objectspace.paths[path]
+# for family in self.objectspace.space.variables.values():
+# yield from self._get_families(family, None, with_parent)
+#
+# def _get_families(self,
+# family: 'self.objectspace.family',
+# old_family: 'self.objectspace.family',
+# with_parent: bool,
+# ):
+# if with_parent:
+# yield family, old_family,
+# if hasattr(family, 'variable'):
+# if not with_parent:
+# yield family
+# for fam in family.variable.values():
+# if isinstance(fam, self.objectspace.family):
+# yield from self._get_families(fam, family, with_parent)
+# if hasattr(family, 'variables'):
+# for fam in family.variables.values():
+# yield from self._get_families(fam, family, with_parent)
+#
+# def get_constraints(self,
+# create: bool=False,
+# path_prefix: str=None,
+# ):
+# if not self.objectspace.paths.has_path_prefix():
+# if hasattr(self.objectspace.space, 'constraints'):
+# yield None, self.objectspace.space.constraints
+# elif create:
+# self.objectspace.space.constraints = self.objectspace.constraints(None)
+# yield None, self.objectspace.space.constraints
+# else:
+# if path_prefix:
+# path_prefixes = [path_prefix]
+# else:
+# path_prefixes = self.objectspace.paths.get_path_prefixes()
+# for path_prefix in path_prefixes:
+# if hasattr(self.objectspace.space, 'variables') and \
+# path_prefix in self.objectspace.space.variables and \
+# hasattr(self.objectspace.space.variables[path_prefix], 'constraints'):
+# yield path_prefix, self.objectspace.space.variables[path_prefix].constraints
+# elif create:
+# self.objectspace.space.variables[path_prefix].constraints = self.objectspace.constraints(None)
+# yield path_prefix, self.objectspace.space.variables[path_prefix].constraints
class Annotator(Walk): # pylint: disable=R0903
@@ -135,7 +138,7 @@ class Annotator(Walk): # pylint: disable=R0903
objectspace,
*args,
):
- if not hasattr(objectspace.space, 'variables'):
+ if not objectspace.paths:
return
self.objectspace = objectspace
self.forbidden_name = ['services', self.objectspace.rougailconfig['variable_namespace']]
@@ -149,83 +152,72 @@ class Annotator(Walk): # pylint: disable=R0903
"""convert variable
"""
for variable in self.get_variables():
+ if variable.type == 'symlink':
+ continue
self._convert_variable(variable)
def _convert_variable(self,
- variable,
+ variable: dict,
) -> None:
- if variable.namespace == self.objectspace.rougailconfig['variable_namespace'] and \
- variable.name in self.forbidden_name:
- msg = _(f'the name of the variable "{variable.name}" cannot be the same as the name'
- ' of a namespace')
- raise DictConsistencyError(msg, 54, variable.xmlfiles)
- if variable.type != 'symlink' and not hasattr(variable, 'description'):
+ # variable without description: description is the name
+ if not variable.description:
variable.description = variable.name
- if hasattr(variable, 'value'):
- for idx, value in enumerate(variable.value):
- if not hasattr(value, 'name') and not hasattr(value, 'type'):
- msg = f'variable "{variable.name}" has a value without text, if you want the value None, set value type to nil'
- raise DictConsistencyError(msg, 95, value.xmlfiles)
- if not hasattr(value, 'type'):
- value.type = variable.type
- if hasattr(value, 'name'):
- try:
- value.name = CONVERT_OPTION.get(value.type, {}).get('func', str)(value.name)
- except Exception as err:
- msg = _(f'the variable "{variable.name}" has an incorrect value "{value.name}" with "{variable.type}" type')
- raise DictConsistencyError(msg, 88, variable.xmlfiles)
- else:
- value.name = None
- if not variable.value:
- del variable.value
- if hasattr(variable, 'choice'):
- if variable.type != 'choice':
- msg = _(f'choice for the variable "{variable.name}" not allowed with "{variable.type}" type')
- raise DictConsistencyError(msg, 3, variable.xmlfiles)
- values = []
- choice_type = None
- for choice in variable.choice:
- if choice_type == 'variable':
- msg = _(f'only one "variable" choice is allowed '
- f'the variable "{variable.name}"')
- raise DictConsistencyError(msg, 5, choice.xmlfiles)
- if choice.type == 'nil':
- choice.name = None
- elif choice.type == 'space':
- choice.name = ' '
- elif choice.type == 'variable':
- choice.name = self.objectspace.paths.get_variable(choice.name,
- variable.namespace,
- force_path_prefix=variable.path_prefix,
- )
- if not choice.name.multi:
- msg = _(f'only multi "variable" is allowed for a choice '
- f'of variable "{variable.name}"')
- raise DictConsistencyError(msg, 6, choice.xmlfiles)
- else:
- if not hasattr(choice, 'name'):
- msg = _(f'choice for variable "{variable.name}" must have a value')
- raise DictConsistencyError(msg, 14, choice.xmlfiles)
- choice.name = CONVERT_OPTION.get(choice.type, {}).get('func', str)(choice.name)
- if choice_type is None:
- choice_type = choice.type
- values.append(choice.name)
- if choice_type not in ['function', 'variable'] and hasattr(variable, 'value'):
- for value in variable.value:
- if value.name not in values:
- msg = _(f'value "{value.name}" of variable "{variable.name}" is not in list '
- f'of all expected values ({values})')
- raise DictConsistencyError(msg, 15, value.xmlfiles)
- ref_choice = variable.choice[0]
- self.objectspace.paths.set_valid_enums(variable.path,
- values,
- variable.path_prefix,
- )
- elif variable.type == 'choice':
- msg = _(f'choice is mandatory for the variable "{variable.name}" with choice type')
- raise DictConsistencyError(msg, 4, variable.xmlfiles)
- variable.doc = variable.description
- del variable.description
+ if variable.path in self.objectspace.followers:
+ if not variable.multi:
+ self.objectspace.multis[variable.path] = True
+ else:
+ self.objectspace.multis[variable.path] = 'submulti'
+ if self.objectspace.paths[variable.path.rsplit('.', 1)[0]].hidden:
+ self.objectspace.properties.append(variable.path, 'frozen')
+ self.objectspace.properties.append(variable.path, 'force_default_on_freeze')
+ elif variable.multi:
+ self.objectspace.multis[variable.path] = True
+ if variable.path in self.objectspace.leaders:
+ if not self.objectspace.multis.get(variable.path, False):
+ msg = _(f'the variable "{variable.name}" in a leadership must be multi')
+ raise DictConsistencyError(msg, 32, variable.xmlfiles)
+ family = self.objectspace.paths[variable.path.rsplit('.', 1)[0]]
+ if variable.hidden:
+ family.hidden = variable.hidden
+ elif family.hidden:
+ variable.hidden = family.hidden
+ if variable.hidden:
+ self.objectspace.properties.append(variable.path, 'frozen')
+ self.objectspace.properties.append(variable.path, 'force_default_on_freeze')
+ variable.hidden = None
+
+ #for idx, value in enumerate(variable.default):
+ # if not hasattr(value, 'name') and not hasattr(value, 'type'):
+ # msg = f'variable "{variable.name}" has a value without text, if you want the value None, set value type to nil'
+ # raise DictConsistencyError(msg, 95, value.xmlfiles)
+ # if not hasattr(value, 'type'):
+ # value.type = variable.type
+ # if hasattr(value, 'name'):
+ # try:
+ # value.name = CONVERT_OPTION.get(value.type, {}).get('func', str)(value.name)
+ # except Exception as err:
+ # msg = _(f'the variable "{variable.name}" has an incorrect value "{value.name}" with "{variable.type}" type')
+ # raise DictConsistencyError(msg, 88, variable.xmlfiles)
+ # else:
+ # value.name = None
+ #if not variable.value:
+ # del variable.value
+# if variable.type == 'choice':
+# choice_type = None
+# if isinstance(variable.choices, Calculation):
+# self.objectspace.choices.add(variable.path,
+# variable.choices.to_function(self.functions),
+# )
+# else:
+# for choice in variable.choices:
+# self.objectspace.choices.append(variable.path,
+# variable.choices,
+# )
+# elif variable.type == 'choice':
+# msg = _(f'choice is mandatory for the variable "{variable.name}" with choice type')
+# raise DictConsistencyError(msg, 4, variable.xmlfiles)
+# variable.doc = variable.description
+# del variable.description
def convert_test(self):
"""Convert variable tests value
@@ -241,17 +233,13 @@ class Annotator(Walk): # pylint: disable=R0903
else:
value = CONVERT_OPTION.get(variable.type, {}).get('func', str)(value)
new_values.append(value)
- if not hasattr(variable, 'information'):
- variable.information = self.objectspace.information(variable.xmlfiles)
- variable.information.test = tuple(new_values)
+ self.objectspace.informations.add(variable.path, 'test', tuple(new_values))
def convert_help(self):
"""Convert variable help
"""
for variable in self.get_variables():
- if not hasattr(variable, 'help'):
+ if not hasattr(variable, 'help') or not variable.help:
continue
- if not hasattr(variable, 'information'):
- variable.information = self.objectspace.information(variable.xmlfiles)
- variable.information.help = variable.help
+ self.objectspace.informations.add(variable.path, 'help', variable.help)
del variable.help
diff --git a/src/rougail/config.py b/src/rougail/config.py
index caa763501..56836db2a 100644
--- a/src/rougail/config.py
+++ b/src/rougail/config.py
@@ -37,6 +37,7 @@ DTDDIR = join(dirname(abspath(__file__)), 'data')
RougailConfig = {'dictionaries_dir': [join(ROUGAILROOT, 'dictionaries')],
'extra_dictionaries': {},
+ 'services_dir': [join(ROUGAILROOT, 'services')],
'patches_dir': join(ROUGAILROOT, 'patches'),
'templates_dir': join(ROUGAILROOT, 'templates'),
'destinations_dir': join(ROUGAILROOT, 'destinations'),
@@ -62,16 +63,17 @@ RougailConfig = {'dictionaries_dir': [join(ROUGAILROOT, 'dictionaries')],
'modes_level': ['basic', 'normal', 'expert'],
'default_family_mode': 'basic',
'default_variable_mode': 'normal',
- 'default_files_engine': 'cheetah',
+ 'default_files_engine': 'jinja',
'default_files_mode': 644,
'default_files_owner': 'root',
'default_files_group': 'root',
'default_files_included': 'no',
- 'default_overrides_engine': 'cheetah',
+ 'default_overrides_engine': 'jinja',
'default_service_names_engine': 'none',
- 'default_certificate_domain': 'server_name',
+ 'default_certificate_domain': 'rougail.server_name',
'base_option_name': 'baseoption',
'export_with_import': True,
'force_convert_dyn_option_description': False,
'suffix': '',
+ 'tiramisu_cache': None,
}
diff --git a/src/rougail/convert.py b/src/rougail/convert.py
index d98d05cb7..5bcb615fc 100644
--- a/src/rougail/convert.py
+++ b/src/rougail/convert.py
@@ -44,108 +44,1106 @@ The visit/annotation stage is a complex step that corresponds to the Rougail
procedures.
"""
-from typing import List
-from tiramisu import Config
+#from typing import List
+#from tiramisu import Config
+#
+#from .i18n import _
+#from .config import RougailConfig
+#from .objspace import RougailObjSpace
+#from .reflector import Reflector
+#from .tiramisureflector import TiramisuReflector
+#from .annotator import SpaceAnnotator
+#from .error import DictConsistencyError
+##from .providersupplier import provider_supplier
+#from .utils import normalize_family
+
+
+#class RougailConvert:
+# """Rougail object
+# """
+# def __init__(self,
+# rougailconfig: RougailConfig=None,
+# just_doc: bool=False,
+# ) -> None:
+# if rougailconfig is None:
+# rougailconfig = RougailConfig
+# self.rougailconfig = rougailconfig
+# xmlreflector = Reflector(self.rougailconfig)
+# self.rougailobjspace = RougailObjSpace(xmlreflector,
+# self.rougailconfig,
+# just_doc,
+# )
+# self.internal_functions = self.rougailconfig['internal_functions']
+# self.dictionaries = False
+# self.annotator = False
+# self.reflector = None
+#
+# def load_dictionaries(self,
+# path_prefix: str=None,
+# ) -> None:
+# self.rougailobjspace.paths.set_path_prefix(normalize_family(path_prefix))
+# self._load_dictionaries(self.rougailobjspace.xmlreflector,
+# self.rougailconfig['variable_namespace'],
+# self.rougailconfig['dictionaries_dir'],
+# path_prefix,
+# self.rougailconfig['variable_namespace_description'],
+# )
+# for namespace, extra_dir in self.rougailconfig['extra_dictionaries'].items():
+# if namespace in ['services', self.rougailconfig['variable_namespace']]:
+# msg = _(f'Namespace name "{namespace}" is not allowed')
+# raise DictConsistencyError(msg, 21, None)
+# self._load_dictionaries(self.rougailobjspace.xmlreflector,
+# namespace,
+# extra_dir,
+# path_prefix,
+# )
+## if hasattr(self.rougailobjspace.space, 'variables'):
+## provider_supplier(self.rougailobjspace,
+## path_prefix,
+## )
+# self.dictionaries = True
+#
+# def _load_dictionaries(self,
+# xmlreflector: Reflector,
+# namespace: str,
+# xmlfolders: List[str],
+# path_prefix: str,
+# namespace_description: str=None,
+# ) -> List[str]:
+# for xmlfile, document in xmlreflector.load_dictionaries_from_folders(xmlfolders, self.rougailobjspace.just_doc):
+# self.rougailobjspace.xml_parse_document(xmlfile,
+# document,
+# namespace,
+# namespace_description,
+# path_prefix,
+# )
+#
+# def annotate(self):
+# if self.annotator:
+# raise DictConsistencyError(_('Cannot execute annotate multiple time'), 85, None)
+# SpaceAnnotator(self.rougailobjspace)
+# self.annotator = True
+#
+# def reflexion(self,
+# exclude_imports: list=[],
+# ):
+# if not self.dictionaries:
+# self.load_dictionaries()
+# if not self.annotator:
+# self.annotate()
+# if self.reflector:
+# raise DictConsistencyError(_('Cannot execute reflexion multiple time'), 86, None)
+# functions_file = self.rougailconfig['functions_file']
+# if not isinstance(functions_file, list):
+# functions_file = [functions_file]
+# functions_file = [func for func in functions_file if func not in exclude_imports]
+# self.reflector = TiramisuReflector(self.rougailobjspace,
+# functions_file,
+# self.internal_functions,
+# self.rougailconfig,
+# )
+#
+# def save(self,
+# filename: str,
+# ) -> str:
+# """Return tiramisu object declaration as a string
+# """
+# if self.reflector is None:
+# self.reflexion()
+# output = self.reflector.get_text() + '\n'
+# if filename:
+# with open(filename, 'w') as tiramisu:
+# tiramisu.write(output)
+# return output
+
+
+
+
+
+
+
+
+
+
+from typing import Optional, Union, get_type_hints, Any, Literal, List, Dict
+from pydantic import BaseModel, StrictBool, StrictInt, StrictFloat, StrictStr
+from pydantic.error_wrappers import ValidationError
+
+from yaml import safe_load
+from os import listdir
+from os.path import join, isdir
-from .i18n import _
-from .config import RougailConfig
-from .objspace import RougailObjSpace
-from .reflector import Reflector
-from .tiramisureflector import TiramisuReflector
from .annotator import SpaceAnnotator
-from .error import DictConsistencyError
-from .providersupplier import provider_supplier
-from .utils import normalize_family
+from .tiramisureflector import TiramisuReflector
+from .utils import normalize_family, Calculation
-class RougailConvert:
- """Rougail object
- """
- def __init__(self,
- rougailconfig: RougailConfig=None,
- just_doc: bool=False,
- ) -> None:
- if rougailconfig is None:
- rougailconfig = RougailConfig
- self.rougailconfig = rougailconfig
- xmlreflector = Reflector(self.rougailconfig)
- self.rougailobjspace = RougailObjSpace(xmlreflector,
- self.rougailconfig,
- just_doc,
+BASETYPE_CALC = Union[StrictBool, StrictInt, StrictFloat, StrictStr, Calculation]
+
+
+#for typ, values in _VALIDATORS:
+# if typ in [bool, int, float, str]:
+# values.pop(0)
+
+
+class Family(BaseModel):
+ name: str
+ description: Optional[str]=None
+ type: Literal['family', 'leadership', 'dynamic']='family'
+ help: Optional[str]=None
+ mode: Optional[str]=None
+ hidden: Union[bool, Calculation]=False
+ disabled: Union[bool, Calculation]=False
+ xmlfiles: List[str]=[]
+ path: str
+ class Config:
+ arbitrary_types_allowed = True
+
+
+class Dynamic(Family):
+ variable: str
+
+
+class Variable(BaseModel):
+ name: str
+ type: Literal['number', 'float', 'string', 'password', 'secret', 'mail', 'boolean', 'filename', 'date', 'unix_user', 'ip', 'local_ip', 'netmask', 'network', 'broadcast', 'netbios', 'domainname', 'hostname', 'web_address', 'port', 'mac', 'cidr', 'network_cidr', 'choice', 'unix_permissions']='string'
+ description: Optional[str]=None
+ default: Union[BASETYPE_CALC, List[BASETYPE_CALC]]=None
+ validators: List[BASETYPE_CALC]=None
+ multi: bool=False
+ unique: Optional[bool]=None
+ help: Optional[str]=None
+ hidden: Union[bool, Calculation]=False
+ disabled: Union[bool, Calculation]=False
+ mandatory: Union[None, bool, Calculation]=None
+ auto_save: bool=False
+ mode: Optional[str]=None
+ #provider: Optional[str]=None
+ #supplier: Optional[str]=None
+ test: Any=None
+ xmlfiles: List[str]=[]
+ path: str
+ class Config:
+ arbitrary_types_allowed = True
+
+
+class Choice(Variable):
+ choices: Union[List[BASETYPE_CALC], Calculation]=None
+
+
+class SymLink(BaseModel):
+ name: str
+ type: str='symlink'
+ opt: Variable
+ xmlfiles: List[str]=[]
+ path: str
+
+
+class Service(BaseModel):
+ name: str
+ manage: bool=True
+ type: Literal['service', 'mount', 'swap', 'timer', 'target']='service'
+ disabled: Union[bool, Calculation]=False
+ engine: Optional[str]=None
+ target: Optional[str]=None
+ undisable: bool=False
+ xmlfiles: List[str]=[]
+ class Config:
+ arbitrary_types_allowed = True
+
+
+class IP(BaseModel):
+ name: str
+ netmask: Optional[str]=None
+ disabled: Union[bool, Calculation]=False
+ xmlfiles: List[str]=[]
+ class Config:
+ arbitrary_types_allowed = True
+
+
+class Certificate(BaseModel):
+ name: str
+ authority: str
+ mode: Optional[int]=None
+ owner: Union[None, str, Dict[str, str]]=None
+ group: Union[None, str, Dict[str, str]]=None
+ server: Union[None, str, Dict[str, str]]=None
+ domain: Union[None, str, Dict[str, str]]=None
+ provider: Optional[str]=None
+ format: Literal['cert_key', 'pem']='cert_key'
+ type: Literal['client', 'server']='client'
+ disabled: Union[bool, Calculation]=False
+ xmlfiles: List[str]=[]
+ class Config:
+ arbitrary_types_allowed = True
+
+
+class File(BaseModel):
+ name: str
+ type: Literal['string', 'variable']='string'
+ mode: Optional[int]=None
+ owner: Union[None, str, Dict[str, str]]=None
+ group: Union[None, str, Dict[str, str]]=None
+ source: Union[None, str, Dict[str, str]]=None
+ engine: Optional[str]=None
+ variable: Optional[str]=None
+ included: Literal['no', 'name', 'content']='no'
+ disabled: Union[bool, Calculation]=False
+ xmlfiles: List[str]=[]
+ class Config:
+ arbitrary_types_allowed = True
+
+
+class Override(BaseModel):
+ name: str
+ type: Literal['string', 'variable']='string'
+ source: Optional[str]=None
+ engine: Optional[str]=None
+ xmlfiles: List[str]=[]
+
+
+class Property:
+ def __init__(self) -> None:
+ self._properties = {}
+
+ def add(self,
+ path: str,
+ property_: str,
+ value: Union[True, Calculation],
+ ) -> None:
+ self._properties.setdefault(path, {})[property_] = value
+
+ def __getitem__(self,
+ path: str,
+ ) -> list:
+ return self._properties.get(path, {})
+
+ def __contains__(self,
+ path: str,
+ ) -> bool:
+ return path in self._properties
+
+
+#class Appendable:
+# def __init__(self) -> None:
+# self._data = {}
+#
+# def add(self,
+# path: str,
+# data: str,
+# ) -> None:
+# if path in self._data:
+# raise Exception('hu?')
+# self._data[path] = data
+#
+# def append(self,
+# path: str,
+# data: str,
+# ) -> None:
+# if path not in self._data:
+# self._data[path] = []
+# self._data[path].append(data)
+#
+# def __getitem__(self,
+# path: str,
+# ) -> list:
+# return self._data.get(path, [])
+#
+# def __contains__(self,
+# path: str,
+# ) -> bool:
+# return path in self._data
+
+
+class Paths:
+ def __init__(self) -> None:
+ self._data = {}
+ self._dynamics = []
+
+ def add(self,
+ path: str,
+ data: Any,
+ is_dynamic: bool,
+ force: bool=False,
+ ) -> None:
+ if not force and path in self._data:
+ raise Exception('pfff')
+ self._data[path] = data
+ if is_dynamic:
+ self._dynamics.append(path)
+
+ def get_with_dynamic(self,
+ path: str,
+ ) -> Any:
+ suffix = None
+ dynamic_path = None
+ if not path in self._data:
+ for dynamic in self._dynamics:
+ if path.startswith(dynamic):
+ subpaths = path[len(dynamic):].split('.')
+ if len(subpaths) > 1 and subpaths[0]:
+ dynamic_path = dynamic
+ suffix = subpaths[0]
+ len_suffix = len(suffix)
+ for subpath in subpaths[1:]:
+ if not subpath.endswith(suffix):
+ suffix = None
+ break
+ dynamic_path += '.' + subpath[:-len_suffix]
+ if dynamic_path not in self._dynamics:
+ suffix = None
+ break
+ if suffix:
+ break
+ if suffix is None and not path in self._data:
+ return None, None
+ if suffix:
+ path = dynamic_path
+ return self._data[path], suffix
+
+ def __getitem__(self,
+ path: str,
+ ) -> dict:
+ if not path in self._data:
+ raise Exception(f'cannot find variable or family {path}')
+ return self._data[path]
+
+ def __contains__(self,
+ path: str,
+ ) -> bool:
+ return path in self._data
+
+ def __delitem__(self,
+ path: str,
+ ) -> None:
+ del self._data[path]
+
+ def get(self):
+ return self._data.values()
+
+
+class Informations:
+ def __init__(self) -> None:
+ self._data = {}
+
+ def add(self,
+ path: str,
+ key: str,
+ data: Any,
+ ) -> None:
+ if data is None:
+ raise Exception('connard')
+ if path not in self._data:
+ self._data[path] = {}
+ if key in self._data[path]:
+ raise Exception(f'already key {key} in {path}')
+ self._data[path][key] = data
+
+ def get(self,
+ path: str,
+ ) -> List[str]:
+ return self._data.get(path, [])
+
+
+class ParserVariable:
+ def __init__(self):
+ self.paths = Paths()
+ self.families = []
+ self.variables = []
+ self.parents = {'.': []}
+ self.index = 0
+ self.reflector_names = {}
+ self.leaders = []
+ self.followers = []
+ self.multis = {}
+ self.default_multi = {}
+ self.jinja = {}
+ #
+ self.family = Family
+ self.dynamic = Dynamic
+ self.variable = Variable
+ self.choice = Choice
+ #FIXME
+ self.exclude_imports = []
+ self.informations = Informations()
+ self.properties = Property()
+ # self.choices = Appendable()
+ self.has_dyn_option = False
+ super().__init__()
+
+ def reflexion(self):
+ hint = get_type_hints(self.dynamic)
+ self.family_types = hint['type'].__args__
+ self.family_attrs = frozenset(set(hint) | {'redefine'} - {'name', 'path', 'xmlfiles'})
+ self.family_calculations = self.search_calculation(hint)
+ #
+ hint= get_type_hints(self.variable)
+ self.variable_types = hint['type'].__args__
+ #
+ hint= get_type_hints(self.choice)
+ self.choice_attrs = frozenset(set(hint) | {'redefine', 'exists'} - {'name', 'path', 'xmlfiles'})
+ self.choice_calculations = self.search_calculation(hint)
+ super().reflexion()
+
+ def parse_variable_file(self,
+ filename: str,
+ namespace: str,
+# description: str,
+ ) -> None:
+ with open(filename) as o:
+ objects = safe_load(o)
+ self.validate_file_version(objects)
+ self.parse_family(filename, namespace, '.', namespace, {})
+ for name, obj in objects.items():
+ self.family_or_variable(filename,
+ name,
+ namespace,
+ obj,
+ )
+
+ def get_family_or_variable_type(self,
+ obj: dict,
+ ) -> Optional[str]:
+ if '_type' in obj:
+ # only variable and family has _type attributs
+ return obj['_type']
+ if 'type' in obj and \
+ isinstance(obj['type'], str):
+ return obj['type']
+ return
+
+ def family_or_variable(self,
+ filename: str,
+ name: str,
+ subpath: str,
+ obj: Optional[dict],
+ first_variable: bool=False,
+ family_is_leadership: bool=False,
+ family_is_dynamic: bool=False,
+ ) -> None:
+ if subpath:
+ path = f'{subpath}.{name}'
+ else:
+ path = name
+ if obj is None:
+ obj = {}
+ typ = self.is_family_or_variable(path,
+ obj,
+ family_is_leadership,
+ )
+ if typ == 'family':
+ parser = self.parse_family
+ else:
+ parser = self.parse_variable
+ if name.startswith('_'):
+ raise Exception('forbidden!')
+ parser(filename,
+ name,
+ subpath,
+ path,
+ obj,
+ first_variable,
+ family_is_leadership,
+ family_is_dynamic,
+ )
+
+ def is_family_or_variable(self,
+ path: str,
+ obj: dict,
+ family_is_leadership: bool,
+ ) -> bool:
+ # it's already has a variable or a family
+ if path in self.paths:
+ if path in self.families:
+ return 'family'
+ return 'variable'
+ # it's:
+ # my_variable:
+ if not obj:
+ return 'variable'
+ # it has a type:
+ # my_variable:
+ # type: string
+ obj_type = self.get_family_or_variable_type(obj)
+ if obj_type:
+ if obj_type in self.family_types:
+ return 'family'
+ if obj_type in self.variable_types:
+ return 'variable'
+ raise Exception(f'unknown type {obj_type}')
+ # variable is in a leadership
+ if family_is_leadership:
+ return 'variable'
+ # all attributes are in variable object
+ extra_keys = set(obj) - self.choice_attrs
+ if not extra_keys:
+ return 'variable'
+ # check all attributs not known in family
+ for key in set(obj) - self.family_attrs:
+ # family attribute can start with '_'
+ if key.startswith('_') and key[1:] in self.family_attrs:
+ continue
+ value = obj[key]
+ # a variable or a family is a dict (or None)
+ if value is not None and not isinstance(value, dict):
+ raise Exception(f'cannot determine if "{path}" is a variable or a family')
+ return 'family'
+
+ def parse_family(self,
+ filename: str,
+ name: str,
+ subpath: str,
+ path: str,
+ family: dict,
+ first_variable: bool=False,
+ family_is_leadership: bool=False,
+ family_is_dynamic: bool=False,
+ ) -> None:
+ family_obj = {}
+ subfamily_obj = {}
+ force_to_attrs = []
+ force_to_variable = []
+ for key, value in family.items():
+ if key in force_to_variable:
+ continue
+ if key.startswith('_'):
+ true_key = key[1:]
+ force_to_attrs.append(key)
+ if true_key in family:
+ force_to_variable.append(true_key)
+ elif key not in self.family_attrs:
+ force_to_variable.append(key)
+ elif isinstance(value, dict):
+ value_type = self.get_family_or_variable_type(value)
+ if obj_type:
+ force_to_variable.append(key)
+ elif 'type' in value:
+ force_to_attrs.append(key)
+ else:
+ force_to_variable.append(key)
+ else:
+ force_to_attrs.append(key)
+ for key, value in family.items():
+ if key in force_to_attrs:
+ if key.startswith('_'):
+ key = key[1:]
+ family_obj[key] = value
+ else:
+ subfamily_obj[key] = value
+ if path in self.paths:
+ if family_obj:
+ if not family.pop('redefine', False):
+ raise Exception('pfff')
+ self.paths.add(path,
+ self.paths[path].copy(update=family),
+ force=True,
+ )
+ self.paths[path].xmlfiles.append(filename)
+ force_not_first = True
+ if self.paths[path].type == 'dynamic':
+ family_is_dynamic = True
+ else:
+ if 'redefine' in family and family['redefine']:
+ raise Exception(f'cannot redefine the inexisting family "{path}" in {filename}')
+ extra_attrs = set(family_obj) - self.family_attrs
+ if extra_attrs:
+ raise Exception(f'extra attrs ... {extra_attrs}')
+ if self.get_family_or_variable_type(family_obj) == 'dynamic':
+ family_is_dynamic = True
+ self.add_family(subpath,
+ path,
+ name,
+ family_obj,
+ filename,
+ family_is_dynamic,
+ )
+ force_not_first = False
+ if self.paths[path].type == 'leadership':
+ family_is_leadership = True
+ for idx, key in enumerate(subfamily_obj):
+ value = subfamily_obj[key]
+ if not isinstance(value, dict) and value is not None:
+ raise Exception(f'pfff {key}')
+ first_variable = not force_not_first and idx == 0
+ self.family_or_variable(filename,
+ key,
+ path,
+ value,
+ first_variable,
+ family_is_leadership,
+ family_is_dynamic,
+ )
+
+ def add_family(self,
+ subpath: str,
+ path: str,
+ name: str,
+ family: dict,
+ filename: str,
+ family_is_dynamic: bool,
+ ) -> None:
+ family['path'] = path
+ if not isinstance(filename, list):
+ filename = [filename]
+ family['xmlfiles'] = filename
+ if family_is_dynamic:
+ family_obj = self.dynamic
+ else:
+ family_obj = self.family
+ for key, value in family.items():
+ if isinstance(value, dict) and key in self.family_calculations:
+ family[key] = Calculation('family',
+ key,
+ path,
+ value,
+ filename,
+ self,
+ False,
+ )
+ try:
+ self.paths.add(path,
+ family_obj(name=name, **family),
+ family_is_dynamic,
+ )
+ except ValidationError as err:
+ raise Exception(f'invalid family "{path}" in "{filename}": {err}')
+ self.set_name(self.paths[path], 'optiondescription_')
+ self.parents[subpath].append(path)
+ self.parents[path] = []
+ self.families.append(path)
+
+ def parse_variable(self,
+ filename: str,
+ name: str,
+ subpath: str,
+ path: str,
+ variable: dict,
+ first_variable: bool,
+ family_is_leadership: bool,
+ family_is_dynamic: bool,
+ ) -> None:
+ extra_attrs = set(variable) - self.choice_attrs
+ if extra_attrs:
+ raise Exception(f'extra attrs ... {extra_attrs}')
+ for key, value in variable.items():
+ #if key == 'choices':
+ # force_multi = True
+ #elif key == 'validators':
+ # force_multi = False
+ #else:
+ # force_multi = None
+ if isinstance(value, dict) and key in self.choice_calculations:
+ variable[key] = Calculation('variable',
+ key,
+ path,
+ value,
+ filename,
+ self,
+ False,
+ )
+ if isinstance(value, list):
+ for idx, val in enumerate(value):
+ if isinstance(val, dict):
+ variable[key][idx] = Calculation('variable',
+ key,
+ path,
+ val,
+ filename,
+ self,
+ True,
+ )
+# type_of_calculation = None
+# datas = {}
+# params = []
+# for val in value:
+# if isinstance(val, dict):
+# if 'type' not in val:
+# raise Exception(f'the variable "{path}" in "{filename}" must have a "type" attribute for "{key}"')
+# if val['type'] != 'variable':
+# raise Exception(f'the variable "{path}" in "{filename}" must not have a "type" attribute with value "{val["type"]}" for "{key}"')
+# if not type_of_calculation:
+# type_of_calculation = val['type']
+# datas['type'] = val['type']
+# datas[val['type']] = val[val['type']]
+# datas['params'] = {None: []}
+# else:
+# params.append({val['type']: val[val['type']]})
+# else:
+# params.append(val)
+# if type_of_calculation:
+# datas['params'][None] = params
+# force_multi = key == 'choices'
+# variable[key] = Calculation('variable',
+# key,
+# path,
+# datas,
+# filename,
+# self,
+# force_multi,
+# )
+ if path in self.paths:
+ if 'exists' in variable and not variable['exists']:
+ return
+ if not variable.pop('redefine', False):
+ raise Exception('pfff')
+ self.paths.add(path, self.paths[path].copy(update=variable), False, force=True)
+ self.paths[path].xmlfiles.append(filename)
+ else:
+ if 'exists' in variable and variable.pop('exists'):
+ # this variable must exist
+ # but it's not the case
+ # so do nothing
+ return
+ if 'redefine' in variable and variable['redefine']:
+ raise Exception(f'cannot redefine the inexisting variable "{path}" in {filename}')
+ self.add_variable(subpath,
+ path,
+ name,
+ variable,
+ filename,
+ family_is_dynamic,
+ )
+ if family_is_leadership:
+ if first_variable:
+ self.leaders.append(path)
+ else:
+ self.followers.append(path)
+
+ def add_variable(self,
+ subpath: str,
+ path: str,
+ name: str,
+ variable: dict,
+ filename: str,
+ family_is_dynamic: bool,
+ ) -> None:
+ variable['path'] = path
+ if not isinstance(filename, list):
+ filename = [filename]
+ variable['xmlfiles'] = filename
+ try:
+ if self.get_family_or_variable_type(variable) == 'symlink':
+ variable_obj = SymLink(name=name, **variable)
+ elif self.get_family_or_variable_type(variable) == 'choice':
+ variable_obj = self.choice(name=name, **variable)
+ else:
+ variable_obj = self.variable(name=name, **variable)
+ except ValidationError as err:
+ raise Exception(f'invalid variable "{path}" in "{filename}": {err}')
+ self.paths.add(path,
+ variable_obj,
+ family_is_dynamic,
+ )
+ self.variables.append(path)
+ self.parents[subpath].append(path)
+ self.set_name(variable_obj, 'option_')
+
+ def del_family(self,
+ path: str,
+ ) -> None:
+ del self.paths[path]
+ self.families.remove(path)
+ del self.parents[path]
+ parent = path.rsplit('.', 1)[0]
+ self.parents[parent].remove(path)
+
+
+class ParserService:
+ def __init__(self):
+ self.service = Service
+ self.ip = IP
+ self.certificate = Certificate
+ self.file = File
+ self.override = Override
+ self.services = {}
+ self.ips = {}
+ self.certificates = {}
+ self.files = {}
+ self.overrides = {}
+
+ def reflexion(self):
+ hint = get_type_hints(self.service)
+ self.service_attrs = frozenset(set(hint) | {'redefine', 'type'} - {'name', 'xmlfiles'})
+ self.service_calculations = self.search_calculation(hint)
+ #
+ hint = get_type_hints(self.ip)
+ self.ip_attrs = frozenset(set(hint) - {'name', 'xmlfiles'})
+ self.ip_calculations = self.search_calculation(hint)
+ #
+ hint = get_type_hints(self.certificate)
+ self.certificate_attrs = frozenset(set(hint) | {'redefine'} - {'name', 'xmlfiles'})
+ self.certificate_calculations = self.search_calculation(hint)
+ #
+ hint = get_type_hints(self.file)
+ self.file_attrs = frozenset(set(hint) | {'redefine'} - {'name', 'xmlfiles'})
+ self.file_calculations = self.search_calculation(hint)
+ #
+ hint = get_type_hints(self.override)
+ self.override_attrs = frozenset(set(hint) - {'name', 'xmlfiles'})
+ self.override_calculations = self.search_calculation(hint)
+
+ def parse_service_file(self,
+ filename: str,
+ ) -> None:
+ with open(filename) as o:
+ objects = safe_load(o)
+ self.validate_file_version(objects)
+ for name, obj in objects.items():
+ self.parse_service(filename,
+ name,
+ obj,
+ )
+
+ def parse_service(self,
+ filename: str,
+ name: str,
+ service: dict,
+ ) -> None:
+ service_obj = {}
+ subservice_obj = {}
+ force_to_variable = []
+ force_to_attrs = []
+ for key, value in service.items():
+ if key in force_to_variable:
+ continue
+ if key.startswith('_'):
+ true_key = key[1:]
+ force_to_attrs.append(key)
+ if true_key in family:
+ force_to_variable.append(true_key)
+ elif key not in self.service_attrs:
+ force_to_variable.append(key)
+ #hu? variable here?
+ elif 'type' in value and value['type'] in self.family_types or value['type'] in self.variable_types:
+ force_to_variable.append(key)
+ else:
+ force_to_attrs.append(key)
+ for key, value in service.items():
+ if key in force_to_attrs:
+ if key.startswith('_'):
+ key = key[1:]
+ service_obj[key] = value
+ else:
+ subservice_obj[key] = value
+ if name in self.services:
+ if service_obj:
+ if not service.pop('redefine', False):
+ raise Exception('pfff')
+ self.services[name] = self.services[name].copy(update=service)
+ else:
+ if '.' not in name:
+ raise Exception('pffff')
+ extra_attrs = set(service_obj) - self.service_attrs
+ if extra_attrs:
+ raise Exception(f'extra attrs ... {extra_attrs}')
+ service_obj['type'] = name.rsplit('.')[1]
+ for key, value in service_obj.items():
+ if isinstance(value, dict) and key in self.service_calculations:
+ service_obj[key] = Calculation('service',
+ key,
+ f'services.{name}',
+ value,
+ filename,
+ self,
+ False,
+ )
+ try:
+ self.services[name] = self.service(name=name, **service_obj)
+ except ValidationError as err:
+ raise Exception(f'invalid service "{name}" in "{filename}": {err}')
+ self.services[name].xmlfiles.append(filename)
+ for key, value in subservice_obj.items():
+ if key == 'override':
+ getattr(self, f'parse_service_{key}')(key, value, f'services.{normalize_family(name)}', filename)
+ else:
+ if not isinstance(value, dict):
+ raise Exception(f'pfff {key}')
+ for subname, subvalue in value.items():
+ getattr(self, f'parse_service_{key}')(subname, subvalue, f'services.{normalize_family(name)}', filename)
+
+ def parse_service_ip(self,
+ name: str,
+ ip: dict,
+ path: str,
+ filename: str,
+ ) -> None:
+ extra_attrs = set(ip) - self.ip_attrs
+ if extra_attrs:
+ raise Exception(f'extra attrs ... {extra_attrs}')
+ for key, value in ip.items():
+ if isinstance(value, dict) and key in self.ip_calculations:
+ ip[key] = Calculation('ip',
+ key,
+ path,
+ value,
+ filename,
+ self,
+ False,
+ )
+ try:
+ self.ips.setdefault(path, []).append(self.ip(name=name, **ip))
+ except ValidationError as err:
+ raise Exception(f'invalid IP "{path}" in "{filename}": {err}')
+ self.ips[path][-1].xmlfiles.append(filename)
+
+ def parse_service_certificates(self,
+ name: str,
+ certificate: dict,
+ path: str,
+ filename: str,
+ ) -> None:
+ extra_attrs = set(certificate) - self.certificate_attrs
+ if extra_attrs:
+ raise Exception(f'extra attrs ... {extra_attrs}')
+ for key, value in certificate.items():
+ if isinstance(value, dict) and key in self.certificate_calculations:
+ certificate[key] = Calculation('certificate',
+ key,
+ path,
+ value,
+ filename,
+ self,
+ False,
)
- self.internal_functions = self.rougailconfig['internal_functions']
- self.dictionaries = False
+ try:
+ self.certificates.setdefault(path, []).append(self.certificate(name=name, **certificate))
+ except ValidationError as err:
+ raise Exception(f'invalid certificate "{path}" in "{filename}": {err}')
+ self.certificates[path][-1].xmlfiles.append(filename)
+
+ def parse_service_files(self,
+ name: str,
+ file: dict,
+ path: str,
+ filename: str,
+ ) -> None:
+ extra_attrs = set(file) - self.file_attrs
+ if extra_attrs:
+ raise Exception(f'extra attrs ... {extra_attrs}')
+ for key, value in file.items():
+ if isinstance(value, dict) and key in self.file_calculations:
+ file[key] = Calculation('file',
+ key,
+ path,
+ value,
+ filename,
+ self,
+ False,
+ )
+ try:
+ self.files.setdefault(path, []).append(self.file(name=name, **file))
+ except ValidationError as err:
+ raise Exception(f'invalid file "{path}" in "{filename}": {err}')
+ self.files[path][-1].xmlfiles.append(filename)
+
+ def parse_service_override(self,
+ name: str,
+ override: dict,
+ path: str,
+ filename: str,
+ ) -> None:
+ if override:
+ extra_attrs = set(override) - self.override_attrs
+ if extra_attrs:
+ raise Exception(f'extra attrs ... {extra_attrs}')
+ self.overrides.setdefault(path, []).append(self.override(name=name, **override))
+ else:
+ self.overrides.setdefault(path, []).append(self.override(name=name))
+ self.overrides[path][-1].xmlfiles.append(filename)
+
+
+class RougailConvert(ParserVariable, ParserService):
+ supported_version = ['1.0']
+
+ def __init__(self,
+ rougailconfig: 'RougailConfig'
+ ) -> None:
+ # FIXME useful?
self.annotator = False
self.reflector = None
+ self.rougailconfig = rougailconfig
+ super().__init__()
- def load_dictionaries(self,
- path_prefix: str=None,
- ) -> None:
- self.rougailobjspace.paths.set_path_prefix(normalize_family(path_prefix))
- self._load_dictionaries(self.rougailobjspace.xmlreflector,
- self.rougailconfig['variable_namespace'],
- self.rougailconfig['dictionaries_dir'],
- path_prefix,
- self.rougailconfig['variable_namespace_description'],
- )
- for namespace, extra_dir in self.rougailconfig['extra_dictionaries'].items():
- if namespace in ['services', self.rougailconfig['variable_namespace']]:
- msg = _(f'Namespace name "{namespace}" is not allowed')
- raise DictConsistencyError(msg, 21, None)
- self._load_dictionaries(self.rougailobjspace.xmlreflector,
- namespace,
- extra_dir,
- path_prefix,
- )
- if hasattr(self.rougailobjspace.space, 'variables'):
- provider_supplier(self.rougailobjspace,
- path_prefix,
- )
- self.dictionaries = True
-
- def _load_dictionaries(self,
- xmlreflector: Reflector,
- namespace: str,
- xmlfolders: List[str],
- path_prefix: str,
- namespace_description: str=None,
+ def search_calculation(self,
+ hint: dict,
) -> List[str]:
- for xmlfile, document in xmlreflector.load_dictionaries_from_folders(xmlfolders, self.rougailobjspace.just_doc):
- self.rougailobjspace.xml_parse_document(xmlfile,
- document,
- namespace,
- namespace_description,
- path_prefix,
- )
+ return [key for key, value in hint.items() if 'Union' in value.__class__.__name__ and Calculation in value.__args__]
+
+ def reflexion(self):
+ super().reflexion()
+ self.parse_directories()
+ self.annotate()
+ self.reflect()
+
+ def parse_directories(self) -> None:
+ for filename in self.get_sorted_filename(self.rougailconfig['dictionaries_dir']):
+ namespace = self.rougailconfig['variable_namespace']
+ self.parse_variable_file(filename,
+ namespace,
+# self.rougailconfig['variable_namespace_description'],
+ )
+ for namespace, extra_dirs in self.rougailconfig['extra_dictionaries'].items():
+ for filename in self.get_sorted_filename(extra_dirs):
+ self.parse_variable_file(filename,
+ namespace,
+# namespace,
+ )
+ for filename in self.get_sorted_filename(self.rougailconfig['services_dir']):
+ self.parse_service_file(filename)
+
+ def get_sorted_filename(self,
+ directories: Union[str, List[str]],
+ ) -> List[str]:
+ filenames = {}
+ if not isinstance(directories, list):
+ directories = [directories]
+ for directory in directories:
+ if not isdir(directory):
+ continue
+ for filename in listdir(directory):
+ if not filename.endswith('.yml'):
+ continue
+ full_filename = join(directory, filename)
+ if filename in filenames:
+ raise DictConsistencyError(_(f'duplicate dictionary file name {filename}'), 78, [filenames[filename][1], full_filename])
+ filenames[filename] = full_filename
+ for filename in sorted(filenames):
+ yield filenames[filename]
+
+ def validate_file_version(self,
+ obj: dict,
+ ) -> None:
+ if 'version' not in obj:
+ raise Exception('version ...')
+ version = obj.pop('version')
+ if version not in self.supported_version:
+ raise Exception(f'pffff version ... {version} not in {self.supported_version}')
+
+ def set_name(self,
+ obj,
+ option_prefix,
+ ):
+ self.index += 1
+ self.reflector_names[obj.path] = f'{option_prefix}{self.index}{self.rougailconfig["suffix"]}'
def annotate(self):
if self.annotator:
raise DictConsistencyError(_('Cannot execute annotate multiple time'), 85, None)
- SpaceAnnotator(self.rougailobjspace)
+ SpaceAnnotator(self)
self.annotator = True
- def reflexion(self,
- exclude_imports: list=[],
- ):
- if not self.dictionaries:
- self.load_dictionaries()
- if not self.annotator:
- self.annotate()
- if self.reflector:
- raise DictConsistencyError(_('Cannot execute reflexion multiple time'), 86, None)
+ def reflect(self):
functions_file = self.rougailconfig['functions_file']
if not isinstance(functions_file, list):
functions_file = [functions_file]
- functions_file = [func for func in functions_file if func not in exclude_imports]
- self.reflector = TiramisuReflector(self.rougailobjspace,
+ functions_file = [func for func in functions_file if func not in self.exclude_imports]
+ self.reflector = TiramisuReflector(self,
functions_file,
- self.internal_functions,
- self.rougailconfig,
)
def save(self,
- filename: str,
- ) -> str:
+ filename: None,
+ ) -> 'OptionDescription':
"""Return tiramisu object declaration as a string
"""
if self.reflector is None:
@@ -154,4 +1152,5 @@ class RougailConvert:
if filename:
with open(filename, 'w') as tiramisu:
tiramisu.write(output)
+ print(output)
return output
diff --git a/src/rougail/objspace.py b/src/rougail/objspace.py
index 7eb0db904..b5176138e 100644
--- a/src/rougail/objspace.py
+++ b/src/rougail/objspace.py
@@ -92,9 +92,10 @@ def convert_boolean(value: str) -> bool:
"""
if isinstance(value, bool):
return value
- if value == 'True':
+ value = value.lower()
+ if value == 'true':
return True
- elif value == 'False':
+ elif value == 'false':
return False
raise Exception(f'unknown boolean value {value}')
@@ -587,24 +588,24 @@ class RougailObjSpace:
getattr(space, child.tag).append(variableobj)
else:
setattr(space, child.tag, variableobj)
-
-
-def get_variables(objectspace):
- """Iter all variables from the objectspace
- """
- if not hasattr(objectspace.space, 'variables'):
- return
- for family in objectspace.space.variables.values():
- yield from _get_variables(family, objectspace.family)
-
-
-def _get_variables(family, family_type):
- if hasattr(family, 'variable'):
- for variable in family.variable.values():
- if isinstance(variable, family_type):
- yield from _get_variables(variable, family_type)
- else:
- yield variable
- if hasattr(family, 'variables'):
- for family in family.variables.values():
- yield from _get_variables(family, family_type)
+#
+#
+#def get_variables(objectspace):
+# """Iter all variables from the objectspace
+# """
+# if not hasattr(objectspace.space, 'variables'):
+# return
+# for family in objectspace.space.variables.values():
+# yield from _get_variables(family, objectspace.family)
+#
+#
+#def _get_variables(family, family_type):
+# if hasattr(family, 'variable'):
+# for variable in family.variable.values():
+# if isinstance(variable, family_type):
+# yield from _get_variables(variable, family_type)
+# else:
+# yield variable
+# if hasattr(family, 'variables'):
+# for family in family.variables.values():
+# yield from _get_variables(family, family_type)
diff --git a/src/rougail/providersupplier.py b/src/rougail/providersupplier.py
index 59365929d..35b9e12b4 100644
--- a/src/rougail/providersupplier.py
+++ b/src/rougail/providersupplier.py
@@ -16,26 +16,26 @@ You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
"""
-from rougail.objspace import get_variables
-from rougail.utils import normalize_family
-
-
-def provider_supplier(objectspace,
- path_prefix,
- ):
- n_path_prefix = normalize_family(path_prefix)
- for variable in get_variables(objectspace):
- if variable.path_prefix != n_path_prefix:
- continue
- if hasattr(variable, 'provider'):
- family_name, variable.name = variable.path.rsplit('.', 1)
- objectspace.paths.set_provider(variable,
- variable.name,
- family_name,
- )
- if hasattr(variable, 'supplier'):
- family_name, variable.name = variable.path.rsplit('.', 1)
- objectspace.paths.set_supplier(variable,
- variable.name,
- family_name,
- )
+#from rougail.objspace import get_variables
+#from rougail.utils import normalize_family
+#
+#
+#def provider_supplier(objectspace,
+# path_prefix,
+# ):
+# n_path_prefix = normalize_family(path_prefix)
+# for variable in get_variables(objectspace):
+# if variable.path_prefix != n_path_prefix:
+# continue
+# if hasattr(variable, 'provider'):
+# family_name, variable.name = variable.path.rsplit('.', 1)
+# objectspace.paths.set_provider(variable,
+# variable.name,
+# family_name,
+# )
+# if hasattr(variable, 'supplier'):
+# family_name, variable.name = variable.path.rsplit('.', 1)
+# objectspace.paths.set_supplier(variable,
+# variable.name,
+# family_name,
+# )
diff --git a/src/rougail/template/engine/__init__.py b/src/rougail/template/engine/__init__.py
index 02e371ea3..3dc9d4e28 100644
--- a/src/rougail/template/engine/__init__.py
+++ b/src/rougail/template/engine/__init__.py
@@ -1,4 +1,20 @@
-from . import none, cheetah, jinja, creole_legacy
-
-
-__all__ = ('none', 'cheetah', 'jinja', 'creole_legacy')
+MODULES = ['none']
+from . import none
+try:
+ from . import cheetah
+ MODULES.append('cheetah')
+except ImportError:
+ pass
+try:
+ from . import creole_legacy
+ MODULES.append('creole_legacy')
+except ImportError:
+ pass
+try:
+ from . import jinja
+ MODULES.append('jinja')
+except ImportError:
+ pass
+
+
+__all__ = tuple(MODULES)
diff --git a/src/rougail/tiramisureflector.py b/src/rougail/tiramisureflector.py
index 68cc2716f..0a264c9c4 100644
--- a/src/rougail/tiramisureflector.py
+++ b/src/rougail/tiramisureflector.py
@@ -35,13 +35,14 @@ from .i18n import _
from .annotator import CONVERT_OPTION
from .objspace import RootRougailObject
from .error import DictConsistencyError
-from .utils import normalize_family
+from .utils import normalize_family, Calculation
class BaseElt: # pylint: disable=R0903
"""Base element
"""
path = '.'
+ type = 'family'
def sorted_func_name(func_name):
@@ -56,21 +57,28 @@ class TiramisuReflector:
def __init__(self,
objectspace,
funcs_paths,
- internal_functions,
- cfg,
):
- self.cfg = cfg
+ self.rougailconfig = objectspace.rougailconfig
self.jinja_added = False
+ self.reflector_objects = {}
self.text = {'header': [],
'option': [],
- 'optiondescription': [],
}
+ if self.rougailconfig['export_with_import']:
+ if self.rougailconfig['internal_functions']:
+ for func in self.rougailconfig['internal_functions']:
+ self.text['header'].append(f"func[func] = func")
+ self.text['header'].extend(["from tiramisu import *",
+ "from tiramisu.setting import ALLOWED_LEADER_PROPERTIES",
+ ])
+ for mode in self.rougailconfig["modes_level"]:
+ self.text['header'].append(f'ALLOWED_LEADER_PROPERTIES.add("{mode}")')
if funcs_paths:
- if self.cfg['export_with_import']:
+ if self.rougailconfig['export_with_import']:
self.text['header'].extend(["from importlib.machinery import SourceFileLoader as _SourceFileLoader",
"from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec",
- "class func:",
- " pass",
+ "global func",
+ "func = {'calc_value': calc_value}",
"",
"def _load_functions(path):",
" global _SourceFileLoader, _spec_from_loader, _module_from_spec, func",
@@ -81,39 +89,27 @@ class TiramisuReflector:
" for function in dir(func_):",
" if function.startswith('_'):",
" continue",
- " setattr(func, function, getattr(func_, function))",
+ " func[function] = getattr(func_, function)",
])
for funcs_path in sorted(funcs_paths, key=sorted_func_name):
if not isfile(funcs_path):
continue
self.text['header'].append(f"_load_functions('{funcs_path}')")
- if self.cfg['export_with_import']:
- if internal_functions:
- for func in internal_functions:
- self.text['header'].append(f"setattr(func, '{func}', {func})")
- self.text['header'].extend(["try:",
- " from tiramisu4 import *",
- " from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES",
- "except:",
- " from tiramisu import *",
- " from tiramisu.setting import ALLOWED_LEADER_PROPERTIES",
- ])
- for mode in objectspace.rougailconfig["modes_level"]:
- self.text['header'].append(f'ALLOWED_LEADER_PROPERTIES.add("{mode}")')
self.objectspace = objectspace
self.make_tiramisu_objects()
- if self.cfg['export_with_import'] and (self.cfg['force_convert_dyn_option_description'] or self.objectspace.has_dyn_option is True):
+ if self.rougailconfig['export_with_import'] and (self.rougailconfig['force_convert_dyn_option_description'] or self.objectspace.has_dyn_option is True):
self.text['header'].append("from rougail.tiramisu import ConvertDynOptionDescription")
+ for key, value in self.objectspace.jinja.items():
+ self.add_jinja_to_function(key, value)
- def add_jinja_to_function(self,
- variable_name: str,
- jinja: str,
- ) -> None:
+ def add_jinja_support(self):
if not self.jinja_added:
self.text['header'].extend(["from jinja2 import StrictUndefined, DictLoader",
"from jinja2.sandbox import SandboxedEnvironment",
"from rougail.annotator.variable import CONVERT_OPTION",
+ "from tiramisu.error import ValueWarning",
"def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):",
+ " global ENV, CONVERT_OPTION",
" kw = {}",
" for key, value in kwargs.items():",
" if '.' in key:",
@@ -124,21 +120,38 @@ class TiramisuReflector:
" c_kw[var] = value",
" else:",
" kw[key] = value",
- " values = ENV.get_template(__internal_jinja).render(kw)",
+ " values = ENV.get_template(__internal_jinja).render(kw, **func).strip()",
" convert = CONVERT_OPTION[__internal_type].get('func', str)",
" if __internal_multi:",
- " return [convert(val) for val in values.split(',')]",
- " return convert(values)",
- "def valid_with_jinja(value, **kwargs):",
- " kwargs[kwargs.pop('__internal_key')] = value",
- " value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)",
+ " return [convert(val) for val in values.split()]",
+ " values = convert(values)",
+ " return values if values != '' else None",
+ "def variable_to_property(prop, value):",
+ " return prop if value else None",
+ "def jinja_to_property(prop, **kwargs):",
+ " value = func['jinja_to_function'](**kwargs)",
+ " return func['variable_to_property'](prop, value)",
+ "def valid_with_jinja(warning=False, **kwargs):",
+ " global ValueWarning",
+ " value = func['jinja_to_function'](**kwargs)",
" if value:",
- " raise ValueError(value)",
- "func.jinja_to_function = jinja_to_function",
- "func.valid_with_jinja = valid_with_jinja",
+ " if warning:",
+ " raise ValueWarning(value)",
+ " else:",
+ " raise ValueError(value)",
+ "func['jinja_to_function'] = jinja_to_function",
+ "func['jinja_to_property'] = jinja_to_property",
+ "func['variable_to_property'] = variable_to_property",
+ "func['valid_with_jinja'] = valid_with_jinja",
"dict_env = {}",
])
self.jinja_added = True
+
+ def add_jinja_to_function(self,
+ variable_name: str,
+ jinja: str,
+ ) -> None:
+ self.add_jinja_support()
jinja_text = dumps(jinja, ensure_ascii=False)
self.text['header'].append(f"dict_env['{variable_name}'] = {jinja_text}")
@@ -146,20 +159,30 @@ class TiramisuReflector:
"""make tiramisu objects
"""
baseelt = BaseElt()
- baseelt.reflector_name = f'option_0{self.objectspace.rougailconfig["suffix"]}'
- self.set_name(baseelt)
+ self.objectspace.reflector_names[baseelt.path] = f'option_0{self.rougailconfig["suffix"]}'
basefamily = Family(baseelt,
self,
)
- if not self.objectspace.paths.has_path_prefix():
- for elt in self.reorder_family(self.objectspace.space):
- self.populate_family(basefamily,
- elt,
- )
- if not hasattr(basefamily.elt, 'information'):
- basefamily.elt.information = self.objectspace.information(None)
- basefamily.elt.information = self.objectspace.paths.get_providers_path()
- basefamily.elt.information.update(self.objectspace.paths.get_suppliers_path())
+ #FIXMEif not self.objectspace.paths.has_path_prefix():
+ if 1:
+# for elt in self.reorder_family(self.objectspace.space):
+ for elt in self.objectspace.paths.get():
+ if elt.path in self.objectspace.families:
+ Family(elt,
+ self,
+ )
+ else:
+ Variable(elt,
+ self,
+ )
+
+# self.populate_family(basefamily,
+# elt,
+# )
+#FIXME if not hasattr(basefamily.elt, 'information'):
+# basefamily.elt.information = self.objectspace.information(None)
+# basefamily.elt.information = self.objectspace.paths.get_providers_path()
+# basefamily.elt.information.update(self.objectspace.paths.get_suppliers_path())
else:
path_prefixes = self.objectspace.paths.get_path_prefixes()
for path_prefix in path_prefixes:
@@ -179,75 +202,76 @@ class TiramisuReflector:
setattr(baseprefix.elt.information, key, value)
for key, value in self.objectspace.paths.get_suppliers_path(path_prefix).items():
setattr(baseprefix.elt.information, key, value)
- baseelt.name = normalize_family(self.cfg['base_option_name'])
- baseelt.doc = self.cfg['base_option_name']
- baseelt.reflector_object.get([], baseelt.doc, 'base') # pylint: disable=E1101
-
- def reorder_family(self, space):
- """variable_namespace family has to be loaded before any other family
- because `extra` family could use `variable_namespace` variables.
- """
- if hasattr(space, 'variables'):
- variable_namespace = self.objectspace.rougailconfig['variable_namespace']
- if variable_namespace in space.variables:
- yield space.variables[variable_namespace]
- for elt, value in space.variables.items():
- if elt != self.objectspace.rougailconfig['variable_namespace']:
- yield value
- if hasattr(space, 'services'):
- yield space.services
-
- def populate_family(self,
- parent_family,
- elt,
- ):
- """Populate family
- """
- self.set_name(elt)
- family = Family(elt,
- self,
- )
- parent_family.add(family)
- for children in vars(elt).values():
- if isinstance(children, self.objectspace.family):
- self.populate_family(family,
- children,
- )
- continue
- if isinstance(children, dict):
- children = list(children.values())
- if isinstance(children, list):
- for child in children:
- if isinstance(child, self.objectspace.property_) or \
- not isinstance(child, RootRougailObject):
- continue
- if isinstance(child, self.objectspace.variable):
- self.set_name(child)
- family.add(Variable(child,
- self,
- ))
- else:
- self.populate_family(family,
- child,
- )
+ baseelt.name = normalize_family(self.rougailconfig['base_option_name'])
+ baseelt.description = self.rougailconfig['base_option_name']
+ self.reflector_objects[baseelt.path].get([], baseelt.description) # pylint: disable=E1101
+#
+# def reorder_family(self, space):
+# """family has to be loaded before any other family
+# because `extra` family could use `variable_namespace` variables.
+# """
+# if hasattr(space, 'variables'):
+# variable_namespace = self.rougailconfig['variable_namespace']
+# if variable_namespace in space.variables:
+# yield space.variables[variable_namespace]
+# for elt, value in space.variables.items():
+# if elt != self.rougailconfig['variable_namespace']:
+# yield value
+# if hasattr(space, 'services'):
+# yield space.services
+#
+# def populate_family(self,
+# parent_family,
+# elt,
+# ):
+# """Populate family
+# """
+# self.set_name(elt)
+# family = Family(elt,
+# self,
+# )
+# parent_family.add(family)
+# for children in vars(elt).values():
+# if isinstance(children, self.objectspace.family):
+# self.populate_family(family,
+# children,
+# )
+# continue
+# if isinstance(children, dict):
+# children = list(children.values())
+# if isinstance(children, list):
+# for child in children:
+# if isinstance(child, self.objectspace.property_) or \
+# not isinstance(child, RootRougailObject):
+# continue
+# if isinstance(child, self.objectspace.variable):
+# self.set_name(child)
+# family.add(Variable(child,
+# self,
+# ))
+# else:
+# self.populate_family(family,
+# child,
+# )
def set_name(self,
elt,
):
"""Set name
"""
- if not hasattr(elt, 'reflector_name'):
- self.objectspace.paths.set_name(elt, 'optiondescription_')
- return elt.reflector_name
+ if elt.path not in self.objectspace.reflector_names:
+ self.objectspace.set_name(elt, 'optiondescription_')
+ return self.objectspace.reflector_names[elt.path]
def get_text(self):
"""Get text
"""
if self.jinja_added:
self.text['header'].extend(["ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)",
+ "ENV.filters = func",
"ENV.compile_templates('jinja_caches', zip=None)",
])
- return '\n'.join(self.text['header'] + self.text['option'] + self.text['optiondescription'])
+ return '\n'.join(self.text['header'] + self.text['option'])
class Common:
@@ -257,13 +281,14 @@ class Common:
elt,
tiramisu,
):
+ self.objectspace = tiramisu.objectspace
self.elt = elt
self.option_name = None
self.tiramisu = tiramisu
- self.elt.reflector_object = self
+ tiramisu.reflector_objects[elt.path] = self
self.object_type = None
- def get(self, calls, parent_name, typ):
+ def get(self, calls, parent_name):
"""Get tiramisu's object
"""
self_calls = calls.copy()
@@ -273,7 +298,7 @@ class Common:
self_calls.append(self.elt.path)
self.calls = self_calls
if self.option_name is None:
- self.option_name = self.elt.reflector_name
+ self.option_name = self.objectspace.reflector_names[self.elt.path]
self.populate_attrib()
self.populate_informations()
return self.option_name
@@ -282,19 +307,13 @@ class Common:
"""Populate attributes
"""
keys = {'name': self.convert_str(self.elt.name)}
- if hasattr(self.elt, 'doc'):
- keys['doc'] = self.convert_str(self.elt.doc)
+ if hasattr(self.elt, 'description') and self.elt.description:
+ keys['doc'] = self.convert_str(self.elt.description)
self._populate_attrib(keys)
- if hasattr(self.elt, 'properties'):
- keys['properties'] = self.properties_to_string(self.elt.properties)
+ if self.elt.path in self.objectspace.properties:
+ keys['properties'] = self.properties_to_string(self.objectspace.properties[self.elt.path])
attrib = ', '.join([f'{key}={value}' for key, value in keys.items()])
- if self.__class__.__name__ == 'Family':
- #pouet
- name = 'option'
- #name = 'optiondescription'
- else:
- name = 'option'
- self.tiramisu.text[name].append(f'{self.option_name} = {self.object_type}({attrib})')
+ self.tiramisu.text['option'].append(f'{self.option_name} = {self.object_type}({attrib})')
def _populate_attrib(self,
keys: dict,
@@ -312,37 +331,37 @@ class Common:
) -> None:
"""Change properties to string
"""
- properties = [self.convert_str(property_) for property_ in values
- if isinstance(property_, str)]
- calc_properties = [self.calc_properties(property_) for property_ in values \
- if isinstance(property_, self.tiramisu.objectspace.property_)]
+ properties = []
+ calc_properties = []
+ for property_, value in values.items():
+ if value is True:
+ properties.append(self.convert_str(property_))
+ else:
+ calc_properties.append(self.calculation_value('property', value))
return 'frozenset({' + ', '.join(sorted(properties) + calc_properties) + '})'
def calc_properties(self,
- child,
+ prop,
+ calculation,
) -> str:
"""Populate properties
"""
- option_name = child.source.reflector_object.get(self.calls, self.elt.path, 'property')
+ pouet
+ option_name = self.tiramisu.reflector_objects[child.source.path].get(self.calls, self.elt.path)
kwargs = (f"'condition': ParamOption({option_name}, notraisepropertyerror=True), "
f"'expected': {self.populate_param(child.expected)}")
if child.inverse:
kwargs += ", 'reverse_condition': ParamValue(True)"
- return (f"Calculation(func.calc_value, Params(ParamValue('{child.name}'), "
- f"kwargs={{{kwargs}}}), func.calc_value_property_help)")
+ return (f"Calculation(func['calc_value'], Params(ParamValue('{child.name}'), "
+ f"kwargs={{{kwargs}}}), func['calc_value_property_help'])")
def populate_informations(self):
"""Populate Tiramisu's informations
"""
- if not hasattr(self.elt, 'information'):
+ informations = self.objectspace.informations.get(self.elt.path)
+ if not informations:
return
- if isinstance(self.elt.information, dict):
- informations = self.elt.information
- else:
- informations = vars(self.elt.information)
for key, value in informations.items():
- if key == 'xmlfiles':
- continue
if isinstance(value, str):
value = self.convert_str(value)
self.tiramisu.text['option'].append(f"{self.option_name}.impl_set_information('{key}', {value})")
@@ -352,51 +371,55 @@ class Common:
):
"""Populate variable parameters
"""
- if param.type in ['number', 'boolean', 'nil', 'port', 'choice', 'space']:
- return f'ParamValue({param.text})'
- if param.type in ['variable_name', 'variable']:
+ if isinstance(param, self.objectspace.variable):
return self.build_option_param(param)
- if param.type == 'information':
- if hasattr(self.elt, 'multi') and self.elt.multi:
+ if not isinstance(param, dict):
+ if isinstance(param, str):
+ value = self.convert_str(param)
+ else:
+ value = param
+ return f'ParamValue({value})'
+ if param['type'] == 'information':
+ if self.elt.multi:
default = []
else:
default = None
if hasattr(param, 'variable'):
if param.variable.path == self.elt.path:
- return f'ParamSelfInformation("{param.text}", {default})'
- return f'ParamInformation("{param.text}", {default}, option={param.variable.reflector_object.get(self.calls, self.elt.path, "param")})'
- return f'ParamInformation("{param.text}", {default})'
- if param.type == 'suffix':
+ return f'ParamSelfInformation("{param["information"]}", {default})'
+ return f'ParamInformation("{param["information"]}", {default}, option={self.tiramisu.reflector_objects[param["variable"].path].get(self.calls, self.elt.path)})'
+ return f'ParamInformation("{param["information"]}", {default})'
+ if param['type'] == 'suffix':
return 'ParamSuffix()'
- if param.type == 'index':
+ if param['type'] == 'index':
return 'ParamIndex()'
- if param.type == 'jinja':
- self.tiramisu.add_jinja_to_function(self.elt.path, param.text)
- return f'ParamValue("{self.elt.path}")'
- value = self.convert_str(param.text)
- return f'ParamValue({value})'
+ if param['type'] == 'variable':
+ return self.build_option_param(param['variable'],
+ param.get('propertyerror', True),
+ )
+ raise Exception('pfff')
def build_option_param(self,
param,
+ propertyerror=True,
) -> str:
"""build variable parameters
"""
- if param.type == 'variable':
- option_name = param.text.reflector_object.get(self.calls, self.elt.path, 'param')
- else:
- option_name = param.text
+ if param.path == self.elt.path:
+ return 'ParamSelfOption(whole=False)'
+ option_name = self.tiramisu.reflector_objects[param.path].get(self.calls, self.elt.path)
params = [f'{option_name}']
if hasattr(param, 'suffix'):
param_type = 'ParamDynOption'
- family = param.family.reflector_object.get(self.calls, self.elt.path, 'suffix')
+ family = self.tiramisu.reflector_objects[param.family.path].get(self.calls, self.elt.path)
params.extend([f"'{param.suffix}'", f'{family}'])
if param.optional:
params.append('optional=True')
else:
param_type = 'ParamOption'
- if not param.propertyerror:
+ if not propertyerror:
params.append('notraisepropertyerror=True')
- return "{}({})".format(param_type, ', '.join(params))
+ return f'{param_type}({", ".join(params)})'
class Variable(Common):
@@ -412,30 +435,50 @@ class Variable(Common):
def _populate_attrib(self,
keys: dict,
):
- if hasattr(self.elt, 'opt'):
- keys['opt'] = self.elt.opt.reflector_object.get(self.calls, self.elt.path, 'opt')
- if hasattr(self.elt, 'choice'):
- values = self.elt.choice
- if values[0].type == 'variable':
- value = values[0].name.reflector_object.get(self.calls, self.elt.path, 'choice')
- keys['values'] = f"Calculation(func.calc_value, Params((ParamOption({value}))))"
- elif values[0].type == 'function':
- keys['values'] = self.calculation_value(values[0], [])
+ if self.elt.type == 'symlink':
+ keys['opt'] = self.tiramisu.reflector_objects[self.elt.opt.path].get(self.calls, self.elt.path)
+ if self.elt.type == 'choice':
+ values = self.elt.choices
+ if isinstance(values, Calculation):
+ keys['values'] = self.calculation_value('choice', values)
+# if values['type'] == 'variable':
+# value = self.tiramisu.reflector_objects[values['variable'].path].get(self.calls, self.elt.path)
+# keys['values'] = f"Calculation(func['calc_value'], Params((ParamOption({value}))))"
+# elif values['type'] == 'jinja':
+# keys['values'] = self.calculation_value(values)
else:
- keys['values'] = str(tuple([val.name for val in values]))
- if hasattr(self.elt, 'multi') and self.elt.multi:
- keys['multi'] = self.elt.multi
- for key in ['default', 'default_multi']:
- if hasattr(self.elt, key) and getattr(self.elt, key) is not None:
- value = getattr(self.elt, key)
- if isinstance(value, str):
- value = self.convert_str(value)
- elif isinstance(value, self.tiramisu.objectspace.value):
- value = self.calculation_value(value, [], calc_multi=value.calc_multi)
- keys[key] = value
- if hasattr(self.elt, 'validators'):
- keys['validators'] = '[' + ', '.join([self.calculation_value(val,
- ['ParamSelfOption(whole=False)']) for val in self.elt.validators]) + ']'
+ new_values = []
+ for value in values:
+ if isinstance(value, Calculation):
+ new_values.append(self.calculation_value('choice', value))
+ else:
+ new_values.append(value)
+ keys['values'] = tuple(new_values)
+ if self.elt.path in self.objectspace.multis:
+ keys['multi'] = self.objectspace.multis[self.elt.path]
+ if hasattr(self.elt, 'default') and self.elt.default is not None:
+ value = self.elt.default
+ if isinstance(value, str):
+ value = self.convert_str(value)
+ elif isinstance(value, Calculation):
+ value = self.calculation_value('default', value)
+ keys['default'] = value
+ if self.elt.path in self.objectspace.default_multi:
+ value = self.objectspace.default_multi[self.elt.path]
+ if isinstance(value, str):
+ value = self.convert_str(value)
+ elif isinstance(value, Calculation):
+ value = self.calculation_value('default_multi', value) # calc_multi=key == 'calc_multi')
+ keys['default_multi'] = value
+ if self.elt.validators:
+ validators = []
+ for val in self.elt.validators:
+ if isinstance(val, Calculation):
+ validators.append(self.calculation_value('validator', val))
+ else:
+ validators.append(val)
+ keys['validators'] = '[' + ', '.join(validators) + ']'
+ #keys['validators'] = '[' + ', '.join([self.calculation_value(val)['ParamSelfOption(whole=False)']) for val in self.elt.validators]) + ']'
for key in ['min_number', 'max_number']:
if hasattr(self.elt, key):
keys[key] = getattr(self.elt, key)
@@ -445,37 +488,39 @@ class Variable(Common):
keys[key] = value
def calculation_value(self,
- child,
- args,
- calc_multi=False,
+ typ: str,
+ function,
+ # function,
) -> str:
"""Generate calculated value
"""
- kwargs = []
- # has parameters
- function = child.name
- new_args = []
- if hasattr(child, 'param'):
- for param in child.param:
- value = self.populate_param(param)
- if not hasattr(param, 'name'):
- new_args.append(str(value))
- else:
- kwargs.append(f"'{param.name}': " + value)
- if function == 'valid_network_netmask':
- new_args.extend(args)
+ self.tiramisu.add_jinja_support()
+ if typ == 'property':
+ child = function.to_property_function()
+ elif typ == 'default':
+ child = function.to_default_function()
+ elif typ == 'validator':
+ child = function.to_validator_function()
+ elif typ == 'choice':
+ child = function.to_choice_function()
else:
- args.extend(new_args)
- new_args = args
- ret = f'Calculation(func.{function}, Params((' + ', '.join(new_args) + ')'
+ raise Exception('connard')
+ new_args = []
+ kwargs = []
+ if 'params' in child:
+ for key, value in child['params'].items():
+ if not key:
+ for val in value:
+ new_args.append(self.populate_param(val))
+ else:
+ kwargs.append(f"'{key}': " + self.populate_param(value))
+ ret = f"Calculation(func['{child['function']}'], Params((" + ', '.join(new_args) + ')'
if kwargs:
ret += ', kwargs={' + ', '.join(kwargs) + '}'
ret += ')'
if hasattr(child, 'warnings_only'):
ret += f', warnings_only={child.warnings_only}'
ret = ret + ')'
- if calc_multi:
- ret = '[' + ret + ']'
return ret
@@ -487,10 +532,10 @@ class Family(Common):
tiramisu,
):
super().__init__(elt, tiramisu)
- if hasattr(self.elt, 'suffixes'):
+ if self.elt.type == 'dynamic':
self.tiramisu.objectspace.has_dyn_option = True
self.object_type = 'ConvertDynOptionDescription'
- elif hasattr(self.elt, 'leadership') and self.elt.leadership:
+ elif self.elt.type == 'leadership':
self.object_type = 'Leadership'
else:
self.object_type = 'OptionDescription'
@@ -504,7 +549,10 @@ class Family(Common):
def _populate_attrib(self,
keys: list,
) -> None:
- if hasattr(self.elt, 'suffixes'):
- dyn = self.elt.suffixes.reflector_object.get(self.calls, self.elt.path, 'suffixes')
- keys['suffixes'] = f"Calculation(func.calc_value, Params((ParamOption({dyn}, notraisepropertyerror=True))))"
- keys['children'] = '[' + ', '.join([child.get(self.calls, self.elt.path, 'child') for child in self.children]) + ']'
+ if self.elt.type == 'dynamic':
+ dyn = self.tiramisu.reflector_objects[self.elt.variable.path].get(self.calls, self.elt.path)
+ keys['suffixes'] = f"Calculation(func['calc_value'], Params((ParamOption({dyn}, notraisepropertyerror=True))))"
+ children = []
+ for path in self.objectspace.parents[self.elt.path]:
+ children.append(self.objectspace.paths[path])
+ keys['children'] = '[' + ', '.join([self.tiramisu.reflector_objects[child.path].get(self.calls, self.elt.path) for child in children]) + ']'
diff --git a/src/rougail/update.py b/src/rougail/update.py
index e519d4fb9..c7f1a4bde 100644
--- a/src/rougail/update.py
+++ b/src/rougail/update.py
@@ -23,31 +23,518 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
"""
-from typing import List
-from os.path import join, isfile, basename
-from os import listdir
+from typing import List, Any, Optional, Tuple
+from os.path import join, isfile, isdir, basename
+from os import listdir, makedirs
from lxml.etree import DTD, parse, XMLParser, XMLSyntaxError # pylint: disable=E0611
from lxml.etree import Element, SubElement, tostring
-from ast import parse as ast_parse
+#from ast import parse as ast_parse
+from json import dumps
+from yaml import safe_load, dump, SafeDumper
+from pathlib import Path
from .i18n import _
from .error import UpgradeError
from .utils import normalize_family
from .config import RougailConfig
+from .annotator.variable import CONVERT_OPTION
-VERSIONS = {'creole': ['1'],
- 'rougail': ['0.9', '0.10'],
- }
+VERSIONS = ['0.10', '1.0']
+
+FIXME_PRINT_FILENAME = True
+FIXME_PRINT_FILENAME = False
+FIXME_PRINT_FILE = True
+FIXME_PRINT_FILE = False
+FIXME_PRINT_UNKNOWN_VAR = True
+FIXME_PRINT_UNKNOWN_VAR = False
+FIXME_PRINT_REMOVE = True
+FIXME_PRINT_REMOVE = False
-def get_function_name(root, version):
+def get_function_name(version):
version = version.replace('.', '_')
- return f'update_{root}_{version}'
+ return f'update_{version}'
-FUNCTION_VERSIONS = [(root, version, get_function_name(root, version)) for root, versions in VERSIONS.items() for version in versions]
+FUNCTION_VERSIONS = [(version, get_function_name(version)) for version in VERSIONS]
+
+
+class NoAliasDumper(SafeDumper):
+ def ignore_aliases(self, data):
+ return True
+
+
+class upgrade_010_to_100:
+ def __init__(self,
+ dico: dict,
+ namespace: str,
+ xmlsrc: str,
+ ) -> None:
+ if FIXME_PRINT_FILE:
+ from pprint import pprint
+ pprint(dico)
+ self.xmlsrc = xmlsrc
+ self.paths = {'family': {}, 'variable': {}}
+ self.lists = {'service': {},
+ 'ip': {},
+ 'certificate': {},
+ 'file': {},
+ }
+ self.flatten_paths = {'family': {}, 'variable': {}}
+ self.variables = self.parse_variables(dico, namespace)
+ self.parse_variables_with_path()
+ self.parse_services(dico)
+ self.parse_constraints(dico)
+ if FIXME_PRINT_FILE:
+ print('==')
+ pprint(self.variables)
+ pprint(self.services)
+
+ def parse_variables(self,
+ family: dict,
+ sub_path: str,
+ ) -> dict:
+ new_families = {}
+ if 'variables' in family:
+ for subelt in family['variables']:
+ for typ, obj in subelt.items():
+ for subobj in obj:
+ getattr(self, f'convert_{typ}')(subobj, new_families, sub_path)
+ family.pop('variables')
+ return new_families
+
+ def convert_family(self,
+ family: dict,
+ new_families: dict,
+ sub_path: str,
+ ) -> None:
+ # name is the key, do not let it in values
+ name = family.pop('name')
+ if sub_path:
+ sub_path = sub_path + '.' + name
+ else:
+ sub_path = name
+ # leadership and dynamic are no more attribute, it's now a type
+ for typ in ['leadership', 'dynamic']:
+ if typ in family:
+ value = family.pop(typ)
+ if value:
+ family['type'] = typ
+ if typ == 'dynamic':
+ family['variable'] = self.get_variable_path(value)
+ # add sub families and sub variables
+ sub_families = self.parse_variables(family, sub_path)
+ for sub_name, sub_family in sub_families.copy().items():
+ if sub_name not in family:
+ continue
+ family[f'_{sub_name}'] = family.pop(sub_name)
+ # store converted family
+ family.update(sub_families)
+ new_families[name] = family
+ self.flatten_paths['family'][name] = sub_path
+ self.paths['family'][sub_path] = family
+
+ def convert_variable(self,
+ variable: dict,
+ new_families: dict,
+ sub_path: str,
+ ) -> dict:
+ name = variable.pop('name')
+ if sub_path:
+ sub_path = sub_path + '.' + name
+ else:
+ sub_path = name
+ new_families[name] = variable
+ self.flatten_paths['variable'][name] = sub_path
+ self.paths['variable'][sub_path] = variable
+ if 'remove_condition' in variable and variable.pop('remove_condition'):
+ if FIXME_PRINT_REMOVE:
+ print(f'variable {name} in file {self.xmlsrc} has remove_condition, all properties (hidden, disabled and mandatory) are set to False')
+ for prop in ['hidden', 'disabled', 'mandatory']:
+ if prop not in variable:
+ variable[prop] = False
+ if 'remove_choice' in variable:
+ if 'choice' not in variable:
+ variable['choice'] = None
+ variable.pop('remove_choice')
+ if 'remove_check' in variable:
+ variable.pop('remove_check')
+ if 'validators' not in variable:
+ variable['validators'] = None
+ if 'remove_fill' in variable:
+ variable.pop('remove_fill')
+ variable['value'] = None
+ if 'auto_freeze' in variable:
+ variable.pop('auto_freeze')
+
+ def parse_variables_with_path(self):
+ for variable in self.paths['variable'].values():
+ if 'value' in variable:
+ default = variable.pop('value')
+ if default is not None:
+ if not variable.get('multi', False) and len(default) == 1:
+ variable['default'] = self.get_value(default[0])
+ else:
+ variable['default'] = [self.get_value(value) for value in default]
+ if 'choice' in variable:
+ if not variable['choice']:
+ variable['choices'] = variable.pop('choice')
+ else:
+ variable['choices'] = [self.get_value(choice) for choice in variable.pop('choice')]
+
+ def parse_services(self,
+ dico: dict,
+ ) -> None:
+ self.services = {}
+ if 'services' in dico:
+ for root_services in dico['services']:
+ for services in root_services.values():
+ for service in services:
+ new_service = {}
+ for typ in ['ip', 'file', 'certificate']:
+ if typ != 'ip':
+ typ_plurial = typ + 's'
+ else:
+ typ_plurial = typ
+ if typ in service:
+ new_service[typ_plurial] = {}
+ for elt in service[typ]:
+ name, new_elt = getattr(self, f'parse_{typ}')(elt)
+ new_service[typ_plurial][name] = new_elt
+ if 'override' in service:
+ if isinstance(service['override'], list):
+ new_service['override'] = service['override'][0]
+ else:
+ new_service['override'] = service['override']
+ if 'servicelist' in service:
+ self.lists['service'].setdefault(service['servicelist'], []).append(new_service)
+ name = service.pop('name') + '.' + service.get('type', 'service')
+ self.services[name] = new_service
+
+ def parse_ip(self,
+ ip: dict
+ ) -> None:
+ name = self.get_variable_path(ip.pop('text'))
+ if 'iplist' in ip:
+ self.lists['ip'].setdefault(ip.pop('iplist'), []).append(ip)
+ if 'netmask' in ip:
+ ip['netmask'] = self.get_variable_path(ip['netmask'])
+ return name, ip
+
+ def parse_file(self,
+ file: dict
+ ) -> None:
+ name = file.pop('text')
+ if 'file_type' in file:
+ file['type'] = file.pop('file_type')
+ if file['type'] == 'variable':
+ name = self.get_variable_path(name)
+ if 'variable_type' in file:
+ file.pop('variable_type')
+ if 'filelist' in file:
+ self.lists['file'].setdefault(file.pop('filelist'), []).append(file)
+ for typ in ['source', 'owner', 'group']:
+ if f'{typ}_type' in file:
+ obj_type = file.pop(f'{typ}_type')
+ if obj_type == 'variable' and typ in file:
+ file[typ] = {'name': self.get_variable_path(file[typ]),
+ 'type': 'variable',
+ }
+ if 'variable' in file:
+ file['variable'] = self.get_variable_path(file['variable'])
+ return name, file
+
+ def parse_certificate(self,
+ certificate: dict
+ ) -> None:
+ name = certificate.pop('text')
+ if 'variable' in certificate:
+ certificate['rougail_variable'] = certificate['variable']
+ if 'certificate_type' in certificate:
+ if certificate.pop('certificate_type') == 'variable':
+ certificate['variable'] = True
+ name = self.get_variable_path(name)
+ if 'certificatelist' in certificate:
+ self.lists['certificate'].setdefault(certificate.pop('certificatelist'), []).append(certificate)
+ for typ in ['owner', 'group', 'server', 'domain', 'provider']:
+ if f'{typ}_type' in certificate:
+ obj_type = certificate.pop(f'{typ}_type')
+ if obj_type == 'variable' and typ in certificate:
+ certificate[typ] = {'name': self.get_variable_path(certificate[typ]),
+ 'type': 'variable',
+ }
+ return name, certificate
+
+ def parse_constraints(self,
+ dico: dict,
+ ) -> None:
+ if 'constraints' not in dico:
+ return
+ for constraint in dico['constraints']:
+ if 'condition' in constraint:
+ for condition in constraint['condition']:
+ self.parse_condition(condition)
+ if 'check' in constraint:
+ for check in constraint['check']:
+ self.parse_check(check)
+ if 'fill' in constraint:
+ for fill in constraint['fill']:
+ self.parse_fill(fill)
+
+ def parse_condition(self,
+ condition: dict,
+ ) -> None:
+ if 'apply_on_fallback' in condition:
+ apply_on_fallback = condition.pop('apply_on_fallback')
+ else:
+ apply_on_fallback = False
+ source = self.get_variable_path(condition['source'])
+ if not source:
+ source = f'__{condition["source"]}'
+ name = condition.pop('name')
+ prop = name.split('_', 1)[0]
+ if apply_on_fallback:
+ condition_value = True
+ else:
+ condition_value = self.params_condition_to_jinja(source, condition['param'], name.endswith('if_in'))
+ for target in condition['target']:
+ typ = target.get('type', 'variable')
+ if typ == 'variable':
+ variable_path = self.get_variable_path(target['text'])
+ if variable_path is None:
+ if FIXME_PRINT_UNKNOWN_VAR and not target.get('optional', False):
+ print(f'pffff la target {target["text"]} de la condition n\'est pas trouvable')
+ continue
+ variable = self.paths['variable'][variable_path]
+ variable[prop] = condition_value
+ elif typ == 'family':
+ family_path = self.get_family_path(target['text'])
+ if family_path is None:
+ if FIXME_PRINT_UNKNOWN_VAR and not target.get('optional', False):
+ print(f'pffff la target {target["text"]} de la condition n\'est pas trouvable')
+ continue
+ family = self.paths['family'][family_path]
+ family[prop] = condition_value
+ elif typ == 'iplist':
+ list_name = target['text']
+ if list_name in self.lists['ip']:
+ for ip in self.lists['ip'].pop(list_name):
+ ip[prop] = condition_value
+ elif typ == 'filelist':
+ list_name = target['text']
+ if list_name in self.lists['file']:
+ for ip in self.lists['file'].pop(list_name):
+ ip[prop] = condition_value
+ elif typ == 'servicelist':
+ list_name = target['text']
+ if list_name in self.lists['service']:
+ for service in self.lists['service'].pop(list_name):
+ service[prop] = condition_value
+ elif typ == 'certificatelist':
+ list_name = target['text']
+ if list_name in self.lists['certificate']:
+ for certificat in self.lists['certificate'].pop(list_name):
+ certificat[prop] = condition_value
+
+ def parse_check(self,
+ check: dict,
+ ) -> None:
+ for target in check['target']:
+ variable_path = self.get_variable_path(target['text'])
+ if variable_path is None:
+ if FIXME_PRINT_UNKNOWN_VAR and not target.get('optional', False):
+ print(f'pffff la target {target["text"]} dans le check n\'est pas trouvable')
+ continue
+ variable = self.paths['variable'][variable_path]
+ if 'validators' in variable and variable['validators'] is None:
+ variable.pop('validators')
+ if check.get('type') == 'jinja':
+ check_value = check['name']
+ else:
+ check['param'] = [{'text': variable_path, 'type': 'variable'}] + check.get('param', [])
+ check_value = self.convert_param_function(check)
+ variable.setdefault('validators', []).append(check_value)
+
+ def parse_fill(self,
+ fill: dict,
+ ) -> None:
+ for target in fill.pop('target'):
+ params = []
+ variable_path = self.get_variable_path(target['text'])
+ if variable_path is None:
+ if FIXME_PRINT_UNKNOWN_VAR and not target.get('optional', False):
+ print(f'pffff la target {target["text"]} dans le fill n\'est pas trouvable')
+ continue
+ variable = self.paths['variable'][variable_path]
+ if fill.get('type') == 'jinja':
+ fill_value = {'type': 'jinja',
+ 'jinja': fill['name'],
+ }
+ else:
+ fill_value = self.convert_param_function(fill)
+ variable['default'] = fill_value
+
+ def params_condition_to_jinja(self,
+ path: str,
+ params: List[dict],
+ if_in: bool,
+ ) -> str:
+ new_params = {}
+ jinja = "{% if "
+ for idx, param in enumerate(params):
+ if idx:
+ jinja += ' or '
+
+ new_param, value = self.get_jinja_param_and_value(param)
+ if value:
+ jinja += path + ' == ' + value
+ if new_param:
+ new_params |= new_param
+ if if_in:
+ jinja += " %}true{% else %}false{% endif %}"
+ else:
+ jinja += " %}false{% else %}true{% endif %}"
+ ret = {'type': 'jinja',
+ 'jinja': jinja,
+ }
+ if new_params:
+ ret['params'] = new_params
+ return ret
+
+ def get_value(self,
+ param: dict,
+ ) -> Any:
+ #
+ typ = param.get('type', 'string')
+ if typ == 'string':
+ value = param['text']
+# value = dumps(value, ensure_ascii=False)
+ elif typ == 'number':
+ value = int(param['text'])
+ elif typ == 'nil':
+ value = None
+ elif typ == 'space':
+ value = ' '
+ elif typ == 'boolean':
+ value = param['text']
+ elif typ == 'variable':
+ variable_path = self.get_variable_path(param['text'])
+ if variable_path is None:
+ variable_path = '__' + param['text']
+ value = {'type': 'variable',
+ 'variable': variable_path,
+ }
+ if 'optional' in param:
+ value['optional'] = param['optional']
+ if 'propertyerror' in param:
+ value['propertyerror'] = param['propertyerror']
+ elif typ == 'function':
+ value = self.convert_param_function(param)
+ elif typ == 'information':
+ value = {'type': 'information',
+ 'information': param['text'],
+ }
+ if 'variable' in param:
+ variable_path = self.get_variable_path(param['variable'])
+ value['variable'] = variable_path
+ elif typ == 'suffix':
+ value = param
+ elif typ == 'index':
+ value = param
+ return value
+
+ def get_jinja_param_and_value(self,
+ param,
+ ) -> Tuple[list, Any]:
+ new_param = None
+ typ = param.get('type', 'string')
+ value = self.get_value(param)
+ if isinstance(value, dict):
+ if typ == 'information':
+ key = normalize_family(value['information'])
+ if 'variable' in value:
+ attr_name = f'{value["variable"]}.{key}'
+ else:
+ attr_name = key
+ attr_name = f'__information.{attr_name}'
+ new_param = {attr_name: value}
+ value = attr_name
+ elif typ in ['index', 'suffix']:
+ attr_name = f'__{typ}'
+ new_param = {attr_name: value}
+ value = attr_name
+ elif 'propertyerror' in param or 'optional' in param:
+ print("+++>", value)
+ new_param = value
+ value = value[typ]
+ else:
+ value = value[typ]
+ if not value:
+ return
+ else:
+ value = dumps(value, ensure_ascii=False)
+ return new_param, value
+
+
+ def convert_param_function(self,
+ param: dict,
+ ) -> str:
+ text = param['name']
+ params = {}
+ if 'param' in param and param['param']:
+ first, *others = param['param']
+ new_param, first = self.get_jinja_param_and_value(first)
+ text = f'{first} | {text}'
+ if new_param:
+ params |= new_param
+ if others:
+ values = []
+ for param in others:
+ new_param, value= self.get_jinja_param_and_value(param)
+ if new_param:
+ params |= new_param
+# if param.get('type') != 'variable' or value is not None:
+ if 'name' in param:
+ values.append(f'{param["name"]}={value}')
+ else:
+ values.append(value)
+ text += '('
+ text += ', '.join(values)
+ text += ')'
+ else:
+ text += '()'
+ text = '{{ ' + text + ' }}'
+ ret = {'type': 'jinja', 'jinja': text}
+ if params:
+ ret['params'] = params
+ return ret
+
+ def get_variable_path(self,
+ path: str,
+ ) -> dict:
+ if path not in self.paths['variable'] and path in self.flatten_paths['variable']:
+ path = self.flatten_paths['variable'][path]
+ if path not in self.paths['variable']:
+ if FIXME_PRINT_UNKNOWN_VAR:
+ print('pffff impossible de trouver la variable', path)
+ return
+ return path
+
+ def get_family_path(self,
+ path: str,
+ ) -> dict:
+ if path not in self.paths['family'] and path in self.flatten_paths['family']:
+ path = self.flatten_paths['family'][path]
+ if path not in self.paths['family']:
+ if FIXME_PRINT_UNKNOWN_VAR:
+ print('pffff impossible de trouver la famille', path)
+ return
+ return path
+
+ def get(self) -> dict:
+ return self.variables, self.services
class RougailUpgrade:
@@ -64,57 +551,238 @@ class RougailUpgrade:
rougailconfig = RougailConfig
self.rougailconfig = rougailconfig
- def load_xml_from_folders(self,
- srcfolder: str,
- dstfolder: str,
- namespace: str,
- display: bool=True,
- ):
- """Loads all the XML files located in the xmlfolders' list
+ def load_dictionaries(self,
+# srcfolder: str,
+ dstfolder: str,
+ services_dstfolder: Optional[str],
+ extra_dstfolder: Optional[str]=None,
+# namespace: str,
+# display: bool=True,
+ ):
+ if extra_dstfolder is None:
+ extra_dstfolder = dstfolder
+ self._load_dictionaries(self.rougailconfig['dictionaries_dir'],
+ dstfolder,
+ services_dstfolder,
+ self.rougailconfig['variable_namespace'],
+ )
+ for namespace, extra_dirs in self.rougailconfig['extra_dictionaries'].items():
+ extra_dstsubfolder = join(extra_dstfolder, namespace)
+ if not isdir(extra_dstsubfolder):
+ makedirs(extra_dstsubfolder)
+ for extra_dir in extra_dirs:
+ self._load_dictionaries(extra_dir,
+ extra_dstsubfolder,
+ None,
+ namespace,
+ )
- :param xmlfolders: list of full folder's name
- """
- filenames = [filename for filename in listdir(srcfolder) if filename.endswith('.xml')]
+ def _load_dictionaries(self,
+ srcfolder: str,
+ dstfolder: str,
+ services_dstfolder: Optional[str],
+ namespace: str,
+ ) -> None:
+ filenames = [filename for filename in listdir(srcfolder) if filename.endswith('.xml') or filename.endswith('.yml')]
filenames.sort()
for filename in filenames:
- xmlsrc = join(srcfolder, filename)
- xmldst = join(dstfolder, filename)
- if isfile(xmldst):
+ xmlsrc = Path(srcfolder) / Path(filename)
+ ymlfile = filename[:-3] + 'yml'
+ xmldst = Path(dstfolder) / Path(ymlfile)
+ if xmldst.is_file():
raise Exception(f'cannot update "{xmlsrc}" destination file "{xmldst}" already exists')
- try:
- parser = XMLParser(remove_blank_text=True)
- document = parse(xmlsrc, parser)
- except XMLSyntaxError as err:
- raise Exception(_(f'not a XML file: {err}')) from err
- root = document.getroot()
- search_function_name = get_function_name(root.tag, root.attrib.get('version', '1'))
+ if services_dstfolder:
+ ymldst_services = Path(services_dstfolder) / ymlfile
+ if ymldst_services.is_file():
+ raise Exception(f'cannot update "{xmlsrc}" destination file "{ymldst_services}" already exists')
+ if filename.endswith('.xml'):
+ try:
+ parser = XMLParser(remove_blank_text=True)
+ document = parse(xmlsrc, parser)
+ except XMLSyntaxError as err:
+ raise Exception(_(f'not a XML file: {err}')) from err
+ root = document.getroot()
+ search_function_name = get_function_name(root.attrib.get('version', '1'))
+ ext = 'xml'
+ else:
+ with xmlsrc.open() as xml_fh:
+ root = safe_load(xml_fh)
+ search_function_name = get_function_name(root['version'])
+ ext = 'yml'
function_found = False
- for root_name, version, function_version in FUNCTION_VERSIONS:
+ if FIXME_PRINT_FILENAME:
+ print('========================================================================')
+ print(xmlsrc)
+ print('========================================================================')
+ for version, function_version in FUNCTION_VERSIONS:
if function_found and hasattr(self, function_version):
- if display:
- print(f' - convert {filename} to version {version}')
+# if display:
+# print(f' - convert {filename} to version {version}')
upgrade_help = self.upgrade_help.get(function_version, {}).get(filename, {})
if upgrade_help.get('remove') is True:
continue
- root = getattr(self, function_version)(root, upgrade_help, namespace)
+ root, root_services, new_type = getattr(self, function_version)(root, upgrade_help, namespace, xmlsrc, ext)
if function_version == search_function_name:
function_found = True
- root.attrib['version'] = version
- with open(xmldst, 'wb') as xmlfh:
- xmlfh.write(tostring(root, pretty_print=True, encoding="UTF-8", xml_declaration=True))
- # if
+ if root:
+ root['version'] = version
+ xmldst.parent.mkdir(parents=True, exist_ok=True)
+ with xmldst.open('w') as ymlfh:
+ dump(root, ymlfh, allow_unicode=True, sort_keys=False, Dumper=NoAliasDumper)
+ if root_services and services_dstfolder:
+ root_services['version'] = version
+ ymldst_services.parent.mkdir(parents=True, exist_ok=True)
+ with ymldst_services.open('w') as ymlfh:
+ dump(root_services, ymlfh, allow_unicode=True, sort_keys=False, Dumper=NoAliasDumper)
# if not self.dtd.validate(document):
# dtd_error = self.dtd.error_log.filter_from_errors()[0]
# msg = _(f'not a valid XML file: {dtd_error}')
# raise DictConsistencyError(msg, 43, [xmlfile])
# yield xmlfile, document.getroot()
+ def _attribut_to_bool(self, variable):
+ for prop in ['mandatory', 'hidden', 'redefine', 'multi', 'leadership', 'optional', 'unique', 'auto_save', 'remove_check', 'manage', 'exists', 'disabled', 'undisable', 'remove_choice', 'propertyerror', 'apply_on_fallback', 'remove_fill', 'remove_condition']:
+ if prop in variable:
+ variable[prop] = {'True': True, 'False': False}[variable[prop]]
- def update_rougail_0_10(self,
- root: 'Element',
- upgrade_help: dict,
- namespace: str,
- ) -> 'Element':
+ def _attribut_to_int(self, variable):
+ for prop in ['mode']:
+ if prop in variable:
+ try:
+ variable[prop] = int(variable[prop])
+ except ValueError:
+ pass
+
+ def _xml_to_yaml(self, objects, obj_name, variables, path, variable_type='string', variable_choices=[]):
+ if obj_name in ['variables', 'family']:
+ dico = []
+ else:
+ dico = {}
+ for obj in objects:
+ obj_type = obj.tag
+ if not isinstance(obj_type, str):
+ # doesn't proceed the XML commentaries
+ continue
+ new_dico = dict(obj.attrib)
+ if obj_type in ['variable', 'family']:
+ if path:
+ path += '.' + obj.attrib['name']
+ else:
+ path = obj.attrib['name']
+ choices = []
+ if obj_type == 'variable':
+ var_type = obj.attrib.get('type', 'string')
+ variables[obj.attrib['name']]= {'type': var_type}
+ variables[path]= {'type': var_type}
+ elif obj_type == 'condition':
+ var_type = variables.get(obj.attrib['source'], {}).get('type', 'string')
+ if var_type == 'choice':
+ choices = variables.get(obj.attrib['source'], {}).get('choices', [])
+ else:
+ var_type = None
+ new_objects = self._xml_to_yaml(obj, obj.tag, variables, path, var_type, choices)
+ if obj.text:
+ text = obj.text
+ if isinstance(text, str):
+ text = text.strip()
+ if text:
+ if obj_type in ['choice', 'value']:
+ value_type = obj.attrib.get('type')
+ if not value_type and obj_type == 'value':
+ value_type = variable_type
+ text = CONVERT_OPTION.get(value_type, {}).get('func', str)(text)
+ if obj_type == 'choice':
+ variables[path.rsplit('.', 1)[-1]].setdefault('choices', []).append({'type': value_type, 'value': text})
+ variables[path].setdefault('choices', []).append({'type': value_type, 'value': text})
+ if obj_type in ['param', 'value']:
+ if obj.attrib.get('type') == 'variable':
+ var_type = variables.get(obj.attrib.get('name'), {}).get('type', 'string')
+ value_type = obj.attrib.get('type', var_type)
+ text = CONVERT_OPTION.get(value_type, {}).get('func', str)(text)
+ elif 'type' in obj.attrib:
+ var_type = obj.attrib.get('type')
+ text = CONVERT_OPTION.get(var_type, {}).get('func', str)(text)
+ elif obj_type == 'param' and variable_type:
+ if variable_type == 'choice':
+ for choice in variable_choices:
+ if choice['value'] == CONVERT_OPTION.get(choice.get('type'), {}).get('func', str)(text):
+ text = choice['value']
+ break
+ else:
+ text = CONVERT_OPTION.get(variable_type, {}).get('func', str)(text)
+ new_dico['text'] = text
+ if isinstance(new_objects, list):
+ if new_objects:
+ for new_obj in new_objects:
+ new_dico.update(new_obj)
+ elif new_objects is not None and list(new_objects.values())[0]:
+ new_dico.update(new_objects)
+ self._attribut_to_bool(new_dico)
+ self._attribut_to_int(new_dico)
+ if not new_dico:
+ new_dico = None
+ if obj_type == 'override' and not new_dico:
+ new_dico = None
+ if isinstance(dico, list):
+ if dico and obj_type in dico[-1]:
+ dico[-1][obj_type].append(new_dico)
+ else:
+ dico.append({obj_type: [new_dico]})
+ elif new_dico is None:
+ dico[obj_type] = new_dico
+ else:
+ dico.setdefault(obj_type, []).append(new_dico)
+ if dico == {}:
+ dico = None
+ elif isinstance(dico, dict):
+ dico = [dico]
+ if obj_name in ['service', 'condition', 'fill', 'choice', 'check']:
+ pass
+ elif obj_name in ['variables', 'family']:
+ dico = {'variables': dico}
+ elif obj_name != 'variable':
+ dico = {obj_name: dico}
+ return dico
+
+ def update_1_0(self,
+ root: 'Element',
+ upgrade_help: dict,
+ namespace: str,
+ xmlsrc: str,
+ ext: str,
+ ) -> 'Element':
+ if ext == 'xml':
+ new_root = {'version': root.attrib['version']}
+ variables = {}
+ for typ in ['services', 'variables', 'constraints']:
+ objects = root.find(typ)
+ if objects is None:
+ objects = []
+ new_objects = self._xml_to_yaml(objects, typ, variables, '')
+ if new_objects[typ]:
+ new_root.update(new_objects)
+# services = root.find('services')
+# if services is None:
+# services = []
+# new_services = self._xml_to_yaml_service(services)
+# if new_services:
+# new_root['services'] = new_services
+# paths = self._get_path_variables(variables,
+# namespace == 'configuration',
+# namespace,
+# )
+ else:
+ new_root = root
+ variables, services = upgrade_010_to_100(new_root, namespace, xmlsrc).get()
+ return variables, services, 'yml'
+
+ def update_0_10(self,
+ root: 'Element',
+ upgrade_help: dict,
+ namespace: str,
+ xmlsrc: str,
+ ext: str,
+ ) -> 'Element':
variables = root.find('variables')
if variables is None:
return root
@@ -267,7 +935,7 @@ class RougailUpgrade:
for target in targets:
if 'remove_choice' not in target.attrib or target.attrib['remove_choice'] != 'True':
target.attrib['type'] = 'choice'
- return root
+ return root, None, 'xml'
def _get_path_variables(self, variables, is_variable_namespace, path, dico=None):
if dico is None:
@@ -286,380 +954,6 @@ class RougailUpgrade:
dico[subpath] = {'variable': variable, 'parent': variables}
return dico
- def update_rougail_0_9(self,
- root: 'Element',
- upgrade_help: dict,
- namespace: str,
- ) -> 'Element':
- # rename root
- root.tag = 'rougail'
- variables_auto_valid_enum = {}
- variables_help = {}
- families_help = {}
- variables = {}
- families = {}
- valid_enums = {}
- current_service = upgrade_help.get('services', {}).get('default', 'unknown')
- files = {current_service: {}}
- ips = {current_service: []}
- servicelists = {}
- test_unknowns_variables = set()
- autos = []
- constraints_obj = None
- for subelement in root:
- if not isinstance(subelement.tag, str):
- # XML comment
- continue
- if subelement.tag == 'family_action':
- root.remove(subelement)
- continue
- for subsubelement in subelement:
- if not isinstance(subsubelement.tag, str):
- # XML comment
- continue
- for subsubsubelement in subsubelement:
- if not isinstance(subsubsubelement.tag, str):
- # XML comment
- continue
- if subsubsubelement.tag == 'variable':
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('remove', []):
- subsubelement.remove(subsubsubelement)
- continue
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('type', {}):
- subsubsubelement.attrib['type'] = upgrade_help['variables']['type'][subsubsubelement.attrib['name']]
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('hidden', {}).get('add', []):
- subsubsubelement.attrib['hidden'] = 'True'
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('hidden', {}).get('remove', []):
- self.remove(subsubsubelement, 'hidden', optional=True)
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('mandatory', {}).get('remove', []):
- self.remove(subsubsubelement, 'mandatory')
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('mandatory', {}).get('add', []):
- subsubsubelement.attrib['mandatory'] = 'True'
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('type', {}):
- subsubsubelement.attrib['type'] = upgrade_help.get('variables', {}).get('type', {})[subsubsubelement.attrib['name']]
- if namespace == 'configuration':
- path = subsubsubelement.attrib['name']
- npath = normalize_family(subsubsubelement.attrib['name'])
- else:
- path = namespace + '.' + subsubelement.attrib['name'] + '.' + subsubsubelement.attrib['name']
- npath = normalize_family(namespace) + '.' + normalize_family(subsubelement.attrib['name']) + '.' + normalize_family(subsubsubelement.attrib['name'])
- variables[path] = subsubsubelement
- variables[npath] = subsubsubelement
- type = subsubsubelement.attrib.get('type')
- if type in ['oui/non', 'yes/no', 'on/off']:
- variables_auto_valid_enum.setdefault(subsubsubelement.attrib['type'], []).append(path)
- del subsubsubelement.attrib['type']
- elif type == 'hostname_strict':
- subsubsubelement.attrib['type'] = 'hostname'
- elif type in ['domain', 'domain_strict']:
- subsubsubelement.attrib['type'] = 'domainname'
- elif type == 'string':
- del subsubsubelement.attrib['type']
- if self.test and subsubsubelement.attrib.get('auto_freeze') == 'True':
- del subsubsubelement.attrib['auto_freeze']
- #if self.test and subsubsubelement.attrib.get('redefine') == 'True':
- # subsubsubelement.attrib['exists'] = 'False'
- # del subsubsubelement.attrib['redefine']
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('redefine', {}).get('remove', {}):
- del subsubsubelement.attrib['redefine']
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('remove_check', []):
- subsubsubelement.attrib['remove_check'] = 'True'
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('mode', {}).get('modify', {}):
- subsubsubelement.attrib['mode'] = upgrade_help.get('variables', {}).get('mode', {}).get('modify', {})[subsubsubelement.attrib['name']]
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('type', {}).get('modify', {}):
- subsubsubelement.attrib['type'] = upgrade_help.get('variables', {}).get('type', {}).get('modify', {})[subsubsubelement.attrib['name']]
- type = subsubsubelement.attrib['type']
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('test', {}):
- subsubsubelement.attrib['test'] = upgrade_help.get('variables', {}).get('test', {})[subsubsubelement.attrib['name']]
- if subsubsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('remove_value', []):
- for value in subsubsubelement:
- subsubsubelement.remove(value)
- if subsubsubelement.attrib['name'] != normalize_family(subsubsubelement.attrib['name']):
- if "description" not in subsubsubelement.attrib:
- subsubsubelement.attrib['description'] = subsubsubelement.attrib['name']
- subsubsubelement.attrib['name'] = normalize_family(subsubsubelement.attrib['name'])
- elif subsubsubelement.tag == 'param':
- if subsubelement.tag == 'check' and subsubelement.attrib['target'] in upgrade_help.get('check', {}).get('remove', []):
- continue
- type = subsubsubelement.attrib.get('type')
- if type == 'eole':
- subsubsubelement.attrib['type'] = 'variable'
- type = 'variable'
- if type == 'python':
- subsubsubelement.attrib['type'] = 'function'
- if subsubsubelement.text.startswith('range('):
- func_ast = ast_parse(subsubsubelement.text)
- subsubsubelement.text = 'range'
- for arg in func_ast.body[0].value.args:
- SubElement(subsubelement, 'param', type='number').text = str(arg.value)
- else:
- raise Exception(f'{subsubsubelement.text} is not a supported function')
- type = 'function'
- elif type in ('container', 'context'):
- raise UpgradeError(_(f'cannot convert param with type "{type}"'))
- if subsubelement.attrib['name'] == 'valid_entier' and not 'type' in subsubsubelement.attrib:
- subsubsubelement.attrib['type'] = 'number'
- if (not type or type == 'variable') and subsubsubelement.text in upgrade_help.get('variables', {}).get('remove', []):
- subsubelement.remove(subsubsubelement)
- continue
- if subsubelement.attrib['name'] == 'valid_enum' and not type:
- if subsubsubelement.attrib.get('name') == 'checkval':
- if subsubelement.attrib['target'] in upgrade_help.get('check', {}).get('valid_enums', {}).get('checkval', {}).get('remove', []):
- subsubelement.remove(subsubsubelement)
- continue
- raise UpgradeError(_('checkval in valid_enum is no more supported'))
- if subsubsubelement.text.startswith('['):
- for val in eval(subsubsubelement.text):
- SubElement(subsubelement, 'param').text = str(val)
- subsubelement.remove(subsubsubelement)
- self.move(subsubsubelement, 'hidden', 'propertyerror', optional=True)
- if type == 'variable' and subsubsubelement.text in upgrade_help.get('variables', {}).get('rename', []):
- subsubsubelement.text = upgrade_help.get('variables', {}).get('rename', [])[subsubsubelement.text]
- up = upgrade_help.get('params', {}).get(subsubsubelement.text)
- if up:
- if 'text' in up:
- subsubsubelement.text = up['text']
- if 'type' in up:
- subsubsubelement.attrib['type'] = up['type']
- elif subsubsubelement.tag == 'target':
- type = subsubsubelement.attrib.get('type')
- if type in ['service_accesslist', 'service_restrictionlist', 'interfacelist', 'hostlist']:
- subsubelement.remove(subsubsubelement)
- elif (not type or type == 'variable') and subsubsubelement.text in upgrade_help.get('variables', {}).get('remove', []):
- subsubelement.remove(subsubsubelement)
- elif type == 'family' and subsubsubelement.text in upgrade_help.get('families', {}).get('remove', []):
- subsubelement.remove(subsubsubelement)
- elif type == 'actionlist':
-# for family in root.find('variables'):
-# family_list = SubElement(subsubelement, 'target')
-# family_list.attrib['type'] = 'family'
-# family_list.text = namespace + '.' + family.attrib['name']
- subsubelement.remove(subsubsubelement)
- if upgrade_help.get('targets', {}).get(subsubsubelement.text, {}).get('optional'):
- subsubsubelement.attrib['optional'] = upgrade_help.get('targets', {}).get(subsubsubelement.text, {}).get('optional')
- has_target = False
- for target in subsubelement:
- if target.tag == 'target':
- has_target = True
- break
- if not has_target:
- subelement.remove(subsubelement)
- continue
- elif subsubsubelement.tag == 'slave':
- if subsubsubelement.text in upgrade_help.get('variables', {}).get('remove', []):
- subsubelement.remove(subsubsubelement)
- continue
- subsubsubelement.tag = 'follower'
- subsubsubelement.text = normalize_family(subsubsubelement.text)
- if subelement.tag == 'containers':
- current_service = self.upgrade_container(subsubsubelement, current_service, files, ips, servicelists, upgrade_help)
- subsubelement.remove(subsubsubelement)
- if subelement.tag == 'help':
- if subsubelement.tag == 'variable':
- if not subsubelement.attrib['name'] in upgrade_help.get('variables', {}).get('remove', []):
- variables_help[subsubelement.attrib['name']] = subsubelement.text
- elif subsubelement.tag == 'family':
- if subsubelement.attrib['name'] not in upgrade_help.get('families', {}).get('remove', []):
- families_help[subsubelement.attrib['name']] = subsubelement.text
- else:
- raise Exception(f'unknown help tag {subsubelement.tag}')
- subelement.remove(subsubelement)
- continue
- if subsubelement.tag == 'auto':
- if subsubelement.attrib['target'] in upgrade_help.get('variables', {}).get('remove', []):
- subelement.remove(subsubelement)
- continue
- autos.append(subsubelement.attrib['target'])
- subsubelement.tag = 'fill'
- if subsubelement.tag in ['fill', 'check']:
- if subsubelement.tag == 'check' and subsubelement.attrib['name'] == 'valid_enum':
- if subsubelement.attrib['target'] in upgrade_help.get('variables', {}).get('remove', []):
- subelement.remove(subsubelement)
- continue
- params = []
- for param in subsubelement:
- if param.tag == 'param':
- params.append(param.text)
- key = '~'.join(params)
- if key in valid_enums:
- SubElement(valid_enums[key], 'target').text = subsubelement.attrib['target']
- subelement.remove(subsubelement)
- continue
- valid_enums['~'.join(params)] = subsubelement
- if subsubelement.tag == 'fill' and subsubelement.attrib['target'] in upgrade_help.get('fills', {}).get('remove', []):
- subelement.remove(subsubelement)
- continue
- if subsubelement.tag == 'check' and subsubelement.attrib['target'] in upgrade_help.get('check', {}).get('remove', []):
- subelement.remove(subsubelement)
- continue
- if subsubelement.attrib['target'] in upgrade_help.get('variables', {}).get('remove', []):
- subelement.remove(subsubelement)
- continue
- if subsubelement.attrib['name'] == 'valid_networknetmask':
- subsubelement.attrib['name'] = 'valid_network_netmask'
- target = SubElement(subsubelement, 'target')
- target.text = subsubelement.attrib['target']
- if self.test:
- target.attrib['optional'] = 'True'
- del subsubelement.attrib['target']
- elif subsubelement.tag == 'separators':
- subelement.remove(subsubelement)
- elif subsubelement.tag == 'condition':
- if subsubelement.attrib['source'] in upgrade_help.get('variables', {}).get('remove', []):
- try:
- subelement.remove(subsubelement)
- except:
- pass
- else:
- if subsubelement.attrib['name'] == 'hidden_if_not_in':
- subsubelement.attrib['name'] = 'disabled_if_not_in'
- if subsubelement.attrib['name'] == 'hidden_if_in':
- subsubelement.attrib['name'] = 'disabled_if_in'
- if subsubelement.attrib['name'] == 'frozen_if_in':
- subsubelement.attrib['name'] = 'hidden_if_in'
- self.move(subsubelement, 'fallback', 'optional', optional='True')
- if subsubelement.attrib['source'] in upgrade_help.get('variables', {}).get('rename', []):
- subsubelement.attrib['source'] = upgrade_help.get('variables', {}).get('rename', [])[subsubelement.attrib['source']]
- elif subsubelement.tag == 'group':
- if subsubelement.attrib['master'] in upgrade_help.get('groups', {}).get('remove', []):
- subelement.remove(subsubelement)
- else:
- self.move(subsubelement, 'master', 'leader')
- for follower in subsubelement:
- if '.' in subsubelement.attrib['leader']:
- path = subsubelement.attrib['leader'].rsplit('.', 1)[0] + '.' + follower.text
- else:
- path = follower.text
- self.remove(variables[path], 'multi', optional=True)
- if subsubelement.attrib['leader'] in upgrade_help.get('groups', {}).get('reorder', {}):
- for follower in subsubelement:
- subsubelement.remove(follower)
- for follower in upgrade_help.get('groups', {}).get('reorder', {})[subsubelement.attrib['leader']]:
- SubElement(subsubelement, 'follower').text = follower
- if subelement.tag == 'files':
- current_service = self.upgrade_container(subsubelement, current_service, files, ips, servicelists, upgrade_help)
- subelement.remove(subsubelement)
- if subsubelement.tag == 'family':
- self.remove(subsubelement, 'icon', optional=True)
- if subsubelement.attrib['name'] in upgrade_help.get('families', {}).get('mode', {}).get('remove', []) and 'mode' in subsubelement.attrib:
- del subsubelement.attrib['mode']
- if subsubelement.attrib['name'] in upgrade_help.get('families', {}).get('rename', {}):
- subsubelement.attrib['name'] = upgrade_help.get('families', {}).get('rename', {})[subsubelement.attrib['name']]
- if subsubelement.attrib['name'] in upgrade_help.get('families', {}).get('remove', []):
- subelement.remove(subsubelement)
- continue
- if subsubelement.attrib['name'] in upgrade_help.get('families', {}).get('hidden', {}).get('add', []):
- subsubelement.attrib['hidden'] = 'True'
- if subsubelement.attrib['name'] != normalize_family(subsubelement.attrib['name']):
- if "description" not in subsubelement.attrib:
- subsubelement.attrib['description'] = subsubelement.attrib['name']
- subsubelement.attrib['name'] = normalize_family(subsubelement.attrib['name'])
- families[subsubelement.attrib['name']] = subsubelement
- # if empty, remove
- if is_empty(subelement) or subelement.tag in ['containers', 'files', 'help']:
- root.remove(subelement)
- continue
- # copy subelement
- if subelement.tag == 'constraints':
- constraints_obj = subelement
- services = None
- service_elt = {}
- for variable, obj in upgrade_help.get('variables', {}).get('add', {}).items():
- family = next(iter(families.values()))
- variables[variable] = SubElement(family, 'variable', name=variable)
- if 'value' in obj:
- SubElement(variables[variable], 'value').text = obj['value']
- for name in ['hidden', 'exists']:
- if name in obj:
- variables[variable].attrib[name] = obj[name]
- files_is_empty = True
- for lst in files.values():
- if len(lst):
- files_is_empty = False
- break
- if not files_is_empty:
- services = Element('services')
- root.insert(0, services)
- for service_name, lst in files.items():
- service = self.create_service(services, service_name, service_elt, servicelists, upgrade_help)
- for file_ in lst.values():
- self.move(file_, 'name_type', 'file_type', optional=True)
- if 'file_type' in file_.attrib and file_.attrib['file_type'] == 'SymLinkOption':
- file_.attrib['file_type'] = 'variable'
- if variables[file_.text].attrib['type'] == 'string':
- variables[file_.text].attrib['type'] = 'filename'
- self.remove(file_, 'rm', optional=True)
- self.remove(file_, 'mkdir', optional=True)
- service.append(file_)
- ips_is_empty = True
- for lst in ips.values():
- if len(lst):
- ips_is_empty = False
- break
- if not ips_is_empty:
- if services is None:
- services = Element('services')
- root.insert(0, services)
- for service_name, lst in ips.items():
- service = self.create_service(services, service_name, service_elt, servicelists, upgrade_help)
- for ip in lst:
- if ip.text in upgrade_help.get('ips', {}).get('remove', []):
- continue
- for type in ['ip_type', 'netmask_type']:
- if type in ip.attrib and ip.attrib[type] == 'SymLinkOption':
- ip.attrib[type] = 'variable'
- if 'netmask' in ip.attrib:
- if ip.attrib['netmask'] == '255.255.255.255':
- del ip.attrib['netmask']
- if ip.text in variables and 'type' not in variables[ip.text].attrib:
- variables[ip.text].attrib['type'] = 'ip'
- else:
- if ip.text in variables and 'type' not in variables[ip.text].attrib:
- variables[ip.text].attrib['type'] = 'network'
- if ip.attrib['netmask'] in variables and 'type' not in variables[ip.attrib['netmask']].attrib:
- variables[ip.attrib['netmask']].attrib['type'] = 'netmask'
- elif ip.text in variables and 'type' not in variables[ip.text].attrib:
- variables[ip.text].attrib['type'] = 'ip'
- self.remove(ip, 'interface')
- self.remove(ip, 'interface_type', optional=True)
- self.remove(ip, 'service_restrictionlist', optional=True)
- service.append(ip)
- if ips_is_empty and files_is_empty:
- for service_name in files:
- if services is None:
- services = Element('services')
- root.insert(0, services)
- if service_name != 'unknown':
- self.create_service(services, service_name, service_elt, servicelists, upgrade_help)
- if constraints_obj is None:
- constraints_obj = SubElement(root, 'constraints')
- if variables_auto_valid_enum:
- for type, variables_valid_enum in variables_auto_valid_enum.items():
- valid_enum = SubElement(constraints_obj, 'check')
- valid_enum.attrib['name'] = 'valid_enum'
- for val in type.split('/'):
- param = SubElement(valid_enum, 'param')
- param.text = val
- for variable in variables_valid_enum:
- target = SubElement(valid_enum, 'target')
- target.text = variable
- for name, text in variables_help.items():
- variables[name].attrib['help'] = text
- for name, text in families_help.items():
- if name in upgrade_help.get('families', {}).get('rename', {}):
- name = upgrade_help.get('families', {}).get('rename', {})[name]
- families[normalize_family(name)].attrib['help'] = text
- for auto in autos:
- if auto in variables:
- variables[auto].attrib['hidden'] = 'True'
- else:
- # redefine value in first family
- family = next(iter(families.values()))
- variable = SubElement(family, 'variable', name=auto, redefine="True", hidden="True")
- if self.test:
- del variable.attrib['redefine']
- return root
-
@staticmethod
def move(elt, src, dst, optional=False):
if src == 'text':
@@ -699,7 +993,7 @@ class RougailUpgrade:
service.attrib['servicelist'] = servicelists[service_name]
return service
- def upgrade_container(self, elt, current_service, files, ips, servicelists, upgrade_help):
+ def upgrade_container(self, elt, current_service, files, ip, servicelists, upgrade_help):
if elt.tag == 'file':
self.move(elt, 'name', 'text')
self.remove(elt, 'del_comment', optional=True)
@@ -726,11 +1020,11 @@ class RougailUpgrade:
elt_service = upgrade_help.get('services', {}).get('rename', {})[elt.attrib['service']]
else:
elt_service = elt.attrib['service']
- if elt_service in ips:
+ if elt_service in ip:
service = elt_service
else:
service = current_service
- ips[service].append(restriction)
+ ip[service].append(restriction)
elif elt.tag == 'service':
new_name = elt.text
if current_service == 'unknown':
@@ -738,27 +1032,14 @@ class RougailUpgrade:
raise Exception('hu?')
files[new_name] = files[current_service]
del files[current_service]
- ips[new_name] = ips[current_service]
- del ips[current_service]
+ ip[new_name] = ip[current_service]
+ del ip[current_service]
elif new_name not in files:
files[new_name] = {}
- ips[new_name] = []
+ ip[new_name] = []
current_service = new_name
if 'servicelist' in elt.attrib:
servicelists[current_service] = elt.attrib['servicelist']
else:
raise Exception(f'unknown containers tag {elt.tag}')
return current_service
-
-
-def is_empty(elt, not_check_attrib=False):
- if not not_check_attrib and elt.attrib:
- return False
- empty = True
- for file_ in elt:
- empty = False
- return empty
-
-
-def update_creole_1():
- print('pfff')
diff --git a/src/rougail/utils.py b/src/rougail/utils.py
index 60efff0f5..6328854c7 100644
--- a/src/rougail/utils.py
+++ b/src/rougail/utils.py
@@ -27,13 +27,17 @@ You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
"""
-from typing import List
+from typing import List, Union
from unicodedata import normalize, combining
import re
from importlib.machinery import SourceFileLoader
from importlib.util import spec_from_loader, module_from_spec
+from jinja2 import Undefined, UndefinedError, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from jinja2.utils import missing
+
from .i18n import _
from .error import DictConsistencyError
@@ -69,3 +73,221 @@ def load_modules(eosfunc_file) -> List[str]:
eosfunc = module_from_spec(spec)
loader.exec_module(eosfunc)
return eosfunc
+
+
+class CollectUndefined(Undefined):
+ def __init__(self,
+ hint=None,
+ obj=missing,
+ name=None,
+ exc=UndefinedError,
+ subname=None,
+ ) -> None:
+ self._undefined_hint = hint
+ self._undefined_obj = obj
+ self._undefined_name = name
+ self._undefined_exception = exc
+ if subname:
+ full_name = subname + '.'
+ else:
+ full_name = ''
+ full_name += self._undefined_name
+ self.variables.add(full_name)
+ self._undefined_full_name = full_name
+
+ def __getattr__(self, name):
+ return CollectUndefined(name=name, subname=self._undefined_full_name)
+
+
+def get_jinja_variable_to_param(jinja_text,
+ objectspace,
+ xmlfiles,
+ path_prefix,
+ functions,
+ variable_name,
+ variable_path,
+ ):
+ CollectUndefined.variables = set()
+ try:
+ env = SandboxedEnvironment(loader=DictLoader({'tmpl': jinja_text}),
+ undefined=CollectUndefined,
+ )
+ #add functions as filters
+ env.filters = functions
+ # and functions
+ env.get_template('tmpl').render(**functions)
+ except UndefinedError as err:
+ msg = _(f'error in jinja "{jinja_text}": {err}')
+ raise DictConsistencyError(msg, 91, xmlfiles) from err
+ variables = list(CollectUndefined.variables)
+ variables.sort()
+ for variable in variables:
+ if variable in ['__suffix', '__index']:
+ yield variable
+ if variable in objectspace.variables:
+ yield objectspace.paths[variable]
+
+
+class Calculation:
+ def __init__(self,
+ object_name: str,
+ attribute: str,
+ path: str,
+ datas: Union[dict, List[dict]],
+ filename: str,
+ objectspace: 'RougailConvert',
+ inside_list: bool,
+ ) -> None:
+ if 'type' not in datas:
+ raise Exception(f'the {object_name} "{path}" in "{filename}" must have a "type" attribut for "{attribute}"')
+ self.type = datas.pop('type')
+ self.path = path
+ self.attribute = attribute
+ if self.type != 'suffix':
+ self.value = datas.pop(self.type)
+ if 'params' in datas:
+ if self.type == 'variable':
+ raise Exception('param not allowed with type variable')
+ self.params = datas.pop('params')
+ for key, value in self.params.items():
+ if isinstance(value, dict) and value['type'] == 'variable':
+ variable, suffix = objectspace.paths.get_with_dynamic(value['variable'])
+ if variable:
+ if not isinstance(variable, objectspace.variable):
+ print("pfff it's a family")
+ self.params[key]['variable'] = variable
+ if suffix:
+ self.params[key]['suffix'] = suffix
+ else:
+ if not value.get('optional'):
+ raise Exception('pffff')
+ self.params[key] = None
+ else:
+ self.params = {}
+ if 'return_type' in datas:
+ self.return_type = datas.pop('return_type')
+ if self.return_type not in objectspace.variable_types:
+ raise Exception(f'unknown "return_type" in {attribute} of variable "{self.path}"')
+ else:
+ self.return_type = None
+ if datas:
+ raise Exception('hu.?')
+ self.objectspace = objectspace
+ self.inside_list = inside_list
+
+ def _jinja_to_function(self,
+ function,
+ return_type,
+ multi,
+ ):
+ # FIXME
+ path_prefix = None
+ variable = self.objectspace.paths[self.path]
+ jinja_path = f'{self.attribute}_{self.path}'
+ idx = 0
+ while jinja_path in self.objectspace.jinja:
+ jinja_path = f'{self.attribute}_{self.path}_{idx}'
+ idx += 1
+ self.objectspace.jinja[jinja_path] = self.value
+ default = {'function': function,
+ 'params': {'__internal_jinja': jinja_path,
+ '__internal_type': return_type,
+ '__internal_multi': multi,
+ }
+ }
+ if self.params:
+ default['params'] |= self.params
+ for sub_variable in get_jinja_variable_to_param(self.value,
+ self.objectspace,
+ variable.xmlfiles,
+ path_prefix,
+ self.objectspace.functions,
+ None,
+ None,
+ ):
+ if isinstance(sub_variable, self.objectspace.variable):
+ default['params'][sub_variable.path] = sub_variable
+ return default
+
+ def to_property_function(self) -> dict:
+ if self.return_type:
+ raise Exception('return_type not allowed!')
+ if self.type == 'jinja':
+ if None in self.params:
+ self.params[None] = [self.attribute] + self.params[None]
+ else:
+ self.params[None] = [self.attribute]
+ return self._jinja_to_function('jinja_to_property',
+ 'boolean',
+ False,
+ )
+ if self.type == 'variable':
+ variable = self.objectspace.paths[self.value]
+ if variable.type != 'boolean':
+ raise Exception('only boolean!')
+ default = {'function': 'variable_to_property',
+ 'params': {None: [self.attribute, variable]}
+ }
+ return default
+ raise Exception('pfff')
+
+ def to_default_function(self) -> dict:
+ if self.type == 'jinja':
+ if self.return_type:
+ return_type = self.return_type
+ else:
+ variable = self.objectspace.paths[self.path]
+ return_type = variable.type
+ if self.inside_list:
+ multi = False
+ else:
+ multi = self.path in self.objectspace.multis
+ return self._jinja_to_function('jinja_to_function',
+ return_type,
+ multi,
+ )
+ elif self.type == 'variable':
+ return {'function': 'calc_value',
+ 'params': {None: [self.objectspace.paths[self.value]],
+ 'multi': self.path in self.objectspace.multis,
+ 'allow_none': True,
+ }
+ }
+ elif self.type == 'suffix':
+ if self.params:
+ raise Exception('pfff')
+ return {'function': 'calc_value',
+ 'params': {None: [{'type': 'suffix'}],
+ 'multi': self.objectspace.paths[self.path].multi,
+ }
+ }
+ else:
+ raise Exception('pfff')
+
+ def to_validator_function(self) -> dict:
+ if self.type == 'jinja':
+ return self._jinja_to_function('valid_with_jinja',
+ 'string',
+ False,
+ )
+ else:
+ raise Exception('pfff')
+
+ def to_choice_function(self) -> dict:
+ if self.type == 'jinja':
+ return self._jinja_to_function('jinja_to_function',
+ self.return_type,
+ not self.inside_list,
+ )
+ elif self.type == 'variable':
+ variable = self.objectspace.paths[self.value]
+ if self.path in self.objectspace.multis is self.inside_list:
+ raise Exception('pffff')
+ return {'function': 'calc_value',
+ 'params': {None: [self.objectspace.paths[self.value]],
+ 'multi': True,
+ 'allow_none': True,
+ }
+ }
+ else:
+ raise Exception('pfff')
diff --git a/tests/dictionaries/00empty/tiramisu/base.py b/tests/dictionaries/00empty/tiramisu/base.py
index d143ac176..b52a0a626 100644
--- a/tests/dictionaries/00empty/tiramisu/base.py
+++ b/tests/dictionaries/00empty/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,20 +17,6 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = BoolOption(name="activate", doc="activate", default=True)
-option_2 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_4 = OptionDescription(name="tata_service", doc="tata.service", children=[option_1, option_2])
-optiondescription_4.impl_set_information('type', "service")
-optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[])
diff --git a/tests/dictionaries/00empty_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/00empty_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..321ae7f02
--- /dev/null
+++ b/tests/dictionaries/00empty_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,3 @@
+version: '1.0'
+my_family:
+
diff --git a/tests/dictionaries/00empty_subfamily/dictionaries/rougail/00-base.yml b/tests/dictionaries/00empty_subfamily/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b8db3c3e3
--- /dev/null
+++ b/tests/dictionaries/00empty_subfamily/dictionaries/rougail/00-base.yml
@@ -0,0 +1,3 @@
+version: '1.0'
+my_family:
+ my_sub_family:
diff --git a/tests/dictionaries/00load_autofreeze/makedict/after.json b/tests/dictionaries/00load_autofreeze/makedict/after.json
deleted file mode 100644
index 36e336b25..000000000
--- a/tests/dictionaries/00load_autofreeze/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.myvar": {
- "owner": "forced",
- "value": "no"
- },
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries/00load_autofreeze/makedict/base.json b/tests/dictionaries/00load_autofreeze/makedict/base.json
deleted file mode 100644
index 92b8b0109..000000000
--- a/tests/dictionaries/00load_autofreeze/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.myvar": "no",
- "rougail.server_deployed": false
-}
diff --git a/tests/dictionaries/00load_autofreeze/makedict/before.json b/tests/dictionaries/00load_autofreeze/makedict/before.json
deleted file mode 100644
index eaf8d2ecf..000000000
--- a/tests/dictionaries/00load_autofreeze/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.myvar": {
- "owner": "default",
- "value": "no"
- },
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries/00load_autofreeze/tiramisu/base.py b/tests/dictionaries/00load_autofreeze/tiramisu/base.py
deleted file mode 100644
index d0d5a2e05..000000000
--- a/tests/dictionaries/00load_autofreeze/tiramisu/base.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_1 = StrOption(name="myvar", doc="myvar", default="no", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"basic"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
diff --git a/tests/dictionaries/00load_autofreeze/tiramisu/multi.py b/tests/dictionaries/00load_autofreeze/tiramisu/multi.py
deleted file mode 100644
index cce87cd7e..000000000
--- a/tests/dictionaries/00load_autofreeze/tiramisu/multi.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_1 = StrOption(name="myvar", doc="myvar", default="no", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
-optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"basic"}))
-optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
-option_4 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="myvar", doc="myvar", default="no", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_4, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
-optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_3, option_4], properties=frozenset({"basic"}))
-optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries/00load_autofreeze/xml/00-base.xml b/tests/dictionaries/00load_autofreeze/xml/00-base.xml
deleted file mode 100644
index 96d545532..000000000
--- a/tests/dictionaries/00load_autofreeze/xml/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- no
-
-
- False
-
-
-
diff --git a/tests/dictionaries/00load_autofreeze/yml/00-base.yml b/tests/dictionaries/00load_autofreeze/yml/00-base.yml
deleted file mode 100644
index c42e2e729..000000000
--- a/tests/dictionaries/00load_autofreeze/yml/00-base.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-version: '0.10'
-variables:
-- variable:
- - name: myvar
- auto_freeze: true
- value:
- - text: 'no'
- - name: server_deployed
- type: boolean
- value:
- - text: false
diff --git a/tests/dictionaries/00load_autofreezeexpert/makedict/after.json b/tests/dictionaries/00load_autofreezeexpert/makedict/after.json
deleted file mode 100644
index 1082f86ab..000000000
--- a/tests/dictionaries/00load_autofreezeexpert/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.my_var": {
- "owner": "forced",
- "value": "no"
- },
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries/00load_autofreezeexpert/makedict/base.json b/tests/dictionaries/00load_autofreezeexpert/makedict/base.json
deleted file mode 100644
index 911baaaeb..000000000
--- a/tests/dictionaries/00load_autofreezeexpert/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.my_var": "no",
- "rougail.server_deployed": false
-}
diff --git a/tests/dictionaries/00load_autofreezeexpert/makedict/before.json b/tests/dictionaries/00load_autofreezeexpert/makedict/before.json
deleted file mode 100644
index 7c8f380b7..000000000
--- a/tests/dictionaries/00load_autofreezeexpert/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.my_var": {
- "owner": "default",
- "value": "no"
- },
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries/00load_autofreezeexpert/tiramisu/base.py b/tests/dictionaries/00load_autofreezeexpert/tiramisu/base.py
deleted file mode 100644
index 779f4d13b..000000000
--- a/tests/dictionaries/00load_autofreezeexpert/tiramisu/base.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_1 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"expert", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
diff --git a/tests/dictionaries/00load_autofreezeexpert/tiramisu/multi.py b/tests/dictionaries/00load_autofreezeexpert/tiramisu/multi.py
deleted file mode 100644
index c195fb228..000000000
--- a/tests/dictionaries/00load_autofreezeexpert/tiramisu/multi.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_1 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"expert", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
-optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
-option_4 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"expert", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_4, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
-optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_3, option_4], properties=frozenset({"normal"}))
-optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries/00load_autofreezeexpert/xml/00-base.xml b/tests/dictionaries/00load_autofreezeexpert/xml/00-base.xml
deleted file mode 100644
index 7b8fbc534..000000000
--- a/tests/dictionaries/00load_autofreezeexpert/xml/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- no
-
-
- False
-
-
-
diff --git a/tests/dictionaries/00load_autofreezeexpert/yml/00-base.yml b/tests/dictionaries/00load_autofreezeexpert/yml/00-base.yml
deleted file mode 100644
index f1f146461..000000000
--- a/tests/dictionaries/00load_autofreezeexpert/yml/00-base.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-version: '0.10'
-variables:
-- variable:
- - name: my_var
- auto_freeze: true
- mode: expert
- value:
- - text: 'no'
- - name: server_deployed
- type: boolean
- value:
- - text: false
diff --git a/tests/dictionaries/00load_autosave/makedict/after.json b/tests/dictionaries/00load_autosave/makedict/after.json
deleted file mode 100644
index b749ddd81..000000000
--- a/tests/dictionaries/00load_autosave/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.server_deployed": {
- "owner": "default",
- "value": true
- },
- "rougail.general.mode_conteneur_actif": {
- "owner": "forced",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/00load_autosave/makedict/base.json b/tests/dictionaries/00load_autosave/makedict/base.json
deleted file mode 100644
index 90c5c76d9..000000000
--- a/tests/dictionaries/00load_autosave/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.server_deployed": true,
- "rougail.general.mode_conteneur_actif": "non"
-}
diff --git a/tests/dictionaries/00load_autosave/makedict/before.json b/tests/dictionaries/00load_autosave/makedict/before.json
deleted file mode 100644
index 91cd78bcc..000000000
--- a/tests/dictionaries/00load_autosave/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.server_deployed": {
- "owner": "default",
- "value": true
- },
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/00load_autosave/tiramisu/base.py b/tests/dictionaries/00load_autosave/tiramisu/base.py
deleted file mode 100644
index f5c517efc..000000000
--- a/tests/dictionaries/00load_autosave/tiramisu/base.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"basic", "force_store_value", "mandatory"}))
-optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"basic"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, optiondescription_2], properties=frozenset({"basic"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/00load_autosaveexpert/makedict/after.json b/tests/dictionaries/00load_autosaveexpert/makedict/after.json
deleted file mode 100644
index b749ddd81..000000000
--- a/tests/dictionaries/00load_autosaveexpert/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.server_deployed": {
- "owner": "default",
- "value": true
- },
- "rougail.general.mode_conteneur_actif": {
- "owner": "forced",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/00load_autosaveexpert/makedict/base.json b/tests/dictionaries/00load_autosaveexpert/makedict/base.json
deleted file mode 100644
index 90c5c76d9..000000000
--- a/tests/dictionaries/00load_autosaveexpert/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.server_deployed": true,
- "rougail.general.mode_conteneur_actif": "non"
-}
diff --git a/tests/dictionaries/00load_autosaveexpert/makedict/before.json b/tests/dictionaries/00load_autosaveexpert/makedict/before.json
deleted file mode 100644
index 91cd78bcc..000000000
--- a/tests/dictionaries/00load_autosaveexpert/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.server_deployed": {
- "owner": "default",
- "value": true
- },
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/00load_autosaveexpert/tiramisu/base.py b/tests/dictionaries/00load_autosaveexpert/tiramisu/base.py
deleted file mode 100644
index 770e2cb42..000000000
--- a/tests/dictionaries/00load_autosaveexpert/tiramisu/base.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "force_store_value", "mandatory"}))
-optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"expert"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, optiondescription_2], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/00load_comment/tiramisu/base.py b/tests/dictionaries/00load_comment/tiramisu/base.py
deleted file mode 100644
index de3c63d9f..000000000
--- a/tests/dictionaries/00load_comment/tiramisu/base.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
diff --git a/tests/dictionaries/00load_notype/dictionaries/rougail/00-base.yml b/tests/dictionaries/00load_notype/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1355fc8a8
--- /dev/null
+++ b/tests/dictionaries/00load_notype/dictionaries/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ without_type:
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/00load_notype/tiramisu/base.py b/tests/dictionaries/00load_notype/tiramisu/base.py
index 2e9ba75fc..8c18e85be 100644
--- a/tests/dictionaries/00load_notype/tiramisu/base.py
+++ b/tests/dictionaries/00load_notype/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,19 +17,10 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_3 = StrOption(name="without_type", doc="without_type", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="without_type", doc="without_type", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00load_save/dictionaries/rougail/00-base.yml b/tests/dictionaries/00load_save/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1085cc1cc
--- /dev/null
+++ b/tests/dictionaries/00load_save/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/00load_save/tiramisu/base.py b/tests/dictionaries/00load_save/tiramisu/base.py
index de3c63d9f..084079042 100644
--- a/tests/dictionaries/00load_save/tiramisu/base.py
+++ b/tests/dictionaries/00load_save/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00load_subfolder/dictionaries/rougail/99-base.yml b/tests/dictionaries/00load_subfolder/dictionaries/rougail/99-base.yml
new file mode 100644
index 000000000..1085cc1cc
--- /dev/null
+++ b/tests/dictionaries/00load_subfolder/dictionaries/rougail/99-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/01auto_autofreeze/makedict/after.json b/tests/dictionaries/01auto_autofreeze/makedict/after.json
deleted file mode 100644
index 5c307f3b6..000000000
--- a/tests/dictionaries/01auto_autofreeze/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- },
- "rougail.my_variable": {
- "owner": "forced",
- "value": "yes"
- }
-}
diff --git a/tests/dictionaries/01auto_autofreeze/makedict/base.json b/tests/dictionaries/01auto_autofreeze/makedict/base.json
deleted file mode 100644
index 2ca3008f9..000000000
--- a/tests/dictionaries/01auto_autofreeze/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.server_deployed": false,
- "rougail.my_variable": "yes"
-}
diff --git a/tests/dictionaries/01auto_autofreeze/makedict/before.json b/tests/dictionaries/01auto_autofreeze/makedict/before.json
deleted file mode 100644
index b2905faac..000000000
--- a/tests/dictionaries/01auto_autofreeze/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- },
- "rougail.my_variable": {
- "owner": "default",
- "value": "yes"
- }
-}
diff --git a/tests/dictionaries/01auto_autofreeze/tiramisu/base.py b/tests/dictionaries/01auto_autofreeze/tiramisu/base.py
deleted file mode 100644
index 1725d234a..000000000
--- a/tests/dictionaries/01auto_autofreeze/tiramisu/base.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="my_variable", doc="my_variable", default=Calculation(func.calc_val, Params((ParamValue("yes")))), properties=frozenset({"basic", "force_store_value", "hidden", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_1, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"basic"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
diff --git a/tests/dictionaries/01auto_autofreeze/tiramisu/multi.py b/tests/dictionaries/01auto_autofreeze/tiramisu/multi.py
deleted file mode 100644
index c4f0540cb..000000000
--- a/tests/dictionaries/01auto_autofreeze/tiramisu/multi.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="my_variable", doc="my_variable", default=Calculation(func.calc_val, Params((ParamValue("yes")))), properties=frozenset({"basic", "force_store_value", "hidden", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_1, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
-optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"basic"}))
-optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
-option_3 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="my_variable", doc="my_variable", default=Calculation(func.calc_val, Params((ParamValue("yes")))), properties=frozenset({"basic", "force_store_value", "hidden", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
-optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_3, option_4], properties=frozenset({"basic"}))
-optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries/01auto_autofreeze/xml/00-base.xml b/tests/dictionaries/01auto_autofreeze/xml/00-base.xml
deleted file mode 100644
index 64580adeb..000000000
--- a/tests/dictionaries/01auto_autofreeze/xml/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- False
-
-
- no
-
-
-
-
- yes
- my_variable
-
-
-
diff --git a/tests/dictionaries/01auto_autofreeze/yml/00-base.yml b/tests/dictionaries/01auto_autofreeze/yml/00-base.yml
deleted file mode 100644
index 42bcf3aa8..000000000
--- a/tests/dictionaries/01auto_autofreeze/yml/00-base.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-version: '0.10'
-variables:
-- variable:
- - name: server_deployed
- type: boolean
- value:
- - text: false
- - name: my_variable
- auto_freeze: true
- hidden: true
- value:
- - text: 'no'
-constraints:
-- fill:
- - name: calc_val
- param:
- - text: 'yes'
- target:
- - text: my_variable
diff --git a/tests/dictionaries/01auto_base/tiramisu/base.py b/tests/dictionaries/01auto_base/tiramisu/base.py
deleted file mode 100644
index 557b85fbb..000000000
--- a/tests/dictionaries/01auto_base/tiramisu/base.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamOption(option_3)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/01auto_jinja_base/tiramisu/base.py b/tests/dictionaries/01auto_jinja_base/tiramisu/base.py
deleted file mode 100644
index 8e310f962..000000000
--- a/tests/dictionaries/01auto_jinja_base/tiramisu/base.py
+++ /dev/null
@@ -1,60 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-from jinja2 import StrictUndefined, DictLoader
-from jinja2.sandbox import SandboxedEnvironment
-from rougail.annotator.variable import CONVERT_OPTION
-def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
- kw = {}
- for key, value in kwargs.items():
- if '.' in key:
- c_kw = kw
- path, var = key.rsplit('.', 1)
- for subkey in path.split('.'):
- c_kw = c_kw.setdefault(subkey, {})
- c_kw[var] = value
- else:
- kw[key] = value
- values = ENV.get_template(__internal_jinja).render(kw)
- convert = CONVERT_OPTION[__internal_type].get('func', str)
- if __internal_multi:
- return [convert(val) for val in values.split(',')]
- return convert(values)
-def valid_with_jinja(value, **kwargs):
- kwargs[kwargs.pop('__internal_key')] = value
- value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
- if value:
- raise ValueError(value)
-func.jinja_to_function = jinja_to_function
-func.valid_with_jinja = valid_with_jinja
-dict_env = {}
-dict_env['rougail.general.mode_conteneur_actif'] = "{{ mode_conteneur_actif1 }}"
-ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
-ENV.compile_templates('jinja_caches', zip=None)
-option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("rougail.general.mode_conteneur_actif"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), 'mode_conteneur_actif1': ParamOption(option_3)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/01auto_jinja_base/xml/00-base.xml b/tests/dictionaries/01auto_jinja_base/xml/00-base.xml
deleted file mode 100644
index e1cc52f8e..000000000
--- a/tests/dictionaries/01auto_jinja_base/xml/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries/01auto_jinja_full_path/makedict/after.json b/tests/dictionaries/01auto_jinja_full_path/makedict/after.json
deleted file mode 100644
index 6ebfbbe96..000000000
--- a/tests/dictionaries/01auto_jinja_full_path/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01auto_jinja_full_path/makedict/base.json b/tests/dictionaries/01auto_jinja_full_path/makedict/base.json
deleted file mode 100644
index 3f1a7b004..000000000
--- a/tests/dictionaries/01auto_jinja_full_path/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "rougail.general.mode_conteneur_actif1": "non"
-}
diff --git a/tests/dictionaries/01auto_jinja_full_path/makedict/before.json b/tests/dictionaries/01auto_jinja_full_path/makedict/before.json
deleted file mode 100644
index 6ebfbbe96..000000000
--- a/tests/dictionaries/01auto_jinja_full_path/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01auto_jinja_full_path/tiramisu/base.py b/tests/dictionaries/01auto_jinja_full_path/tiramisu/base.py
deleted file mode 100644
index 9a2616f59..000000000
--- a/tests/dictionaries/01auto_jinja_full_path/tiramisu/base.py
+++ /dev/null
@@ -1,60 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-from jinja2 import StrictUndefined, DictLoader
-from jinja2.sandbox import SandboxedEnvironment
-from rougail.annotator.variable import CONVERT_OPTION
-def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
- kw = {}
- for key, value in kwargs.items():
- if '.' in key:
- c_kw = kw
- path, var = key.rsplit('.', 1)
- for subkey in path.split('.'):
- c_kw = c_kw.setdefault(subkey, {})
- c_kw[var] = value
- else:
- kw[key] = value
- values = ENV.get_template(__internal_jinja).render(kw)
- convert = CONVERT_OPTION[__internal_type].get('func', str)
- if __internal_multi:
- return [convert(val) for val in values.split(',')]
- return convert(values)
-def valid_with_jinja(value, **kwargs):
- kwargs[kwargs.pop('__internal_key')] = value
- value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
- if value:
- raise ValueError(value)
-func.jinja_to_function = jinja_to_function
-func.valid_with_jinja = valid_with_jinja
-dict_env = {}
-dict_env['rougail.general.mode_conteneur_actif'] = "{{ rougail.general.mode_conteneur_actif1 }}"
-ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
-ENV.compile_templates('jinja_caches', zip=None)
-option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("rougail.general.mode_conteneur_actif"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), 'rougail.general.mode_conteneur_actif1': ParamOption(option_3)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/01auto_jinja_if/tiramisu/base.py b/tests/dictionaries/01auto_jinja_if/tiramisu/base.py
deleted file mode 100644
index e056854e2..000000000
--- a/tests/dictionaries/01auto_jinja_if/tiramisu/base.py
+++ /dev/null
@@ -1,62 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-from jinja2 import StrictUndefined, DictLoader
-from jinja2.sandbox import SandboxedEnvironment
-from rougail.annotator.variable import CONVERT_OPTION
-def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
- kw = {}
- for key, value in kwargs.items():
- if '.' in key:
- c_kw = kw
- path, var = key.rsplit('.', 1)
- for subkey in path.split('.'):
- c_kw = c_kw.setdefault(subkey, {})
- c_kw[var] = value
- else:
- kw[key] = value
- values = ENV.get_template(__internal_jinja).render(kw)
- convert = CONVERT_OPTION[__internal_type].get('func', str)
- if __internal_multi:
- return [convert(val) for val in values.split(',')]
- return convert(values)
-def valid_with_jinja(value, **kwargs):
- kwargs[kwargs.pop('__internal_key')] = value
- value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
- if value:
- raise ValueError(value)
-func.jinja_to_function = jinja_to_function
-func.valid_with_jinja = valid_with_jinja
-dict_env = {}
-dict_env['rougail.general.mode_conteneur_actif'] = "{% if mode_conteneur_actif1 == 'non' %}non{% else %}oui{% endif %}"
-dict_env['rougail.general.mode_conteneur_actif2'] = "{% if mode_conteneur_actif1 == \"non\" %}oui{% else %}non{% endif %}"
-ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
-ENV.compile_templates('jinja_caches', zip=None)
-option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("rougail.general.mode_conteneur_actif"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), 'mode_conteneur_actif1': ParamOption(option_3)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("rougail.general.mode_conteneur_actif2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), 'mode_conteneur_actif1': ParamOption(option_3)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5])
diff --git a/tests/dictionaries/01auto_jinja_if_bool/tiramisu/base.py b/tests/dictionaries/01auto_jinja_if_bool/tiramisu/base.py
deleted file mode 100644
index ebe8a38f5..000000000
--- a/tests/dictionaries/01auto_jinja_if_bool/tiramisu/base.py
+++ /dev/null
@@ -1,62 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-from jinja2 import StrictUndefined, DictLoader
-from jinja2.sandbox import SandboxedEnvironment
-from rougail.annotator.variable import CONVERT_OPTION
-def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
- kw = {}
- for key, value in kwargs.items():
- if '.' in key:
- c_kw = kw
- path, var = key.rsplit('.', 1)
- for subkey in path.split('.'):
- c_kw = c_kw.setdefault(subkey, {})
- c_kw[var] = value
- else:
- kw[key] = value
- values = ENV.get_template(__internal_jinja).render(kw)
- convert = CONVERT_OPTION[__internal_type].get('func', str)
- if __internal_multi:
- return [convert(val) for val in values.split(',')]
- return convert(values)
-def valid_with_jinja(value, **kwargs):
- kwargs[kwargs.pop('__internal_key')] = value
- value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
- if value:
- raise ValueError(value)
-func.jinja_to_function = jinja_to_function
-func.valid_with_jinja = valid_with_jinja
-dict_env = {}
-dict_env['rougail.general.multi1'] = "{% if bool %}True,False{% else %}False{% endif %}"
-dict_env['rougail.general.multi2'] = "{% if not bool %}True,False{% else %}False{% endif %}"
-ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
-ENV.compile_templates('jinja_caches', zip=None)
-option_2 = BoolOption(name="bool", doc="bool", default=True, properties=frozenset({"mandatory", "normal"}))
-option_3 = BoolOption(name="multi1", doc="multi1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("rougail.general.multi1"), '__internal_type': ParamValue("boolean"), '__internal_multi': ParamValue(True), 'bool': ParamOption(option_2)})), properties=frozenset({"normal"}))
-option_4 = BoolOption(name="multi2", doc="multi2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("rougail.general.multi2"), '__internal_type': ParamValue("boolean"), '__internal_multi': ParamValue(True), 'bool': ParamOption(option_2)})), properties=frozenset({"normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5])
diff --git a/tests/dictionaries/01auto_jinja_if_bool/xml/00-base.xml b/tests/dictionaries/01auto_jinja_if_bool/xml/00-base.xml
deleted file mode 100644
index 08f4810e2..000000000
--- a/tests/dictionaries/01auto_jinja_if_bool/xml/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- multi1
-
-
- multi2
-
-
-
diff --git a/tests/dictionaries/01auto_jinja_if_int/tiramisu/base.py b/tests/dictionaries/01auto_jinja_if_int/tiramisu/base.py
deleted file mode 100644
index d0b47e92a..000000000
--- a/tests/dictionaries/01auto_jinja_if_int/tiramisu/base.py
+++ /dev/null
@@ -1,61 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-from jinja2 import StrictUndefined, DictLoader
-from jinja2.sandbox import SandboxedEnvironment
-from rougail.annotator.variable import CONVERT_OPTION
-def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
- kw = {}
- for key, value in kwargs.items():
- if '.' in key:
- c_kw = kw
- path, var = key.rsplit('.', 1)
- for subkey in path.split('.'):
- c_kw = c_kw.setdefault(subkey, {})
- c_kw[var] = value
- else:
- kw[key] = value
- values = ENV.get_template(__internal_jinja).render(kw)
- convert = CONVERT_OPTION[__internal_type].get('func', str)
- if __internal_multi:
- return [convert(val) for val in values.split(',')]
- return convert(values)
-def valid_with_jinja(value, **kwargs):
- kwargs[kwargs.pop('__internal_key')] = value
- value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
- if value:
- raise ValueError(value)
-func.jinja_to_function = jinja_to_function
-func.valid_with_jinja = valid_with_jinja
-dict_env = {}
-dict_env['rougail.int1'] = "{% if bool %}1{% else %}2{% endif %}"
-dict_env['rougail.int2'] = "{% if not bool %}3{% else %}4{% endif %}"
-ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
-ENV.compile_templates('jinja_caches', zip=None)
-option_1 = BoolOption(name="bool", doc="bool", default=True, properties=frozenset({"mandatory", "normal"}))
-option_2 = IntOption(name="int1", doc="int1", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("rougail.int1"), '__internal_type': ParamValue("number"), '__internal_multi': ParamValue(False), 'bool': ParamOption(option_1)})), properties=frozenset({"normal"}))
-option_3 = IntOption(name="int2", doc="int2", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("rougail.int2"), '__internal_type': ParamValue("number"), '__internal_multi': ParamValue(False), 'bool': ParamOption(option_1)})), properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2, option_3], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/01auto_jinja_set/tiramisu/base.py b/tests/dictionaries/01auto_jinja_set/tiramisu/base.py
deleted file mode 100644
index 2054fb205..000000000
--- a/tests/dictionaries/01auto_jinja_set/tiramisu/base.py
+++ /dev/null
@@ -1,61 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-from jinja2 import StrictUndefined, DictLoader
-from jinja2.sandbox import SandboxedEnvironment
-from rougail.annotator.variable import CONVERT_OPTION
-def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
- kw = {}
- for key, value in kwargs.items():
- if '.' in key:
- c_kw = kw
- path, var = key.rsplit('.', 1)
- for subkey in path.split('.'):
- c_kw = c_kw.setdefault(subkey, {})
- c_kw[var] = value
- else:
- kw[key] = value
- values = ENV.get_template(__internal_jinja).render(kw)
- convert = CONVERT_OPTION[__internal_type].get('func', str)
- if __internal_multi:
- return [convert(val) for val in values.split(',')]
- return convert(values)
-def valid_with_jinja(value, **kwargs):
- kwargs[kwargs.pop('__internal_key')] = value
- value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
- if value:
- raise ValueError(value)
-func.jinja_to_function = jinja_to_function
-func.valid_with_jinja = valid_with_jinja
-dict_env = {}
-dict_env['rougail.int1'] = "{%set bool1 = bool %}{% if bool1 %}1{% else %}2{% endif %}"
-dict_env['rougail.int2'] = "{%set bool1 = bool %}{% if not bool1 %}3{% else %}4{% endif %}"
-ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
-ENV.compile_templates('jinja_caches', zip=None)
-option_1 = BoolOption(name="bool", doc="bool", default=True, properties=frozenset({"mandatory", "normal"}))
-option_2 = IntOption(name="int1", doc="int1", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("rougail.int1"), '__internal_type': ParamValue("number"), '__internal_multi': ParamValue(False), 'bool': ParamOption(option_1)})), properties=frozenset({"normal"}))
-option_3 = IntOption(name="int2", doc="int2", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("rougail.int2"), '__internal_type': ParamValue("number"), '__internal_multi': ParamValue(False), 'bool': ParamOption(option_1)})), properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2, option_3], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/01auto_withoutparam/makedict/after.json b/tests/dictionaries/01auto_withoutparam/makedict/after.json
deleted file mode 100644
index 477ccc55e..000000000
--- a/tests/dictionaries/01auto_withoutparam/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": null
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01auto_withoutparam/makedict/base.json b/tests/dictionaries/01auto_withoutparam/makedict/base.json
deleted file mode 100644
index f8d69705a..000000000
--- a/tests/dictionaries/01auto_withoutparam/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": null,
- "rougail.general.mode_conteneur_actif1": "non"
-}
diff --git a/tests/dictionaries/01auto_withoutparam/makedict/before.json b/tests/dictionaries/01auto_withoutparam/makedict/before.json
deleted file mode 100644
index 477ccc55e..000000000
--- a/tests/dictionaries/01auto_withoutparam/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": null
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01auto_withoutparam/tiramisu/base.py b/tests/dictionaries/01auto_withoutparam/tiramisu/base.py
deleted file mode 100644
index 0b341cc62..000000000
--- a/tests/dictionaries/01auto_withoutparam/tiramisu/base.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params(())), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/01base_certificate_owner/tiramisu/base.py b/tests/dictionaries/01base_certificate_owner/tiramisu/base.py
deleted file mode 100644
index c5a1cb034..000000000
--- a/tests/dictionaries/01base_certificate_owner/tiramisu/base.py
+++ /dev/null
@@ -1,42 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = DomainnameOption(name="server_name", doc="server_name", default="example.net", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
-optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_6 = SymLinkOption(name="domain", opt=option_1)
-option_7 = StrOption(name="name", doc="name", default="certificate")
-option_8 = UsernameOption(name="owner", doc="owner", default="example")
-option_5 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_4 = OptionDescription(name="certificate", doc="certificate", children=[option_6, option_7, option_8, option_5])
-optiondescription_4.impl_set_information('authority', "authority")
-optiondescription_4.impl_set_information('format', "cert_key")
-optiondescription_4.impl_set_information('type', "client")
-optiondescription_3 = OptionDescription(name="certificates", doc="certificates", children=[optiondescription_4])
-option_2 = BoolOption(name="activate", doc="activate", default=True)
-option_9 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_12 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_3, option_2, option_9])
-optiondescription_12.impl_set_information('type', "service")
-optiondescription_11 = OptionDescription(name="services", doc="services", children=[optiondescription_12], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_10, optiondescription_11])
diff --git a/tests/dictionaries/01base_certificate_owner_variable/tiramisu/base.py b/tests/dictionaries/01base_certificate_owner_variable/tiramisu/base.py
deleted file mode 100644
index 3ea321e46..000000000
--- a/tests/dictionaries/01base_certificate_owner_variable/tiramisu/base.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = UsernameOption(name="owner", doc="owner", default="example", properties=frozenset({"mandatory", "normal"}))
-option_2 = DomainnameOption(name="server_name", doc="server_name", default="example.net", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
-optiondescription_11 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-option_7 = SymLinkOption(name="domain", opt=option_2)
-option_8 = StrOption(name="name", doc="name", default="certificate")
-option_9 = SymLinkOption(name="owner", opt=option_1)
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="certificate", doc="certificate", children=[option_7, option_8, option_9, option_6])
-optiondescription_5.impl_set_information('authority', "authority")
-optiondescription_5.impl_set_information('format', "cert_key")
-optiondescription_5.impl_set_information('type', "client")
-optiondescription_4 = OptionDescription(name="certificates", doc="certificates", children=[optiondescription_5])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_13 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_10])
-optiondescription_13.impl_set_information('type', "service")
-optiondescription_12 = OptionDescription(name="services", doc="services", children=[optiondescription_13], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_12])
diff --git a/tests/dictionaries/01base_domainname/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_domainname/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..72519737a
--- /dev/null
+++ b/tests/dictionaries/01base_domainname/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+---
+version: '1.0'
+general:
+ domain:
+ type: domainname
+ description: Description
+ default: my.domain.name
diff --git a/tests/dictionaries/01base_domainname/tiramisu/base.py b/tests/dictionaries/01base_domainname/tiramisu/base.py
index 6b6ac0fa9..7a743047d 100644
--- a/tests/dictionaries/01base_domainname/tiramisu/base.py
+++ b/tests/dictionaries/01base_domainname/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = DomainnameOption(name="domain", doc="Description", default="my.domain.name", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = DomainnameOption(name="domain", doc="Description", default="my.domain.name", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_file/result/etc/file b/tests/dictionaries/01base_file/result/etc/file
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file/result/etc/file
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file/result/etc/file2 b/tests/dictionaries/01base_file/result/etc/file2
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file/result/etc/file2
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 8a8e63080..000000000
--- a/tests/dictionaries/01base_file/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
diff --git a/tests/dictionaries/01base_file/tiramisu/base.py b/tests/dictionaries/01base_file/tiramisu/base.py
deleted file mode 100644
index b934bf782..000000000
--- a/tests/dictionaries/01base_file/tiramisu/base.py
+++ /dev/null
@@ -1,44 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_8 = StrOption(name="source", doc="source", default="file")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="file", doc="file", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = StrOption(name="source", doc="source", default="file2")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12, option_10])
-optiondescription_9.impl_set_information('engine', "jinja")
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_16 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_13])
-optiondescription_16.impl_set_information('type', "service")
-optiondescription_15 = OptionDescription(name="services", doc="services", children=[optiondescription_16], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_14, optiondescription_15])
diff --git a/tests/dictionaries/01base_file_disabled/result/etc/file b/tests/dictionaries/01base_file_disabled/result/etc/file
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file_disabled/result/etc/file
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file_disabled/result/etc/file2 b/tests/dictionaries/01base_file_disabled/result/etc/file2
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file_disabled/result/etc/file2
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file_disabled/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_disabled/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 8a8e63080..000000000
--- a/tests/dictionaries/01base_file_disabled/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
diff --git a/tests/dictionaries/01base_file_disabled/tiramisu/base.py b/tests/dictionaries/01base_file_disabled/tiramisu/base.py
deleted file mode 100644
index 092f40d39..000000000
--- a/tests/dictionaries/01base_file_disabled/tiramisu/base.py
+++ /dev/null
@@ -1,48 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_8 = StrOption(name="source", doc="source", default="file")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="file", doc="file", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = StrOption(name="source", doc="source", default="file2")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12, option_10])
-optiondescription_9.impl_set_information('engine', "jinja")
-option_15 = FilenameOption(name="name", doc="name", default="/etc/file3")
-option_16 = StrOption(name="source", doc="source", default="file3")
-option_14 = BoolOption(name="activate", doc="activate", default=False)
-optiondescription_13 = OptionDescription(name="file3", doc="file3", children=[option_15, option_16, option_14])
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9, optiondescription_13])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_17 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_20 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_17])
-optiondescription_20.impl_set_information('type', "service")
-optiondescription_19 = OptionDescription(name="services", doc="services", children=[optiondescription_20], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_18, optiondescription_19])
diff --git a/tests/dictionaries/01base_file_include/result/etc/file b/tests/dictionaries/01base_file_include/result/etc/file
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries/01base_file_include/result/etc/file
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries/01base_file_include/result/etc/file2 b/tests/dictionaries/01base_file_include/result/etc/file2
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries/01base_file_include/result/etc/file2
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries/01base_file_include/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_include/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 8a8e63080..000000000
--- a/tests/dictionaries/01base_file_include/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
diff --git a/tests/dictionaries/01base_file_include/tiramisu/base.py b/tests/dictionaries/01base_file_include/tiramisu/base.py
deleted file mode 100644
index b934bf782..000000000
--- a/tests/dictionaries/01base_file_include/tiramisu/base.py
+++ /dev/null
@@ -1,44 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_8 = StrOption(name="source", doc="source", default="file")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="file", doc="file", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = StrOption(name="source", doc="source", default="file2")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12, option_10])
-optiondescription_9.impl_set_information('engine', "jinja")
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_16 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_13])
-optiondescription_16.impl_set_information('type', "service")
-optiondescription_15 = OptionDescription(name="services", doc="services", children=[optiondescription_16], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_14, optiondescription_15])
diff --git a/tests/dictionaries/01base_file_include/tmpl/file b/tests/dictionaries/01base_file_include/tmpl/file
deleted file mode 100644
index 19f93237a..000000000
--- a/tests/dictionaries/01base_file_include/tmpl/file
+++ /dev/null
@@ -1 +0,0 @@
-%include "incfile"
diff --git a/tests/dictionaries/01base_file_include/tmpl/file2 b/tests/dictionaries/01base_file_include/tmpl/file2
deleted file mode 100644
index 6e61e8c69..000000000
--- a/tests/dictionaries/01base_file_include/tmpl/file2
+++ /dev/null
@@ -1 +0,0 @@
-{% include "incfile2" %}
diff --git a/tests/dictionaries/01base_file_include/tmpl/incfile b/tests/dictionaries/01base_file_include/tmpl/incfile
deleted file mode 100644
index a29cfeaf3..000000000
--- a/tests/dictionaries/01base_file_include/tmpl/incfile
+++ /dev/null
@@ -1 +0,0 @@
-%%mode_conteneur_actif
diff --git a/tests/dictionaries/01base_file_include/tmpl/incfile2 b/tests/dictionaries/01base_file_include/tmpl/incfile2
deleted file mode 100644
index db665a0e7..000000000
--- a/tests/dictionaries/01base_file_include/tmpl/incfile2
+++ /dev/null
@@ -1 +0,0 @@
-{{ mode_conteneur_actif }}
diff --git a/tests/dictionaries/01base_file_include_content/makedict/after.json b/tests/dictionaries/01base_file_include_content/makedict/after.json
deleted file mode 100644
index e3d3f7cd8..000000000
--- a/tests/dictionaries/01base_file_include_content/makedict/after.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.file2.name": {
- "owner": "default",
- "value": "/etc/file2"
- },
- "services.test_service.files.file2.source": {
- "owner": "default",
- "value": "file2"
- },
- "services.test_service.files.file2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.incfile.name": {
- "owner": "default",
- "value": "/etc/dir/incfile"
- },
- "services.test_service.files.incfile.source": {
- "owner": "default",
- "value": "incfile"
- },
- "services.test_service.files.incfile.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/01base_file_include_content/makedict/base.json b/tests/dictionaries/01base_file_include_content/makedict/base.json
deleted file mode 100644
index c4573ab6b..000000000
--- a/tests/dictionaries/01base_file_include_content/makedict/base.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "services.test_service.files.file.name": "/etc/file",
- "services.test_service.files.file.source": "file",
- "services.test_service.files.file.activate": true,
- "services.test_service.files.file2.name": "/etc/file2",
- "services.test_service.files.file2.source": "file2",
- "services.test_service.files.file2.activate": true,
- "services.test_service.files.incfile.name": "/etc/dir/incfile",
- "services.test_service.files.incfile.source": "incfile",
- "services.test_service.files.incfile.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/01base_file_include_content/makedict/before.json b/tests/dictionaries/01base_file_include_content/makedict/before.json
deleted file mode 100644
index e3d3f7cd8..000000000
--- a/tests/dictionaries/01base_file_include_content/makedict/before.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.file2.name": {
- "owner": "default",
- "value": "/etc/file2"
- },
- "services.test_service.files.file2.source": {
- "owner": "default",
- "value": "file2"
- },
- "services.test_service.files.file2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.incfile.name": {
- "owner": "default",
- "value": "/etc/dir/incfile"
- },
- "services.test_service.files.incfile.source": {
- "owner": "default",
- "value": "incfile"
- },
- "services.test_service.files.incfile.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/01base_file_include_content/result/etc/file b/tests/dictionaries/01base_file_include_content/result/etc/file
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries/01base_file_include_content/result/etc/file
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries/01base_file_include_content/result/etc/file2 b/tests/dictionaries/01base_file_include_content/result/etc/file2
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries/01base_file_include_content/result/etc/file2
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries/01base_file_include_content/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_include_content/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 8a8e63080..000000000
--- a/tests/dictionaries/01base_file_include_content/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
diff --git a/tests/dictionaries/01base_file_include_content/tiramisu/base.py b/tests/dictionaries/01base_file_include_content/tiramisu/base.py
deleted file mode 100644
index 70d306b89..000000000
--- a/tests/dictionaries/01base_file_include_content/tiramisu/base.py
+++ /dev/null
@@ -1,49 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_8 = StrOption(name="source", doc="source", default="file")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="file", doc="file", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = StrOption(name="source", doc="source", default="file2")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12, option_10])
-optiondescription_9.impl_set_information('engine', "jinja")
-option_15 = FilenameOption(name="name", doc="name", default="/etc/dir/incfile")
-option_16 = StrOption(name="source", doc="source", default="incfile")
-option_14 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_13 = OptionDescription(name="incfile", doc="incfile", children=[option_15, option_16, option_14])
-optiondescription_13.impl_set_information('included', "content")
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9, optiondescription_13])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_17 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_20 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_17])
-optiondescription_20.impl_set_information('type', "service")
-optiondescription_19 = OptionDescription(name="services", doc="services", children=[optiondescription_20], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_18, optiondescription_19])
diff --git a/tests/dictionaries/01base_file_include_content/tmpl/file b/tests/dictionaries/01base_file_include_content/tmpl/file
deleted file mode 100644
index 9b6ed7d44..000000000
--- a/tests/dictionaries/01base_file_include_content/tmpl/file
+++ /dev/null
@@ -1,7 +0,0 @@
-%import os
-%set %%confdir = %%rougail_destination_dir + '/etc/dir/'
-%set %%files = %%os.listdir(%%confdir)
-%%files.sort()%slurp
-%for file in %%files
-%include raw %%confdir + file
-%end for
diff --git a/tests/dictionaries/01base_file_include_content/tmpl/file2 b/tests/dictionaries/01base_file_include_content/tmpl/file2
deleted file mode 100644
index 2c66fba2b..000000000
--- a/tests/dictionaries/01base_file_include_content/tmpl/file2
+++ /dev/null
@@ -1 +0,0 @@
-{% include "/etc/dir/incfile" %}
diff --git a/tests/dictionaries/01base_file_include_content/tmpl/incfile b/tests/dictionaries/01base_file_include_content/tmpl/incfile
deleted file mode 100644
index a29cfeaf3..000000000
--- a/tests/dictionaries/01base_file_include_content/tmpl/incfile
+++ /dev/null
@@ -1 +0,0 @@
-%%mode_conteneur_actif
diff --git a/tests/dictionaries/01base_file_include_name/makedict/after.json b/tests/dictionaries/01base_file_include_name/makedict/after.json
deleted file mode 100644
index e3d3f7cd8..000000000
--- a/tests/dictionaries/01base_file_include_name/makedict/after.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.file2.name": {
- "owner": "default",
- "value": "/etc/file2"
- },
- "services.test_service.files.file2.source": {
- "owner": "default",
- "value": "file2"
- },
- "services.test_service.files.file2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.incfile.name": {
- "owner": "default",
- "value": "/etc/dir/incfile"
- },
- "services.test_service.files.incfile.source": {
- "owner": "default",
- "value": "incfile"
- },
- "services.test_service.files.incfile.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/01base_file_include_name/makedict/base.json b/tests/dictionaries/01base_file_include_name/makedict/base.json
deleted file mode 100644
index c4573ab6b..000000000
--- a/tests/dictionaries/01base_file_include_name/makedict/base.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "services.test_service.files.file.name": "/etc/file",
- "services.test_service.files.file.source": "file",
- "services.test_service.files.file.activate": true,
- "services.test_service.files.file2.name": "/etc/file2",
- "services.test_service.files.file2.source": "file2",
- "services.test_service.files.file2.activate": true,
- "services.test_service.files.incfile.name": "/etc/dir/incfile",
- "services.test_service.files.incfile.source": "incfile",
- "services.test_service.files.incfile.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/01base_file_include_name/makedict/before.json b/tests/dictionaries/01base_file_include_name/makedict/before.json
deleted file mode 100644
index e3d3f7cd8..000000000
--- a/tests/dictionaries/01base_file_include_name/makedict/before.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.file2.name": {
- "owner": "default",
- "value": "/etc/file2"
- },
- "services.test_service.files.file2.source": {
- "owner": "default",
- "value": "file2"
- },
- "services.test_service.files.file2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.incfile.name": {
- "owner": "default",
- "value": "/etc/dir/incfile"
- },
- "services.test_service.files.incfile.source": {
- "owner": "default",
- "value": "incfile"
- },
- "services.test_service.files.incfile.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/01base_file_include_name/result/etc/dir/incfile b/tests/dictionaries/01base_file_include_name/result/etc/dir/incfile
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries/01base_file_include_name/result/etc/dir/incfile
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries/01base_file_include_name/result/etc/file b/tests/dictionaries/01base_file_include_name/result/etc/file
deleted file mode 100644
index 1ac4955d8..000000000
--- a/tests/dictionaries/01base_file_include_name/result/etc/file
+++ /dev/null
@@ -1 +0,0 @@
-include /etc/dir/incfile
diff --git a/tests/dictionaries/01base_file_include_name/result/etc/file2 b/tests/dictionaries/01base_file_include_name/result/etc/file2
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries/01base_file_include_name/result/etc/file2
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries/01base_file_include_name/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_include_name/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 7692f4d54..000000000
--- a/tests/dictionaries/01base_file_include_name/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
-C /etc/dir/incfile 0644 root root - /usr/local/lib/etc/dir/incfile
diff --git a/tests/dictionaries/01base_file_include_name/tiramisu/base.py b/tests/dictionaries/01base_file_include_name/tiramisu/base.py
deleted file mode 100644
index 407c37c33..000000000
--- a/tests/dictionaries/01base_file_include_name/tiramisu/base.py
+++ /dev/null
@@ -1,49 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_8 = StrOption(name="source", doc="source", default="file")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="file", doc="file", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = StrOption(name="source", doc="source", default="file2")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12, option_10])
-optiondescription_9.impl_set_information('engine', "jinja")
-option_15 = FilenameOption(name="name", doc="name", default="/etc/dir/incfile")
-option_16 = StrOption(name="source", doc="source", default="incfile")
-option_14 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_13 = OptionDescription(name="incfile", doc="incfile", children=[option_15, option_16, option_14])
-optiondescription_13.impl_set_information('included', "name")
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9, optiondescription_13])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_17 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_20 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_17])
-optiondescription_20.impl_set_information('type', "service")
-optiondescription_19 = OptionDescription(name="services", doc="services", children=[optiondescription_20], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_18, optiondescription_19])
diff --git a/tests/dictionaries/01base_file_include_name/tmpl/file b/tests/dictionaries/01base_file_include_name/tmpl/file
deleted file mode 100644
index cabf7b219..000000000
--- a/tests/dictionaries/01base_file_include_name/tmpl/file
+++ /dev/null
@@ -1,7 +0,0 @@
-%import os
-%set %%confdir = '/etc/dir/'
-%set %%files = %%os.listdir(%%rougail_destination_dir + %%confdir)
-%%files.sort()%slurp
-%for %%file in %%files
-include %%{confdir}%%file
-%end for
diff --git a/tests/dictionaries/01base_file_include_name/tmpl/file2 b/tests/dictionaries/01base_file_include_name/tmpl/file2
deleted file mode 100644
index 2c66fba2b..000000000
--- a/tests/dictionaries/01base_file_include_name/tmpl/file2
+++ /dev/null
@@ -1 +0,0 @@
-{% include "/etc/dir/incfile" %}
diff --git a/tests/dictionaries/01base_file_include_name/tmpl/incfile b/tests/dictionaries/01base_file_include_name/tmpl/incfile
deleted file mode 100644
index a29cfeaf3..000000000
--- a/tests/dictionaries/01base_file_include_name/tmpl/incfile
+++ /dev/null
@@ -1 +0,0 @@
-%%mode_conteneur_actif
diff --git a/tests/dictionaries/01base_file_mode/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_mode/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index f397d988d..000000000
--- a/tests/dictionaries/01base_file_mode/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1 +0,0 @@
-C /etc/file 0755 root root - /usr/local/lib/etc/file
diff --git a/tests/dictionaries/01base_file_mode/tiramisu/base.py b/tests/dictionaries/01base_file_mode/tiramisu/base.py
deleted file mode 100644
index cb670dbfc..000000000
--- a/tests/dictionaries/01base_file_mode/tiramisu/base.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_5 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_6 = StrOption(name="source", doc="source", default="file")
-option_4 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_3 = OptionDescription(name="file", doc="file", children=[option_5, option_6, option_4])
-optiondescription_3.impl_set_information('mode', 755)
-optiondescription_2 = OptionDescription(name="files", doc="files", children=[optiondescription_3])
-option_1 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_9 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_2, option_1, option_7])
-optiondescription_9.impl_set_information('type', "service")
-optiondescription_8 = OptionDescription(name="services", doc="services", children=[optiondescription_9], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_8])
diff --git a/tests/dictionaries/01base_file_mode2/result/etc/file b/tests/dictionaries/01base_file_mode2/result/etc/file
deleted file mode 100644
index 9daeafb98..000000000
--- a/tests/dictionaries/01base_file_mode2/result/etc/file
+++ /dev/null
@@ -1 +0,0 @@
-test
diff --git a/tests/dictionaries/01base_file_mode2/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_mode2/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 546319fa2..000000000
--- a/tests/dictionaries/01base_file_mode2/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1 +0,0 @@
-C /etc/file 1755 root root - /usr/local/lib/etc/file
diff --git a/tests/dictionaries/01base_file_mode2/tiramisu/base.py b/tests/dictionaries/01base_file_mode2/tiramisu/base.py
deleted file mode 100644
index 71b93b0d0..000000000
--- a/tests/dictionaries/01base_file_mode2/tiramisu/base.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_5 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_6 = StrOption(name="source", doc="source", default="file")
-option_4 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_3 = OptionDescription(name="file", doc="file", children=[option_5, option_6, option_4])
-optiondescription_3.impl_set_information('mode', 1755)
-optiondescription_2 = OptionDescription(name="files", doc="files", children=[optiondescription_3])
-option_1 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_9 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_2, option_1, option_7])
-optiondescription_9.impl_set_information('type', "service")
-optiondescription_8 = OptionDescription(name="services", doc="services", children=[optiondescription_9], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_8])
diff --git a/tests/dictionaries/01base_file_mode2/tmpl/file b/tests/dictionaries/01base_file_mode2/tmpl/file
deleted file mode 100644
index 9daeafb98..000000000
--- a/tests/dictionaries/01base_file_mode2/tmpl/file
+++ /dev/null
@@ -1 +0,0 @@
-test
diff --git a/tests/dictionaries/01base_file_owner/result/etc/file b/tests/dictionaries/01base_file_owner/result/etc/file
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file_owner/result/etc/file
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file_owner/result/etc/file2 b/tests/dictionaries/01base_file_owner/result/etc/file2
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file_owner/result/etc/file2
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file_owner/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_owner/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 1cb93ff06..000000000
--- a/tests/dictionaries/01base_file_owner/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/file 0644 nobody nobody - /usr/local/lib/etc/file
-C /etc/file2 0644 nobody nobody - /usr/local/lib/etc/file2
diff --git a/tests/dictionaries/01base_file_owner/tiramisu/base.py b/tests/dictionaries/01base_file_owner/tiramisu/base.py
deleted file mode 100644
index 4506d9319..000000000
--- a/tests/dictionaries/01base_file_owner/tiramisu/base.py
+++ /dev/null
@@ -1,48 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = UsernameOption(name="group", doc="group", default="nobody")
-option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_9 = UsernameOption(name="owner", doc="owner", default="nobody")
-option_10 = StrOption(name="source", doc="source", default="file")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="file", doc="file", children=[option_7, option_8, option_9, option_10, option_6])
-option_13 = UsernameOption(name="group", doc="group", default="nobody")
-option_14 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_15 = UsernameOption(name="owner", doc="owner", default="nobody")
-option_16 = StrOption(name="source", doc="source", default="file2")
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_11 = OptionDescription(name="file2", doc="file2", children=[option_13, option_14, option_15, option_16, option_12])
-optiondescription_11.impl_set_information('engine', "jinja")
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_11])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_17 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_20 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_17])
-optiondescription_20.impl_set_information('type', "service")
-optiondescription_19 = OptionDescription(name="services", doc="services", children=[optiondescription_20], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_18, optiondescription_19])
diff --git a/tests/dictionaries/01base_file_owner_variable/result/etc/file b/tests/dictionaries/01base_file_owner_variable/result/etc/file
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file_owner_variable/result/etc/file
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file_owner_variable/result/etc/file2 b/tests/dictionaries/01base_file_owner_variable/result/etc/file2
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file_owner_variable/result/etc/file2
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file_owner_variable/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_owner_variable/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 1cb93ff06..000000000
--- a/tests/dictionaries/01base_file_owner_variable/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/file 0644 nobody nobody - /usr/local/lib/etc/file
-C /etc/file2 0644 nobody nobody - /usr/local/lib/etc/file2
diff --git a/tests/dictionaries/01base_file_owner_variable/tiramisu/base.py b/tests/dictionaries/01base_file_owner_variable/tiramisu/base.py
deleted file mode 100644
index 3c0883ddf..000000000
--- a/tests/dictionaries/01base_file_owner_variable/tiramisu/base.py
+++ /dev/null
@@ -1,50 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-option_3 = UsernameOption(name="owner", doc="owner", default="nobody", properties=frozenset({"mandatory", "normal"}))
-option_4 = UsernameOption(name="group", doc="group", default="nobody", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
-optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_9 = SymLinkOption(name="group", opt=option_4)
-option_10 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_11 = SymLinkOption(name="owner", opt=option_3)
-option_12 = StrOption(name="source", doc="source", default="file")
-option_8 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_9, option_10, option_11, option_12, option_8])
-option_15 = SymLinkOption(name="group", opt=option_4)
-option_16 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_17 = SymLinkOption(name="owner", opt=option_3)
-option_18 = StrOption(name="source", doc="source", default="file2")
-option_14 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_13 = OptionDescription(name="file2", doc="file2", children=[option_15, option_16, option_17, option_18, option_14])
-optiondescription_13.impl_set_information('engine', "jinja")
-optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_13])
-option_5 = BoolOption(name="activate", doc="activate", default=True)
-option_19 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_22 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_6, option_5, option_19])
-optiondescription_22.impl_set_information('type', "service")
-optiondescription_21 = OptionDescription(name="services", doc="services", children=[optiondescription_22], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_20, optiondescription_21])
diff --git a/tests/dictionaries/01base_file_patch/makedict/after.json b/tests/dictionaries/01base_file_patch/makedict/after.json
deleted file mode 100644
index c63a8561a..000000000
--- a/tests/dictionaries/01base_file_patch/makedict/after.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.file2.name": {
- "owner": "default",
- "value": "/etc/file2"
- },
- "services.test_service.files.file2.source": {
- "owner": "default",
- "value": "file2"
- },
- "services.test_service.files.file2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/01base_file_patch/makedict/base.json b/tests/dictionaries/01base_file_patch/makedict/base.json
deleted file mode 100644
index 3524da356..000000000
--- a/tests/dictionaries/01base_file_patch/makedict/base.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "services.test_service.files.file.name": "/etc/file",
- "services.test_service.files.file.source": "file",
- "services.test_service.files.file.activate": true,
- "services.test_service.files.file2.name": "/etc/file2",
- "services.test_service.files.file2.source": "file2",
- "services.test_service.files.file2.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/01base_file_patch/makedict/before.json b/tests/dictionaries/01base_file_patch/makedict/before.json
deleted file mode 100644
index c63a8561a..000000000
--- a/tests/dictionaries/01base_file_patch/makedict/before.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.file2.name": {
- "owner": "default",
- "value": "/etc/file2"
- },
- "services.test_service.files.file2.source": {
- "owner": "default",
- "value": "file2"
- },
- "services.test_service.files.file2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/01base_file_patch/patches/file.patch b/tests/dictionaries/01base_file_patch/patches/file.patch
deleted file mode 100644
index db5b04d1a..000000000
--- a/tests/dictionaries/01base_file_patch/patches/file.patch
+++ /dev/null
@@ -1,5 +0,0 @@
---- tmpl/file 2020-11-20 07:44:38.588472784 +0100
-+++ dest/file 2020-11-20 07:44:54.588536011 +0100
-@@ -1 +1 @@
--unpatched
-+patched
diff --git a/tests/dictionaries/01base_file_patch/patches/file2.patch b/tests/dictionaries/01base_file_patch/patches/file2.patch
deleted file mode 100644
index d44031f69..000000000
--- a/tests/dictionaries/01base_file_patch/patches/file2.patch
+++ /dev/null
@@ -1,5 +0,0 @@
---- tmpl/file2 2020-11-20 07:44:38.588472784 +0100
-+++ dest/file2 2020-11-20 07:44:54.588536011 +0100
-@@ -1 +1 @@
--unpatched
-+patched
diff --git a/tests/dictionaries/01base_file_patch/result/etc/file b/tests/dictionaries/01base_file_patch/result/etc/file
deleted file mode 100644
index 893adcd31..000000000
--- a/tests/dictionaries/01base_file_patch/result/etc/file
+++ /dev/null
@@ -1 +0,0 @@
-patched
diff --git a/tests/dictionaries/01base_file_patch/result/etc/file2 b/tests/dictionaries/01base_file_patch/result/etc/file2
deleted file mode 100644
index 893adcd31..000000000
--- a/tests/dictionaries/01base_file_patch/result/etc/file2
+++ /dev/null
@@ -1 +0,0 @@
-patched
diff --git a/tests/dictionaries/01base_file_patch/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_patch/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 8a8e63080..000000000
--- a/tests/dictionaries/01base_file_patch/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
diff --git a/tests/dictionaries/01base_file_patch/tiramisu/base.py b/tests/dictionaries/01base_file_patch/tiramisu/base.py
deleted file mode 100644
index b934bf782..000000000
--- a/tests/dictionaries/01base_file_patch/tiramisu/base.py
+++ /dev/null
@@ -1,44 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_8 = StrOption(name="source", doc="source", default="file")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="file", doc="file", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = StrOption(name="source", doc="source", default="file2")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12, option_10])
-optiondescription_9.impl_set_information('engine', "jinja")
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_16 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_13])
-optiondescription_16.impl_set_information('type', "service")
-optiondescription_15 = OptionDescription(name="services", doc="services", children=[optiondescription_16], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_14, optiondescription_15])
diff --git a/tests/dictionaries/01base_file_patch/tmpl/file b/tests/dictionaries/01base_file_patch/tmpl/file
deleted file mode 100644
index 832551d87..000000000
--- a/tests/dictionaries/01base_file_patch/tmpl/file
+++ /dev/null
@@ -1 +0,0 @@
-unpatched
diff --git a/tests/dictionaries/01base_file_patch/tmpl/file2 b/tests/dictionaries/01base_file_patch/tmpl/file2
deleted file mode 100644
index 832551d87..000000000
--- a/tests/dictionaries/01base_file_patch/tmpl/file2
+++ /dev/null
@@ -1 +0,0 @@
-unpatched
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/makedict/after.json b/tests/dictionaries/01base_file_tmpfiles_delete_before_create/makedict/after.json
deleted file mode 100644
index c63a8561a..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/makedict/after.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.file2.name": {
- "owner": "default",
- "value": "/etc/file2"
- },
- "services.test_service.files.file2.source": {
- "owner": "default",
- "value": "file2"
- },
- "services.test_service.files.file2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/makedict/base.json b/tests/dictionaries/01base_file_tmpfiles_delete_before_create/makedict/base.json
deleted file mode 100644
index 3524da356..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/makedict/base.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "services.test_service.files.file.name": "/etc/file",
- "services.test_service.files.file.source": "file",
- "services.test_service.files.file.activate": true,
- "services.test_service.files.file2.name": "/etc/file2",
- "services.test_service.files.file2.source": "file2",
- "services.test_service.files.file2.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/makedict/before.json b/tests/dictionaries/01base_file_tmpfiles_delete_before_create/makedict/before.json
deleted file mode 100644
index c63a8561a..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/makedict/before.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.file2.name": {
- "owner": "default",
- "value": "/etc/file2"
- },
- "services.test_service.files.file2.source": {
- "owner": "default",
- "value": "file2"
- },
- "services.test_service.files.file2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/result/etc/file b/tests/dictionaries/01base_file_tmpfiles_delete_before_create/result/etc/file
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/result/etc/file
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/result/etc/file2 b/tests/dictionaries/01base_file_tmpfiles_delete_before_create/result/etc/file2
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/result/etc/file2
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_tmpfiles_delete_before_create/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index c58c2d0c8..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-r /etc/file
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-r /etc/file2
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/tiramisu/base.py b/tests/dictionaries/01base_file_tmpfiles_delete_before_create/tiramisu/base.py
deleted file mode 100644
index b934bf782..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/tiramisu/base.py
+++ /dev/null
@@ -1,44 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_8 = StrOption(name="source", doc="source", default="file")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="file", doc="file", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = StrOption(name="source", doc="source", default="file2")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12, option_10])
-optiondescription_9.impl_set_information('engine', "jinja")
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_16 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_13])
-optiondescription_16.impl_set_information('type', "service")
-optiondescription_15 = OptionDescription(name="services", doc="services", children=[optiondescription_16], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_14, optiondescription_15])
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/makedict/after.json b/tests/dictionaries/01base_file_tmpfiles_factory_dir/makedict/after.json
deleted file mode 100644
index c63a8561a..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_factory_dir/makedict/after.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.file2.name": {
- "owner": "default",
- "value": "/etc/file2"
- },
- "services.test_service.files.file2.source": {
- "owner": "default",
- "value": "file2"
- },
- "services.test_service.files.file2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/makedict/base.json b/tests/dictionaries/01base_file_tmpfiles_factory_dir/makedict/base.json
deleted file mode 100644
index 3524da356..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_factory_dir/makedict/base.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "services.test_service.files.file.name": "/etc/file",
- "services.test_service.files.file.source": "file",
- "services.test_service.files.file.activate": true,
- "services.test_service.files.file2.name": "/etc/file2",
- "services.test_service.files.file2.source": "file2",
- "services.test_service.files.file2.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/makedict/before.json b/tests/dictionaries/01base_file_tmpfiles_factory_dir/makedict/before.json
deleted file mode 100644
index c63a8561a..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_factory_dir/makedict/before.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.file2.name": {
- "owner": "default",
- "value": "/etc/file2"
- },
- "services.test_service.files.file2.source": {
- "owner": "default",
- "value": "file2"
- },
- "services.test_service.files.file2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/result/etc/file b/tests/dictionaries/01base_file_tmpfiles_factory_dir/result/etc/file
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_factory_dir/result/etc/file
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/result/etc/file2 b/tests/dictionaries/01base_file_tmpfiles_factory_dir/result/etc/file2
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_factory_dir/result/etc/file2
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_tmpfiles_factory_dir/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 9b66eccfc..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_factory_dir/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/file 0644 root root - /test/new/file/etc/file
-C /etc/file2 0644 root root - /test/new/file/etc/file2
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/tiramisu/base.py b/tests/dictionaries/01base_file_tmpfiles_factory_dir/tiramisu/base.py
deleted file mode 100644
index b934bf782..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_factory_dir/tiramisu/base.py
+++ /dev/null
@@ -1,44 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_8 = StrOption(name="source", doc="source", default="file")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="file", doc="file", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = StrOption(name="source", doc="source", default="file2")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12, option_10])
-optiondescription_9.impl_set_information('engine', "jinja")
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_16 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_13])
-optiondescription_16.impl_set_information('type', "service")
-optiondescription_15 = OptionDescription(name="services", doc="services", children=[optiondescription_16], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_14, optiondescription_15])
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/tmpl/file2 b/tests/dictionaries/01base_file_tmpfiles_factory_dir/tmpl/file2
deleted file mode 100644
index 6d214113d..000000000
--- a/tests/dictionaries/01base_file_tmpfiles_factory_dir/tmpl/file2
+++ /dev/null
@@ -1,2 +0,0 @@
-{{ mode_conteneur_actif }}
-{{ rougail.general.mode_conteneur_actif }}
diff --git a/tests/dictionaries/01base_file_utfchar/makedict/after.json b/tests/dictionaries/01base_file_utfchar/makedict/after.json
deleted file mode 100644
index 752041c16..000000000
--- a/tests/dictionaries/01base_file_utfchar/makedict/after.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.name": {
- "owner": "default",
- "value": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel"
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.source": {
- "owner": "default",
- "value": "systemd-makefs@dev-disk-by\\x2dpartlabel"
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.name": {
- "owner": "default",
- "value": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2"
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.source": {
- "owner": "default",
- "value": "systemd-makefs@dev-disk-by\\x2dpartlabel2"
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/01base_file_utfchar/makedict/base.json b/tests/dictionaries/01base_file_utfchar/makedict/base.json
deleted file mode 100644
index f07f3ac16..000000000
--- a/tests/dictionaries/01base_file_utfchar/makedict/base.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.name": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel",
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.source": "systemd-makefs@dev-disk-by\\x2dpartlabel",
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.activate": true,
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.name": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2",
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.source": "systemd-makefs@dev-disk-by\\x2dpartlabel2",
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/01base_file_utfchar/makedict/before.json b/tests/dictionaries/01base_file_utfchar/makedict/before.json
deleted file mode 100644
index 752041c16..000000000
--- a/tests/dictionaries/01base_file_utfchar/makedict/before.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.name": {
- "owner": "default",
- "value": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel"
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.source": {
- "owner": "default",
- "value": "systemd-makefs@dev-disk-by\\x2dpartlabel"
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.name": {
- "owner": "default",
- "value": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2"
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.source": {
- "owner": "default",
- "value": "systemd-makefs@dev-disk-by\\x2dpartlabel2"
- },
- "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git "a/tests/dictionaries/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel" "b/tests/dictionaries/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel"
deleted file mode 100644
index d907505b5..000000000
--- "a/tests/dictionaries/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel"
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git "a/tests/dictionaries/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2" "b/tests/dictionaries/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2"
deleted file mode 100644
index d907505b5..000000000
--- "a/tests/dictionaries/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2"
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries/01base_file_utfchar/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_utfchar/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 628620e0e..000000000
--- a/tests/dictionaries/01base_file_utfchar/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/systemd-makefs@dev-disk-by\x2dpartlabel 0644 root root - /usr/local/lib/etc/systemd-makefs@dev-disk-by\x2dpartlabel
-C /etc/systemd-makefs@dev-disk-by\x2dpartlabel2 0644 root root - /usr/local/lib/etc/systemd-makefs@dev-disk-by\x2dpartlabel2
diff --git a/tests/dictionaries/01base_file_utfchar/tiramisu/base.py b/tests/dictionaries/01base_file_utfchar/tiramisu/base.py
deleted file mode 100644
index cf8e18fdd..000000000
--- a/tests/dictionaries/01base_file_utfchar/tiramisu/base.py
+++ /dev/null
@@ -1,44 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/systemd-makefs@dev-disk-by\\x2dpartlabel")
-option_8 = StrOption(name="source", doc="source", default="systemd-makefs@dev-disk-by\\x2dpartlabel")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="systemd_makefs@dev_disk_by\\x2dpartlabel", doc="systemd-makefs@dev-disk-by\\x2dpartlabel", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2")
-option_12 = StrOption(name="source", doc="source", default="systemd-makefs@dev-disk-by\\x2dpartlabel2")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="systemd_makefs@dev_disk_by\\x2dpartlabel2", doc="systemd-makefs@dev-disk-by\\x2dpartlabel2", children=[option_11, option_12, option_10])
-optiondescription_9.impl_set_information('engine', "jinja")
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_16 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_13])
-optiondescription_16.impl_set_information('type', "service")
-optiondescription_15 = OptionDescription(name="services", doc="services", children=[optiondescription_16], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_14, optiondescription_15])
diff --git "a/tests/dictionaries/01base_file_utfchar/tmpl/systemd-makefs@dev-disk-by\\x2dpartlabel" "b/tests/dictionaries/01base_file_utfchar/tmpl/systemd-makefs@dev-disk-by\\x2dpartlabel"
deleted file mode 100644
index a29cfeaf3..000000000
--- "a/tests/dictionaries/01base_file_utfchar/tmpl/systemd-makefs@dev-disk-by\\x2dpartlabel"
+++ /dev/null
@@ -1 +0,0 @@
-%%mode_conteneur_actif
diff --git "a/tests/dictionaries/01base_file_utfchar/tmpl/systemd-makefs@dev-disk-by\\x2dpartlabel2" "b/tests/dictionaries/01base_file_utfchar/tmpl/systemd-makefs@dev-disk-by\\x2dpartlabel2"
deleted file mode 100644
index db665a0e7..000000000
--- "a/tests/dictionaries/01base_file_utfchar/tmpl/systemd-makefs@dev-disk-by\\x2dpartlabel2"
+++ /dev/null
@@ -1 +0,0 @@
-{{ mode_conteneur_actif }}
diff --git a/tests/dictionaries/01base_file_var_source/result/etc/file b/tests/dictionaries/01base_file_var_source/result/etc/file
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries/01base_file_var_source/result/etc/file
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries/01base_file_var_source/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/01base_file_var_source/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 1bc5dfc34..000000000
--- a/tests/dictionaries/01base_file_var_source/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
diff --git a/tests/dictionaries/01base_file_var_source/tiramisu/base.py b/tests/dictionaries/01base_file_var_source/tiramisu/base.py
deleted file mode 100644
index 7c93ffffd..000000000
--- a/tests/dictionaries/01base_file_var_source/tiramisu/base.py
+++ /dev/null
@@ -1,40 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="source_var", doc="Description", default="file", properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_11 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_9 = SymLinkOption(name="source", opt=option_2)
-option_7 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_6 = OptionDescription(name="source_var", doc="source_var", children=[option_8, option_9, option_7])
-optiondescription_5 = OptionDescription(name="files", doc="files", children=[optiondescription_6])
-option_4 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_13 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_5, option_4, option_10])
-optiondescription_13.impl_set_information('type', "service")
-optiondescription_12 = OptionDescription(name="services", doc="services", children=[optiondescription_13], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_12])
diff --git a/tests/dictionaries/01base_file_var_source/tmpl/file b/tests/dictionaries/01base_file_var_source/tmpl/file
deleted file mode 100644
index 27ff6834c..000000000
--- a/tests/dictionaries/01base_file_var_source/tmpl/file
+++ /dev/null
@@ -1,2 +0,0 @@
-%%mode_conteneur_actif
-%%rougail.general.mode_conteneur_actif
diff --git a/tests/dictionaries/01base_float/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_float/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ed2a0c191
--- /dev/null
+++ b/tests/dictionaries/01base_float/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+---
+version: '1.0'
+general:
+ float:
+ type: float
+ description: Description
+ default: 0.527
+ float_multi:
+ type: float
+ description: Description
+ multi: true
+ default:
+ - 0.527
diff --git a/tests/dictionaries/01base_float/tiramisu/base.py b/tests/dictionaries/01base_float/tiramisu/base.py
index e83ffa15f..effd62cba 100644
--- a/tests/dictionaries/01base_float/tiramisu/base.py
+++ b/tests/dictionaries/01base_float/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,19 +17,10 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = FloatOption(name="float", doc="Description", default=0.527, properties=frozenset({"mandatory", "normal"}))
-option_3 = FloatOption(name="float_multi", doc="Description", multi=True, default=[0.527], default_multi=0.527, properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
+option_3 = FloatOption(name="float", doc="Description", default=0.527, properties=frozenset({"mandatory", "normal"}))
+option_4 = FloatOption(name="float_multi", doc="Description", multi=True, default=[0.527], default_multi=0.527, properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_help_quote/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_help_quote/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..11a0cbd92
--- /dev/null
+++ b/tests/dictionaries/01base_help_quote/dictionaries/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ help: message with '
+ mode_conteneur_actif1:
+ type: string
+ description: Redefine description
+ help: message with "
+version: '1.0'
diff --git a/tests/dictionaries/01base_help_quote/tiramisu/base.py b/tests/dictionaries/01base_help_quote/tiramisu/base.py
index 9c00d87d4..d8d5cc3c7 100644
--- a/tests/dictionaries/01base_help_quote/tiramisu/base.py
+++ b/tests/dictionaries/01base_help_quote/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,21 +17,12 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", properties=frozenset({"normal"}))
-option_2.impl_set_information('help', "message with '")
-option_3 = StrOption(name="mode_conteneur_actif1", doc="Redefine description", properties=frozenset({"normal"}))
-option_3.impl_set_information('help', "message with \"")
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", properties=frozenset({"normal"}))
+option_3.impl_set_information('help', "message with '")
+option_4 = StrOption(name="mode_conteneur_actif1", doc="Redefine description", properties=frozenset({"normal"}))
+option_4.impl_set_information('help', "message with \"")
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..13a77c762
--- /dev/null
+++ b/tests/dictionaries/01base_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ default:
+ - non
+version: '1.0'
diff --git a/tests/dictionaries/01base_multi/tiramisu/base.py b/tests/dictionaries/01base_multi/tiramisu/base.py
index 5fc55cc43..c13089c30 100644
--- a/tests/dictionaries/01base_multi/tiramisu/base.py
+++ b/tests/dictionaries/01base_multi/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_multi_notuniq/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_multi_notuniq/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c86588600
--- /dev/null
+++ b/tests/dictionaries/01base_multi_notuniq/dictionaries/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ unique: false
+ default:
+ - non
+version: '1.0'
diff --git a/tests/dictionaries/01base_multi_notuniq/tiramisu/base.py b/tests/dictionaries/01base_multi_notuniq/tiramisu/base.py
index 50e6e5a2a..2c048f090 100644
--- a/tests/dictionaries/01base_multi_notuniq/tiramisu/base.py
+++ b/tests/dictionaries/01base_multi_notuniq/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", "notunique"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", "notunique"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_multi_uniq/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_multi_uniq/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..a40a48624
--- /dev/null
+++ b/tests/dictionaries/01base_multi_uniq/dictionaries/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ unique: true
+ default:
+ - non
+version: '1.0'
diff --git a/tests/dictionaries/01base_multi_uniq/tiramisu/base.py b/tests/dictionaries/01base_multi_uniq/tiramisu/base.py
index 3f87d85db..d4db58a8c 100644
--- a/tests/dictionaries/01base_multi_uniq/tiramisu/base.py
+++ b/tests/dictionaries/01base_multi_uniq/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", "unique"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", "unique"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_provider/tiramisu/base.py b/tests/dictionaries/01base_provider/tiramisu/base.py
deleted file mode 100644
index b9d9dc2d0..000000000
--- a/tests/dictionaries/01base_provider/tiramisu/base.py
+++ /dev/null
@@ -1,31 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = FloatOption(name="float", doc="Description", default=0.527, properties=frozenset({"mandatory", "normal"}))
-option_3 = FloatOption(name="float_multi", doc="Description", multi=True, default=[0.527], default_multi=0.527, properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
-option_0.impl_set_information('provider:float', "rougail.general.float")
diff --git a/tests/dictionaries/01base_provider_extra/tiramisu/base.py b/tests/dictionaries/01base_provider_extra/tiramisu/base.py
deleted file mode 100644
index 23a27108f..000000000
--- a/tests/dictionaries/01base_provider_extra/tiramisu/base.py
+++ /dev/null
@@ -1,32 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = FloatOption(name="float", doc="Description", properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_3 = StrOption(name="description", doc="description", properties=frozenset({"normal"}))
-optiondescription_2 = OptionDescription(name="example", doc="example", children=[option_3], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_2], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4, optiondescription_5])
-option_0.impl_set_information('provider:example', "extra.example.description")
diff --git a/tests/dictionaries/01base_provider_hidden/tiramisu/base.py b/tests/dictionaries/01base_provider_hidden/tiramisu/base.py
deleted file mode 100644
index 622c1545c..000000000
--- a/tests/dictionaries/01base_provider_hidden/tiramisu/base.py
+++ /dev/null
@@ -1,31 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = FloatOption(name="float", doc="Description", default=0.527, properties=frozenset({"hidden", "mandatory", "normal"}))
-option_3 = FloatOption(name="float_multi", doc="Description", multi=True, default=[0.527], default_multi=0.527, properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
-option_0.impl_set_information('provider:float', "rougail.general.float")
diff --git a/tests/dictionaries/01base_value_doublequote/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_value_doublequote/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ee8d8e599
--- /dev/null
+++ b/tests/dictionaries/01base_value_doublequote/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: quote"
+version: '1.0'
diff --git a/tests/dictionaries/01base_value_doublequote/tiramisu/base.py b/tests/dictionaries/01base_value_doublequote/tiramisu/base.py
index df6ffd962..59cfdf7b0 100644
--- a/tests/dictionaries/01base_value_doublequote/tiramisu/base.py
+++ b/tests/dictionaries/01base_value_doublequote/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_value_doublequote2/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_value_doublequote2/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..3071f1a08
--- /dev/null
+++ b/tests/dictionaries/01base_value_doublequote2/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: quote'"
+version: '1.0'
diff --git a/tests/dictionaries/01base_value_doublequote2/tiramisu/base.py b/tests/dictionaries/01base_value_doublequote2/tiramisu/base.py
index 42756be93..0167f9fc5 100644
--- a/tests/dictionaries/01base_value_doublequote2/tiramisu/base.py
+++ b/tests/dictionaries/01base_value_doublequote2/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote'\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote'\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_value_doublequote3/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_value_doublequote3/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..e7442c204
--- /dev/null
+++ b/tests/dictionaries/01base_value_doublequote3/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+---
+version: '1.0'
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: quote\"\'
diff --git a/tests/dictionaries/01base_value_doublequote3/tiramisu/base.py b/tests/dictionaries/01base_value_doublequote3/tiramisu/base.py
index 20261795e..b608bdfa1 100644
--- a/tests/dictionaries/01base_value_doublequote3/tiramisu/base.py
+++ b/tests/dictionaries/01base_value_doublequote3/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote\\\"\\'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote\\\"\\'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_value_multi_doublequote/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_value_multi_doublequote/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ca0dc5158
--- /dev/null
+++ b/tests/dictionaries/01base_value_multi_doublequote/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ default:
+ - quote"
+version: '1.0'
diff --git a/tests/dictionaries/01base_value_multi_doublequote/tiramisu/base.py b/tests/dictionaries/01base_value_multi_doublequote/tiramisu/base.py
index 765f76f35..3a811afbb 100644
--- a/tests/dictionaries/01base_value_multi_doublequote/tiramisu/base.py
+++ b/tests/dictionaries/01base_value_multi_doublequote/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['quote"'], default_multi="quote\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['quote"'], default_multi="quote\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_value_multi_doublequote2/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_value_multi_doublequote2/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..d09865f89
--- /dev/null
+++ b/tests/dictionaries/01base_value_multi_doublequote2/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ default:
+ - quote'"
+version: '1.0'
diff --git a/tests/dictionaries/01base_value_multi_doublequote2/tiramisu/base.py b/tests/dictionaries/01base_value_multi_doublequote2/tiramisu/base.py
index 8f298ac0b..ae3cc706a 100644
--- a/tests/dictionaries/01base_value_multi_doublequote2/tiramisu/base.py
+++ b/tests/dictionaries/01base_value_multi_doublequote2/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['quote\'"'], default_multi="quote'\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['quote\'"'], default_multi="quote'\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_value_multi_quote/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_value_multi_quote/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f998e9268
--- /dev/null
+++ b/tests/dictionaries/01base_value_multi_quote/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ default:
+ - quote'
+version: '1.0'
diff --git a/tests/dictionaries/01base_value_multi_quote/tiramisu/base.py b/tests/dictionaries/01base_value_multi_quote/tiramisu/base.py
index a2a169953..92e2b05ea 100644
--- a/tests/dictionaries/01base_value_multi_quote/tiramisu/base.py
+++ b/tests/dictionaries/01base_value_multi_quote/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=["quote'"], default_multi="quote'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=["quote'"], default_multi="quote'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_value_quote/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_value_quote/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..d602e8e26
--- /dev/null
+++ b/tests/dictionaries/01base_value_quote/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: quote'
+version: '1.0'
diff --git a/tests/dictionaries/01base_value_quote/tiramisu/base.py b/tests/dictionaries/01base_value_quote/tiramisu/base.py
index 16db27f31..bd56c18fd 100644
--- a/tests/dictionaries/01base_value_quote/tiramisu/base.py
+++ b/tests/dictionaries/01base_value_quote/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_var_name_same_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/01base_var_name_same_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0a73fd775
--- /dev/null
+++ b/tests/dictionaries/01base_var_name_same_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ general:
+ type: string
+ description: description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/01base_var_name_same_family/tiramisu/base.py b/tests/dictionaries/01base_var_name_same_family/tiramisu/base.py
index 46049dc0a..54e4bdc36 100644
--- a/tests/dictionaries/01base_var_name_same_family/tiramisu/base.py
+++ b/tests/dictionaries/01base_var_name_same_family/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="general", doc="description", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="general", doc="description", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01boolean_no_mandatory/dictionaries/rougail/00-base.yml b/tests/dictionaries/01boolean_no_mandatory/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..456cb907f
--- /dev/null
+++ b/tests/dictionaries/01boolean_no_mandatory/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+my_variable:
+ type: boolean
+ mandatory: false
+version: '1.0'
diff --git a/tests/dictionaries/01boolean_no_mandatory/tiramisu/base.py b/tests/dictionaries/01boolean_no_mandatory/tiramisu/base.py
index bd39ff99d..ca143ff96 100644
--- a/tests/dictionaries/01boolean_no_mandatory/tiramisu/base.py
+++ b/tests/dictionaries/01boolean_no_mandatory/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,17 +17,8 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = BoolOption(name="my_variable", doc="my_variable", default=True, properties=frozenset({"normal"}))
-optiondescription_2 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_2])
+option_2 = BoolOption(name="my_variable", doc="my_variable", default=True, properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01family_description/dictionaries/rougail/00-base.yml b/tests/dictionaries/01family_description/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..737ff62b9
--- /dev/null
+++ b/tests/dictionaries/01family_description/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ description: Other description
+ mode_conteneur_actif:
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/01family_description/tiramisu/base.py b/tests/dictionaries/01family_description/tiramisu/base.py
index e9f128c02..ef5422fa9 100644
--- a/tests/dictionaries/01family_description/tiramisu/base.py
+++ b/tests/dictionaries/01family_description/tiramisu/base.py
@@ -1,7 +1,12 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
+global func
+func = {'calc_value': calc_value}
def _load_functions(path):
global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
@@ -12,18 +17,9 @@ def _load_functions(path):
for function in dir(func_):
if function.startswith('_'):
continue
- setattr(func, function, getattr(func_, function))
+ func[function] = getattr(func_, function)
_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="Other description", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
+option_3 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="Other description", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01fill_autofreeze/makedict/after.json b/tests/dictionaries/01fill_autofreeze/makedict/after.json
deleted file mode 100644
index 0a8336774..000000000
--- a/tests/dictionaries/01fill_autofreeze/makedict/after.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.my_var1": {
- "owner": "forced",
- "value": "no"
- },
- "rougail.my_var2": {
- "owner": "default",
- "value": "no"
- },
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries/01fill_autofreeze/makedict/base.json b/tests/dictionaries/01fill_autofreeze/makedict/base.json
deleted file mode 100644
index 3f79625c6..000000000
--- a/tests/dictionaries/01fill_autofreeze/makedict/base.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "rougail.my_var1": "no",
- "rougail.my_var2": "no",
- "rougail.server_deployed": false
-}
diff --git a/tests/dictionaries/01fill_autofreeze/makedict/before.json b/tests/dictionaries/01fill_autofreeze/makedict/before.json
deleted file mode 100644
index 101266cde..000000000
--- a/tests/dictionaries/01fill_autofreeze/makedict/before.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.my_var1": {
- "owner": "default",
- "value": "no"
- },
- "rougail.my_var2": {
- "owner": "default",
- "value": "no"
- },
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries/01fill_autofreeze/tiramisu/base.py b/tests/dictionaries/01fill_autofreeze/tiramisu/base.py
deleted file mode 100644
index b072c8fbd..000000000
--- a/tests/dictionaries/01fill_autofreeze/tiramisu/base.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="my_var2", doc="my_var2", default="no", properties=frozenset({"mandatory", "normal"}))
-option_3 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_1 = StrOption(name="my_var1", doc="my_var1", default=Calculation(func.calc_val, Params((ParamOption(option_2)))), properties=frozenset({"basic", "force_store_value", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2, option_3], properties=frozenset({"basic"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/01fill_autofreeze/xml/00-base.xml b/tests/dictionaries/01fill_autofreeze/xml/00-base.xml
deleted file mode 100644
index 166029124..000000000
--- a/tests/dictionaries/01fill_autofreeze/xml/00-base.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- no
-
-
- no
-
-
- False
-
-
-
-
- my_var2
- my_var1
-
-
-
diff --git a/tests/dictionaries/01fill_autosave/makedict/after.json b/tests/dictionaries/01fill_autosave/makedict/after.json
deleted file mode 100644
index 8ac6b9a15..000000000
--- a/tests/dictionaries/01fill_autosave/makedict/after.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.server_deployed": {
- "owner": "default",
- "value": true
- },
- "rougail.general.mode_conteneur_actif": {
- "owner": "forced",
- "value": "non"
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01fill_autosave/makedict/base.json b/tests/dictionaries/01fill_autosave/makedict/base.json
deleted file mode 100644
index f380de6ed..000000000
--- a/tests/dictionaries/01fill_autosave/makedict/base.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "rougail.server_deployed": true,
- "rougail.general.mode_conteneur_actif": "non",
- "rougail.general.mode_conteneur_actif1": "non"
-}
diff --git a/tests/dictionaries/01fill_autosave/makedict/before.json b/tests/dictionaries/01fill_autosave/makedict/before.json
deleted file mode 100644
index c4f382b56..000000000
--- a/tests/dictionaries/01fill_autosave/makedict/before.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.server_deployed": {
- "owner": "default",
- "value": true
- },
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01fill_autosave/tiramisu/base.py b/tests/dictionaries/01fill_autosave/tiramisu/base.py
deleted file mode 100644
index f7da929d4..000000000
--- a/tests/dictionaries/01fill_autosave/tiramisu/base.py
+++ /dev/null
@@ -1,31 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamOption(option_4)))), properties=frozenset({"basic", "force_store_value"}))
-optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"basic"}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, optiondescription_2], properties=frozenset({"basic"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5])
diff --git a/tests/dictionaries/01fill_base/makedict/after.json b/tests/dictionaries/01fill_base/makedict/after.json
deleted file mode 100644
index 6ebfbbe96..000000000
--- a/tests/dictionaries/01fill_base/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01fill_base/makedict/base.json b/tests/dictionaries/01fill_base/makedict/base.json
deleted file mode 100644
index 3f1a7b004..000000000
--- a/tests/dictionaries/01fill_base/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "rougail.general.mode_conteneur_actif1": "non"
-}
diff --git a/tests/dictionaries/01fill_base/makedict/before.json b/tests/dictionaries/01fill_base/makedict/before.json
deleted file mode 100644
index 6ebfbbe96..000000000
--- a/tests/dictionaries/01fill_base/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01fill_base/tiramisu/base.py b/tests/dictionaries/01fill_base/tiramisu/base.py
deleted file mode 100644
index ebcf7cdcc..000000000
--- a/tests/dictionaries/01fill_base/tiramisu/base.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamOption(option_3)))), properties=frozenset({"normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/01fill_mandatory/makedict/after.json b/tests/dictionaries/01fill_mandatory/makedict/after.json
deleted file mode 100644
index 6ebfbbe96..000000000
--- a/tests/dictionaries/01fill_mandatory/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01fill_mandatory/makedict/base.json b/tests/dictionaries/01fill_mandatory/makedict/base.json
deleted file mode 100644
index 3f1a7b004..000000000
--- a/tests/dictionaries/01fill_mandatory/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "rougail.general.mode_conteneur_actif1": "non"
-}
diff --git a/tests/dictionaries/01fill_mandatory/makedict/before.json b/tests/dictionaries/01fill_mandatory/makedict/before.json
deleted file mode 100644
index 6ebfbbe96..000000000
--- a/tests/dictionaries/01fill_mandatory/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01fill_mandatory/tiramisu/base.py b/tests/dictionaries/01fill_mandatory/tiramisu/base.py
deleted file mode 100644
index fbf575a1c..000000000
--- a/tests/dictionaries/01fill_mandatory/tiramisu/base.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"basic", "mandatory"}))
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamOption(option_3)))), properties=frozenset({"expert", "mandatory"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"basic"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"basic"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/01fill_number/makedict/after.json b/tests/dictionaries/01fill_number/makedict/after.json
deleted file mode 100644
index 65a98ebb0..000000000
--- a/tests/dictionaries/01fill_number/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": 3
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01fill_number/makedict/base.json b/tests/dictionaries/01fill_number/makedict/base.json
deleted file mode 100644
index e807c5bfc..000000000
--- a/tests/dictionaries/01fill_number/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": 3,
- "rougail.general.mode_conteneur_actif1": "non"
-}
diff --git a/tests/dictionaries/01fill_number/makedict/before.json b/tests/dictionaries/01fill_number/makedict/before.json
deleted file mode 100644
index 65a98ebb0..000000000
--- a/tests/dictionaries/01fill_number/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": 3
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01fill_number/tiramisu/base.py b/tests/dictionaries/01fill_number/tiramisu/base.py
deleted file mode 100644
index 3c6d3067b..000000000
--- a/tests/dictionaries/01fill_number/tiramisu/base.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = IntOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue(3)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/01fill_only_optional/makedict/after.json b/tests/dictionaries/01fill_only_optional/makedict/after.json
deleted file mode 100644
index 477ccc55e..000000000
--- a/tests/dictionaries/01fill_only_optional/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": null
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01fill_only_optional/makedict/base.json b/tests/dictionaries/01fill_only_optional/makedict/base.json
deleted file mode 100644
index f8d69705a..000000000
--- a/tests/dictionaries/01fill_only_optional/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": null,
- "rougail.general.mode_conteneur_actif1": "non"
-}
diff --git a/tests/dictionaries/01fill_only_optional/makedict/before.json b/tests/dictionaries/01fill_only_optional/makedict/before.json
deleted file mode 100644
index 477ccc55e..000000000
--- a/tests/dictionaries/01fill_only_optional/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": null
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries/01fill_only_optional/tiramisu/base.py b/tests/dictionaries/01fill_only_optional/tiramisu/base.py
deleted file mode 100644
index 0b341cc62..000000000
--- a/tests/dictionaries/01fill_only_optional/tiramisu/base.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params(())), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4])
diff --git a/tests/dictionaries/01fill_optional/dictionaries/rougail/00-base.yml b/tests/dictionaries/01fill_optional/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..eae9f060f
--- /dev/null
+++ b/tests/dictionaries/01fill_optional/dictionaries/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ __mode_conteneur_actif4 | calc_val(rougail.general.mode_conteneur_actif1,
+ __mode_conteneur_actif3) }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/01fill_quote/dictionaries/rougail/00-base.yml b/tests/dictionaries/01fill_quote/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..fe8245e01
--- /dev/null
+++ b/tests/dictionaries/01fill_quote/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "quote''" | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "quote\"" | calc_val }}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "quote\"''" | calc_val }}'
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "quote\"\\''" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/01fill_target_optional/dictionaries/rougail/00-base.yml b/tests/dictionaries/01fill_target_optional/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..8d14352b8
--- /dev/null
+++ b/tests/dictionaries/01fill_target_optional/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/01hidden_if_in_autofreeze/dictionaries/rougail/00-base.yml b/tests/dictionaries/01hidden_if_in_autofreeze/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..5ceedf641
--- /dev/null
+++ b/tests/dictionaries/01hidden_if_in_autofreeze/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+server_deployed:
+ type: boolean
+ default: false
+my_var:
+ type: string
+ default:
+ type: jinja
+ jinja: '{{ "yes" | calc_val }}'
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.server_deployed == true %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/01test/dictionaries/rougail/00-base.yml b/tests/dictionaries/01test/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4de529c64
--- /dev/null
+++ b/tests/dictionaries/01test/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ test: test
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/01test_boolean/dictionaries/rougail/00-base.yml b/tests/dictionaries/01test_boolean/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..258c3c3c4
--- /dev/null
+++ b/tests/dictionaries/01test_boolean/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: 'boolean'
+ test: false
+ default: true
+version: '1.0'
diff --git a/tests/dictionaries/01test_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/01test_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..919812d53
--- /dev/null
+++ b/tests/dictionaries/01test_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ test: test1|test2
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/01test_multi_none/dictionaries/rougail/00-base.yml b/tests/dictionaries/01test_multi_none/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..dd3e216f1
--- /dev/null
+++ b/tests/dictionaries/01test_multi_none/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ test: '|test1|test2'
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/01test_redefine/dictionaries/rougail/00-base.yml b/tests/dictionaries/01test_redefine/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4de529c64
--- /dev/null
+++ b/tests/dictionaries/01test_redefine/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ test: test
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/01test_redefine/dictionaries/rougail/10-base.yml b/tests/dictionaries/01test_redefine/dictionaries/rougail/10-base.yml
new file mode 100644
index 000000000..ac50fe5cb
--- /dev/null
+++ b/tests/dictionaries/01test_redefine/dictionaries/rougail/10-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ test: test1
+version: '1.0'
diff --git a/tests/dictionaries/01test_redefine_base/dictionaries/rougail/00-base.yml b/tests/dictionaries/01test_redefine_base/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f11d43a19
--- /dev/null
+++ b/tests/dictionaries/01test_redefine_base/dictionaries/rougail/00-base.yml
@@ -0,0 +1,2 @@
+my_variable: {}
+version: '1.0'
diff --git a/tests/dictionaries/01test_redefine_base/dictionaries/rougail/10-base.yml b/tests/dictionaries/01test_redefine_base/dictionaries/rougail/10-base.yml
new file mode 100644
index 000000000..d058528c0
--- /dev/null
+++ b/tests/dictionaries/01test_redefine_base/dictionaries/rougail/10-base.yml
@@ -0,0 +1,4 @@
+my_variable:
+ redefine: true
+ test: test1
+version: '1.0'
diff --git a/tests/dictionaries/01test_redefine_remove/dictionaries/rougail/00-base.yml b/tests/dictionaries/01test_redefine_remove/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4de529c64
--- /dev/null
+++ b/tests/dictionaries/01test_redefine_remove/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ test: test
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/01test_redefine_remove/dictionaries/rougail/10-base.yml b/tests/dictionaries/01test_redefine_remove/dictionaries/rougail/10-base.yml
new file mode 100644
index 000000000..a0619cf79
--- /dev/null
+++ b/tests/dictionaries/01test_redefine_remove/dictionaries/rougail/10-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ test: ''
+version: '1.0'
diff --git a/tests/dictionaries/02autosave_hidden_frozenifin/dictionaries/rougail/00-base.yml b/tests/dictionaries/02autosave_hidden_frozenifin/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..fe6b77e4b
--- /dev/null
+++ b/tests/dictionaries/02autosave_hidden_frozenifin/dictionaries/rougail/00-base.yml
@@ -0,0 +1,21 @@
+server_deployed:
+ type: boolean
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ autosavevar:
+ type: string
+ description: autosave variable
+ auto_save: true
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.mode_conteneur_actif == "oui" %}true{% else %}false{%
+ endif %}'
+ default:
+ type: jinja
+ jinja: '{{ "oui" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/02fill_multi_calc_val/dictionaries/rougail/00-base.yml b/tests/dictionaries/02fill_multi_calc_val/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..d3ce889e6
--- /dev/null
+++ b/tests/dictionaries/02fill_multi_calc_val/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+var1:
+ default: 'no'
+var2:
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.var1 | calc_value(multi=true) }}'
+version: '1.0'
diff --git a/tests/dictionaries/02fill_multi_calc_val_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/02fill_multi_calc_val_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..e18965929
--- /dev/null
+++ b/tests/dictionaries/02fill_multi_calc_val_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+var1:
+ multi: true
+ default:
+ - 'no'
+ - 'yes'
+ - maybe
+var2:
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.var1 | calc_value }}'
+version: '1.0'
diff --git a/tests/dictionaries/10autosave_hidden/dictionaries/rougail/00-base.yml b/tests/dictionaries/10autosave_hidden/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..a00889e96
--- /dev/null
+++ b/tests/dictionaries/10autosave_hidden/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+server_deployed:
+ type: boolean
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ autosavevar:
+ type: string
+ description: autosave variable
+ hidden: true
+ auto_save: true
+ default:
+ type: jinja
+ jinja: '{{ "oui" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10base_certificate_list/dictionaries/rougail/00-base.yml b/tests/dictionaries/10base_certificate_list/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4b7a0ceb7
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+server_name:
+ type: domainname
+ default: example.net
+version: '1.0'
diff --git a/tests/dictionaries/10base_certificate_list/dictionaries/services/00-base.yml b/tests/dictionaries/10base_certificate_list/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..9b0a63501
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list/dictionaries/services/00-base.yml
@@ -0,0 +1,10 @@
+test.service:
+ certificates:
+ certificate:
+ authority: authority
+ owner: example
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.server_name == "example1.net" %}true{% else %}false{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10base_certificate_list_disabled/dictionaries/rougail/00-base.yml b/tests/dictionaries/10base_certificate_list_disabled/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4b7a0ceb7
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list_disabled/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+server_name:
+ type: domainname
+ default: example.net
+version: '1.0'
diff --git a/tests/dictionaries/10base_certificate_list_disabled/dictionaries/services/00-base.yml b/tests/dictionaries/10base_certificate_list_disabled/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..05e64c002
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list_disabled/dictionaries/services/00-base.yml
@@ -0,0 +1,10 @@
+test.service:
+ certificates:
+ certificate:
+ authority: authority
+ owner: example
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.server_name == "example.net" %}true{% else %}false{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10check_base/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_base/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..3587ccd77
--- /dev/null
+++ b/tests/dictionaries/10check_base/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_entier(mini=0, maxi=100) }}'
+version: '1.0'
diff --git a/tests/dictionaries/10check_base_target_optional/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_base_target_optional/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f11d43a19
--- /dev/null
+++ b/tests/dictionaries/10check_base_target_optional/dictionaries/rougail/00-base.yml
@@ -0,0 +1,2 @@
+my_variable: {}
+version: '1.0'
diff --git a/tests/dictionaries/10check_no_param/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_no_param/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..28424db50
--- /dev/null
+++ b/tests/dictionaries/10check_no_param/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_lower }}'
+version: '1.0'
diff --git a/tests/dictionaries/10check_option/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_option/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..d27425e61
--- /dev/null
+++ b/tests/dictionaries/10check_option/dictionaries/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int2:
+ type: number
+ description: No change
+ default: 100
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_lower(mini=0, maxi=rougail.general.int2)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries/10check_optional/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_optional/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..d8a0c9c73
--- /dev/null
+++ b/tests/dictionaries/10check_optional/dictionaries/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_differ(rougail.general.int2) }}'
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_differ(__int3) }}'
+ int2:
+ type: number
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries/10check_valid_differ/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_valid_differ/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1de6670b5
--- /dev/null
+++ b/tests/dictionaries/10check_valid_differ/dictionaries/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif | valid_differ(rougail.general.mode_conteneur_actif1)
+ }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/10check_valid_differ_add/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_valid_differ_add/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b0a01db0d
--- /dev/null
+++ b/tests/dictionaries/10check_valid_differ_add/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default: oui
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(rougail.general.mode_conteneur_actif1)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries/10check_valid_differ_add/dictionaries/rougail/01-base.yml b/tests/dictionaries/10check_valid_differ_add/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..f94328eae
--- /dev/null
+++ b/tests/dictionaries/10check_valid_differ_add/dictionaries/rougail/01-base.yml
@@ -0,0 +1,11 @@
+general:
+ mode_conteneur_actif3:
+ redefine: true
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(__mode_conteneur_actif1)
+ }}'
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(__mode_conteneur_actif2)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries/10check_valid_differ_removecheck/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_valid_differ_removecheck/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b0a01db0d
--- /dev/null
+++ b/tests/dictionaries/10check_valid_differ_removecheck/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default: oui
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(rougail.general.mode_conteneur_actif1)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries/10check_valid_differ_removecheck/dictionaries/rougail/01-base.yml b/tests/dictionaries/10check_valid_differ_removecheck/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..d543b49dc
--- /dev/null
+++ b/tests/dictionaries/10check_valid_differ_removecheck/dictionaries/rougail/01-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif3:
+ redefine: true
+ default: oui
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(__mode_conteneur_actif1)
+ }}'
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(__mode_conteneur_actif2)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries/10check_valid_in_network/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_valid_in_network/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..361c52058
--- /dev/null
+++ b/tests/dictionaries/10check_valid_in_network/dictionaries/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ adresse_ip_eth0:
+ type: local_ip
+ description: Adresse IP de la carte
+ mandatory: true
+ mode: basic
+ adresse_netmask_eth0:
+ type: netmask
+ description: Masque de sous réseau de la carte
+ mandatory: true
+ mode: basic
+ adresse_ip:
+ type: local_ip
+ description: IP
+ mandatory: true
+ mode: basic
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.adresse_ip | valid_in_network(rougail.general.adresse_ip_eth0,
+ rougail.general.adresse_netmask_eth0) }}'
+version: '1.0'
diff --git a/tests/dictionaries/10check_valid_in_network_cidr/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_valid_in_network_cidr/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..3b7068f3f
--- /dev/null
+++ b/tests/dictionaries/10check_valid_in_network_cidr/dictionaries/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ adresse_ip_eth0:
+ type: cidr
+ description: Adresse IP de la carte
+ mandatory: true
+ mode: basic
+ adresse_ip:
+ type: local_ip
+ description: IP
+ mandatory: true
+ mode: basic
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.adresse_ip | valid_in_network(rougail.general.adresse_ip_eth0)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries/10check_valid_ipnetmask/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_valid_ipnetmask/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..32a6e15c8
--- /dev/null
+++ b/tests/dictionaries/10check_valid_ipnetmask/dictionaries/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ adresse_ip_eth0:
+ type: local_ip
+ description: Adresse IP de la carte
+ mandatory: true
+ mode: basic
+ adresse_netmask_eth0:
+ type: netmask
+ description: Masque de sous réseau de la carte
+ mandatory: true
+ mode: basic
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.adresse_netmask_eth0 | valid_ipnetmask(rougail.general.adresse_ip_eth0)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries/10check_valid_jinja/dictionaries/rougail/00-base.yml b/tests/dictionaries/10check_valid_jinja/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..cabe34ba8
--- /dev/null
+++ b/tests/dictionaries/10check_valid_jinja/dictionaries/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ validators:
+ - '{% if rougail.general.mode_conteneur_actif == rougail.general.mode_conteneur_actif1
+ %}the value must be different than "{{ rougail.general.mode_conteneur_actif
+ }}"{% endif %}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/10fill_information/dictionaries/rougail/00-base.yml b/tests/dictionaries/10fill_information/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..acbfb582c
--- /dev/null
+++ b/tests/dictionaries/10fill_information/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __information.test_information | calc_val }}'
+ params:
+ __information.test_information:
+ type: information
+ information: test_information
+version: '1.0'
diff --git a/tests/dictionaries/10fill_information_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/10fill_information_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0753b5f61
--- /dev/null
+++ b/tests/dictionaries/10fill_information_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ __information.test_information | calc_val }}'
+ params:
+ __information.test_information:
+ type: information
+ information: test_information
+version: '1.0'
diff --git a/tests/dictionaries/10fill_option_information/dictionaries/rougail/00-base.yml b/tests/dictionaries/10fill_option_information/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..3dd93a275
--- /dev/null
+++ b/tests/dictionaries/10fill_option_information/dictionaries/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ variable:
+ type: string
+ description: No change
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __information.rougail.general.variable.test_information | calc_val
+ }}'
+ params:
+ __information.rougail.general.variable.test_information:
+ type: information
+ information: test_information
+ variable: rougail.general.variable
+version: '1.0'
diff --git a/tests/dictionaries/10fill_option_od_information/dictionaries/rougail/00-base.yml b/tests/dictionaries/10fill_option_od_information/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c2c4f0a5f
--- /dev/null
+++ b/tests/dictionaries/10fill_option_od_information/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __information.rougail.general.od.variable.test_information | calc_val
+ }}'
+ params:
+ __information.rougail.general.od.variable.test_information:
+ type: information
+ information: test_information
+ variable: rougail.general.od.variable
+ od:
+ variable:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries/10fill_target_information/dictionaries/rougail/00-base.yml b/tests/dictionaries/10fill_target_information/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..5d919c81c
--- /dev/null
+++ b/tests/dictionaries/10fill_target_information/dictionaries/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __information.rougail.general.mode_conteneur_actif.test_information
+ | calc_val }}'
+ params:
+ __information.rougail.general.mode_conteneur_actif.test_information:
+ type: information
+ information: test_information
+ variable: rougail.general.mode_conteneur_actif
+version: '1.0'
diff --git a/tests/dictionaries/10frozenifin_unknown_valid_enum_number/dictionaries/rougail/00-base.yml b/tests/dictionaries/10frozenifin_unknown_valid_enum_number/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..93c510a6e
--- /dev/null
+++ b/tests/dictionaries/10frozenifin_unknown_valid_enum_number/dictionaries/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: enumvar
+ help: bla bla bla
+ default: 1
+ choices:
+ - 1
+ - 2
+ - 3
+ test_variable:
+ type: number
+ description: test variable
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.enumfam.enumvar == "4" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10integer_jinja/dictionaries/rougail/00-base.yml b/tests/dictionaries/10integer_jinja/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..62b7b16bf
--- /dev/null
+++ b/tests/dictionaries/10integer_jinja/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+---
+version: '1.0'
+my_variable:
+ type: choice
+ default: 9
+ choices:
+ type: jinja
+ jinja: |+
+ {% for item in trange(0, 10) %}
+ {{ item }}
+ {%- endfor %}
+ return_type: number
diff --git a/tests/dictionaries/10leadership_append/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_append/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6e211d24a
--- /dev/null
+++ b/tests/dictionaries/10leadership_append/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_append/dictionaries/rougail/01-base.yml b/tests/dictionaries/10leadership_append/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..08acd03a0
--- /dev/null
+++ b/tests/dictionaries/10leadership_append/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general1:
+ leader:
+ type: leadership
+ follower3:
+ type: string
+ description: follower3
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_append_hidden/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_append_hidden/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..5874dee18
--- /dev/null
+++ b/tests/dictionaries/10leadership_append_hidden/dictionaries/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ hidden: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_append_hidden/dictionaries/rougail/01-base.yml b/tests/dictionaries/10leadership_append_hidden/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..08acd03a0
--- /dev/null
+++ b/tests/dictionaries/10leadership_append_hidden/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general1:
+ leader:
+ type: leadership
+ follower3:
+ type: string
+ description: follower3
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_append_name/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_append_name/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1421f3981
--- /dev/null
+++ b/tests/dictionaries/10leadership_append_name/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leadership:
+ description: leadership
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leadership.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_append_name/dictionaries/rougail/01-base.yml b/tests/dictionaries/10leadership_append_name/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..c1d6eebed
--- /dev/null
+++ b/tests/dictionaries/10leadership_append_name/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general1:
+ leadership:
+ type: leadership
+ follower3:
+ type: string
+ description: follower3
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_auto/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_auto/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c927a0fe8
--- /dev/null
+++ b/tests/dictionaries/10leadership_auto/dictionaries/rougail/00-base.yml
@@ -0,0 +1,34 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.follower1 | calc_val }}'
+ follower3:
+ type: string
+ description: follower3
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.leader | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_auto_index/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_auto_index/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..8ea6e58fb
--- /dev/null
+++ b/tests/dictionaries/10leadership_auto_index/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+leader:
+ description: leader
+ type: leadership
+ leader:
+ multi: true
+ default:
+ - a
+ - b
+ - c
+ follower1:
+ type: number
+ default:
+ type: jinja
+ jinja: '{{ __index | calc_val }}'
+ params:
+ __index:
+ type: index
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_autoleader/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_autoleader/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..680b9493c
--- /dev/null
+++ b/tests/dictionaries/10leadership_autoleader/dictionaries/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.leader | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_autoleader_expert/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_autoleader_expert/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..fe83276ae
--- /dev/null
+++ b/tests/dictionaries/10leadership_autoleader_expert/dictionaries/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+leadermode:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_list }}'
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_autosaveexpert/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_autosaveexpert/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..65be907af
--- /dev/null
+++ b/tests/dictionaries/10leadership_autosaveexpert/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_empty/dictionaries/rougail/00_base.yml b/tests/dictionaries/10leadership_empty/dictionaries/rougail/00_base.yml
new file mode 100644
index 000000000..9f7d9a728
--- /dev/null
+++ b/tests/dictionaries/10leadership_empty/dictionaries/rougail/00_base.yml
@@ -0,0 +1,3 @@
+empty_leader:
+ type: leadership
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_empty/dictionaries/services/00_base.yml b/tests/dictionaries/10leadership_empty/dictionaries/services/00_base.yml
new file mode 100644
index 000000000..c68a20606
--- /dev/null
+++ b/tests/dictionaries/10leadership_empty/dictionaries/services/00_base.yml
@@ -0,0 +1,2 @@
+tata.service: {}
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_hidden/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_hidden/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..767b506ce
--- /dev/null
+++ b/tests/dictionaries/10leadership_hidden/dictionaries/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+leadermode:
+ leader:
+ description: leader
+ hidden: true
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_list }}'
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_leader_hidden/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_leader_hidden/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..a4d447d82
--- /dev/null
+++ b/tests/dictionaries/10leadership_leader_hidden/dictionaries/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+leadermode:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_list }}'
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_leader_hidden_if_in/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_leader_hidden_if_in/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f8d7bbac2
--- /dev/null
+++ b/tests/dictionaries/10leadership_leader_hidden_if_in/dictionaries/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+leadermode:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.mode_conteneur_actif == "non" %}true{% else
+ %}false{% endif %}'
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_leader_hidden_if_in_name/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_leader_hidden_if_in_name/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..59946e2b8
--- /dev/null
+++ b/tests/dictionaries/10leadership_leader_hidden_if_in_name/dictionaries/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+leadermode:
+ other:
+ description: other
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.mode_conteneur_actif == "non" %}true{% else
+ %}false{% endif %}'
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_leadermandatory/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_leadermandatory/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0dfd29624
--- /dev/null
+++ b/tests/dictionaries/10leadership_leadermandatory/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ mandatory: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_mandatoryfollower/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_mandatoryfollower/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..adfbc5663
--- /dev/null
+++ b/tests/dictionaries/10leadership_mandatoryfollower/dictionaries/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+ nut_monitor_netmask:
+ description: Masque de l'IP du réseau de l'esclave
+ type: leadership
+ nut_monitor_netmask:
+ type: netmask
+ description: Masque de l'IP du réseau de l'esclave
+ multi: true
+ nut_monitor_host:
+ type: network
+ description: Adresse IP du réseau de l'esclave
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_mandatoryfollower_value/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_mandatoryfollower_value/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f8f642153
--- /dev/null
+++ b/tests/dictionaries/10leadership_mandatoryfollower_value/dictionaries/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+ nut_monitor_netmask:
+ description: Masque de l'IP du réseau de l'esclave
+ type: leadership
+ nut_monitor_netmask:
+ type: netmask
+ description: Masque de l'IP du réseau de l'esclave
+ multi: true
+ nut_monitor_host:
+ type: network
+ description: Adresse IP du réseau de l'esclave
+ mandatory: true
+ default: 192.168.0.0
+version: '1.0'
diff --git a/tests/dictionaries/10leadership_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/10leadership_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..a76ff7462
--- /dev/null
+++ b/tests/dictionaries/10leadership_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,39 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+ leader1:
+ description: leader
+ type: leadership
+ leader1:
+ type: string
+ description: leader
+ multi: true
+ follower11:
+ type: string
+ description: follower1
+ follower21:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..354f25437
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in/dictionaries/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_fill/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_fill/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..5cd994089
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_fill/dictionaries/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ condition:
+ type: string
+ default: 'no'
+ variable1:
+ type: string
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "no" %}true{% else %}false{% endif
+ %}'
+ variable2:
+ type: string
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.variable1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_list_optional/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_list_optional/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..5b42c2211
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_list_optional/dictionaries/rougail/00-base.yml
@@ -0,0 +1,3 @@
+condition:
+ type: boolean
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..bd5a3dffd
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param/dictionaries/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param/dictionaries/services/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..6abe5cc6a
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param2/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param2/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..2f360f004
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param2/dictionaries/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'no'
+ condition2:
+ type: string
+ description: No change
+ default: 'no'
+ test_variable:
+ type: string
+ description: No change
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition2 == "yes" or rougail.general.condition2
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param2/dictionaries/services/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param2/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..beb053e5c
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param2/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "yes" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param3/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param3/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..2f360f004
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param3/dictionaries/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'no'
+ condition2:
+ type: string
+ description: No change
+ default: 'no'
+ test_variable:
+ type: string
+ description: No change
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition2 == "yes" or rougail.general.condition2
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param3/dictionaries/services/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param3/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..16c140073
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param3/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "yes" or rougail.general.condition
+ == "maybe" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param4/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param4/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..8f2300cd1
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param4/dictionaries/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'yes'
+ condition2:
+ type: string
+ description: No change
+ default: 'no'
+ test_variable:
+ type: string
+ description: No change
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition2 == "yes" or rougail.general.condition2
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param4/dictionaries/services/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param4/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..16c140073
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param4/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "yes" or rougail.general.condition
+ == "maybe" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param5/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param5/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1953204c3
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param5/dictionaries/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'yes'
+ condition2:
+ type: string
+ description: No change
+ default: 'yes'
+ test_variable:
+ type: string
+ description: No change
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition2 == "yes" or rougail.general.condition2
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param5/dictionaries/services/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param5/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..16c140073
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param5/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "yes" or rougail.general.condition
+ == "maybe" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param6/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param6/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c610e80d4
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param6/dictionaries/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'no'
+ condition2:
+ type: string
+ description: No change
+ default: 'yes'
+ test_variable:
+ type: string
+ description: No change
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition2 == "yes" or rougail.general.condition2
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param6/dictionaries/services/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param6/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..16c140073
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param6/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "yes" or rougail.general.condition
+ == "maybe" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param_disabled/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param_disabled/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..7aff4ee1f
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param_disabled/dictionaries/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: oui
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param_disabled/dictionaries/services/00-base.yml b/tests/dictionaries/10load_disabled_if_in_multi_param_disabled/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..6abe5cc6a
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_multi_param_disabled/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_none/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_none/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..70b006087
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_none/dictionaries/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == null %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == null %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_twice/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_twice/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4478f1cd3
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_twice/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+my_var1:
+ default: 'no'
+my_var2:
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.my_var1 == "no" %}true{% else %}false{% endif %}'
+my_var3:
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.my_var2 == "no" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_variable/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_variable/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..439424a4a
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_variable/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: tous
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == rougail.general.mode_conteneur_actif
+ %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_in_variable2/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_in_variable2/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..7df5d7b3e
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_in_variable2/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: aucun
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == rougail.general.mode_conteneur_actif
+ %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_not_in_fallback/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_not_in_fallback/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f1987cb8d
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_not_in_fallback/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'no'
+ disable_variable:
+ type: string
+ description: No change
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if __unknown == "no" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_not_in_fallback/dictionaries/services/00-base.yml b/tests/dictionaries/10load_disabled_if_not_in_fallback/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..a74358c25
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_not_in_fallback/dictionaries/services/00-base.yml
@@ -0,0 +1,7 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if __unknown == "no" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabled_if_not_in_fallback_force/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabled_if_not_in_fallback_force/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..df2bf7dbf
--- /dev/null
+++ b/tests/dictionaries/10load_disabled_if_not_in_fallback_force/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __activer_client_ldap == "non" %}false{% else %}true{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled: true
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabledifin_fallback/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabledifin_fallback/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..91d61f007
--- /dev/null
+++ b/tests/dictionaries/10load_disabledifin_fallback/dictionaries/rougail/00-base.yml
@@ -0,0 +1,21 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __activer_client_ldap == "non" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabledifin_fallback_force/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabledifin_fallback_force/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..91d61f007
--- /dev/null
+++ b/tests/dictionaries/10load_disabledifin_fallback_force/dictionaries/rougail/00-base.yml
@@ -0,0 +1,21 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __activer_client_ldap == "non" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_disabledifin_whithouttype/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_disabledifin_whithouttype/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..57453550e
--- /dev/null
+++ b/tests/dictionaries/10load_disabledifin_whithouttype/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_frozenifin/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_frozenifin/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..191b34379
--- /dev/null
+++ b/tests/dictionaries/10load_frozenifin/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_frozenifin_auto/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_frozenifin_auto/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c4e09ad10
--- /dev/null
+++ b/tests/dictionaries/10load_frozenifin_auto/dictionaries/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_val }}'
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_frozenifin_multiparam/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_frozenifin_multiparam/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..56959df42
--- /dev/null
+++ b/tests/dictionaries/10load_frozenifin_multiparam/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "tous" or rougail.general.condition
+ == "authentifié" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "tous" or rougail.general.condition
+ == "authentifié" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_frozenifin_noexist/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_frozenifin_noexist/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..264aa7773
--- /dev/null
+++ b/tests/dictionaries/10load_frozenifin_noexist/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}true{% else %}false{% endif %}'
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}true{% else %}false{% endif %}'
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/10load_frozenifin_variable/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_frozenifin_variable/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..376abb295
--- /dev/null
+++ b/tests/dictionaries/10load_frozenifin_variable/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: tous
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == rougail.general.mode_conteneur_actif
+ %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_frozenifnotin/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_frozenifnotin/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..30f71cedb
--- /dev/null
+++ b/tests/dictionaries/10load_frozenifnotin/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}false{% else %}true{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}false{% else %}true{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_frozenifnotin_noexist/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_frozenifnotin_noexist/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..19f7fa666
--- /dev/null
+++ b/tests/dictionaries/10load_frozenifnotin_noexist/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}false{% else %}true{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_hidden_if_empty_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_hidden_if_empty_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..38ba06fcb
--- /dev/null
+++ b/tests/dictionaries/10load_hidden_if_empty_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,29 @@
+general:
+ description: Général
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+general2:
+ description: Général2
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_hidden_if_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_hidden_if_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..306f00a1f
--- /dev/null
+++ b/tests/dictionaries/10load_hidden_if_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,34 @@
+general:
+ description: Général
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+general2:
+ description: Général2
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_leadership/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_leadership/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6e211d24a
--- /dev/null
+++ b/tests/dictionaries/10load_leadership/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_leadership_default_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_leadership_default_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c24cb4088
--- /dev/null
+++ b/tests/dictionaries/10load_leadership_default_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default: value
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/10load_leadership_default_submulti/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_leadership_default_submulti/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1d2bcef7f
--- /dev/null
+++ b/tests/dictionaries/10load_leadership_default_submulti/dictionaries/rougail/00-base.yml
@@ -0,0 +1,30 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - leader
+ follower1:
+ type: string
+ description: follower1
+ multi: true
+ default:
+ - value
+ follower2:
+ type: string
+ description: follower2
+ multi: true
+ default:
+ - value1
+ - value2
+version: '1.0'
diff --git a/tests/dictionaries/10load_leadership_defaultmulti_leader/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_leadership_defaultmulti_leader/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4ba8fa051
--- /dev/null
+++ b/tests/dictionaries/10load_leadership_defaultmulti_leader/dictionaries/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - value
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/10load_leadership_description/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_leadership_description/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b17bdc622
--- /dev/null
+++ b/tests/dictionaries/10load_leadership_description/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: other description
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_leadership_name/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_leadership_name/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f677d09a0
--- /dev/null
+++ b/tests/dictionaries/10load_leadership_name/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ other_name:
+ description: other_name
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.other_name.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_leadership_submulti/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_leadership_submulti/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1c4a4b105
--- /dev/null
+++ b/tests/dictionaries/10load_leadership_submulti/dictionaries/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_mandatoryifin/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_mandatoryifin/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..67737342b
--- /dev/null
+++ b/tests/dictionaries/10load_mandatoryifin/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ mandatory:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ mandatory:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_mandatoryifnotin_noexist/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_mandatoryifnotin_noexist/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..bc2d98d6c
--- /dev/null
+++ b/tests/dictionaries/10load_mandatoryifnotin_noexist/dictionaries/rougail/00-base.yml
@@ -0,0 +1,28 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mandatory:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}false{% else %}true{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mandatory:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/10load_multivalue/dictionaries/rougail/00-base.yml b/tests/dictionaries/10load_multivalue/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..641ad2f39
--- /dev/null
+++ b/tests/dictionaries/10load_multivalue/dictionaries/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ multi: true
+ default:
+ - non
+ - oui
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_accent/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_accent/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0378ed8cf
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_accent/dictionaries/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: c
+ choices:
+ - a
+ - b
+ - c
+ - é
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_append/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_append/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..5e336a75f
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_append/dictionaries/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: b
+ choices:
+ - a
+ - b
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_append/dictionaries/rougail/01-base.yml b/tests/dictionaries/10valid_enum_append/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..fd5f280ac
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_append/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+enumfam:
+ enumvar:
+ redefine: true
+ default: c
+ choices:
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_base/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_base/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..dfa17db97
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_base/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: c
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_base_no_mandatory/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_base_no_mandatory/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c4f293044
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_base_no_mandatory/dictionaries/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ mandatory: false
+ type: choice
+ default: c
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_base_redefine/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_base_redefine/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..fc6d6f850
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_base_redefine/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar2:
+ type: choice
+ description: multi
+ default: c
+ choices:
+ - a
+ - b
+ - c
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: c
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_base_redefine/dictionaries/rougail/01-base.yml b/tests/dictionaries/10valid_enum_base_redefine/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..f708c2e17
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_base_redefine/dictionaries/rougail/01-base.yml
@@ -0,0 +1,10 @@
+enumfam:
+ mode: expert
+ enumvar:
+ redefine: true
+ validators: null
+ default: c
+ choices:
+ - a
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_leader/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_leader/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..defffce64
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_leader/dictionaries/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: choice
+ description: follower1
+ default: a
+ choices:
+ - a
+ - b
+ - c
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_mandatory/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_mandatory/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..dcbdb41f5
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_mandatory/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ mandatory: true
+ default: a
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ffe6bce4c
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ multi:
+ type: choice
+ description: multi
+ multi: true
+ default:
+ - a
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_none/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_none/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ba649d21d
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_none/dictionaries/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ mandatory: false
+ default: b
+ choices:
+ - a
+ - b
+ - null
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_number/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_number/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..d4d804516
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_number/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: enumvar
+ help: bla bla bla
+ default: 1
+ choices:
+ - 1
+ - 2
+ - 3
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_numberdefault/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_numberdefault/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4ebdcf8ac
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_numberdefault/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: enumvar
+ help: bla bla bla
+ default: 3
+ choices:
+ - 1
+ - 2
+ - 3
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_param_empty/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_param_empty/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..12e0f0a3d
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_param_empty/dictionaries/rougail/00-base.yml
@@ -0,0 +1,10 @@
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: null
+ choices:
+ - null
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_param_empty2/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_param_empty2/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ca08e3ffe
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_param_empty2/dictionaries/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: null
+ choices:
+ - null
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_quote/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_quote/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ea4790639
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_quote/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: quote'
+ choices:
+ - quote'
+ - quote"
+ - quote"'
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_value/dictionaries/rougail/00-base.yml b/tests/dictionaries/10valid_enum_value/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..838e7f785
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_value/dictionaries/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ type: choice
+ description: No change
+ default: b
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/10valid_enum_variables/dictionaries/rougail/00-base.xml b/tests/dictionaries/10valid_enum_variables/dictionaries/rougail/00-base.xml
new file mode 100644
index 000000000..43188bdc7
--- /dev/null
+++ b/tests/dictionaries/10valid_enum_variables/dictionaries/rougail/00-base.xml
@@ -0,0 +1,15 @@
+---
+version: '1.0'
+source_variable_1:
+ multi: true
+ default: val1
+source_variable_2:
+ multi: true
+ default: val2
+my_variable:
+ type: choice
+ choices:
+ - type: variable
+ variable: rougail.source_variable_1
+ - type: variable
+ variable: rougail.source_variable_2
diff --git a/tests/dictionaries/11disabled_if_in_filelist/dictionaries/rougail/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ccb368d8b
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist/dictionaries/rougail/00-base.yml
@@ -0,0 +1,21 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: boolean
+ description: No change
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabled_if_in_filelist/dictionaries/services/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..91273e771
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /etc/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabled_if_in_filelist_boolean/dictionaries/rougail/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist_boolean/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..9b10c48f8
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist_boolean/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+general:
+ condition:
+ type: boolean
+version: '1.0'
diff --git a/tests/dictionaries/11disabled_if_in_filelist_boolean/dictionaries/services/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist_boolean/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..8d43ab1c1
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist_boolean/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == true %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabled_if_in_filelist_boolean2/dictionaries/rougail/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist_boolean2/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c0abf7583
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist_boolean2/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ condition:
+ type: boolean
+ default: false
+version: '1.0'
diff --git a/tests/dictionaries/11disabled_if_in_filelist_boolean2/dictionaries/services/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist_boolean2/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..8d43ab1c1
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist_boolean2/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == true %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabled_if_in_filelist_disabled/dictionaries/rougail/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist_disabled/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..db70b3ed2
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist_disabled/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: oui
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabled_if_in_filelist_disabled/dictionaries/services/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist_disabled/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..91273e771
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist_disabled/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /etc/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabled_if_in_filelist_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..57453550e
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabled_if_in_filelist_multi/dictionaries/services/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist_multi/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..ebf2d5a93
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist_multi/dictionaries/services/00-base.yml
@@ -0,0 +1,13 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ /tmp/file2:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabled_if_in_filelist_same_name/dictionaries/rougail/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist_same_name/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ccb368d8b
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist_same_name/dictionaries/rougail/00-base.yml
@@ -0,0 +1,21 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: boolean
+ description: No change
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabled_if_in_filelist_same_name/dictionaries/services/00-base.yml b/tests/dictionaries/11disabled_if_in_filelist_same_name/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..91273e771
--- /dev/null
+++ b/tests/dictionaries/11disabled_if_in_filelist_same_name/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /etc/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabledifin_filelist_notexist/dictionaries/rougail/00-base.yml b/tests/dictionaries/11disabledifin_filelist_notexist/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0702f5f71
--- /dev/null
+++ b/tests/dictionaries/11disabledifin_filelist_notexist/dictionaries/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/11disabledifin_filelist_notexist/dictionaries/services/00-base.yml b/tests/dictionaries/11disabledifin_filelist_notexist/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..9209d7615
--- /dev/null
+++ b/tests/dictionaries/11disabledifin_filelist_notexist/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "unpossible" %}false{% else %}true{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabledifnotin_filelist_notexist/dictionaries/rougail/00-base.yml b/tests/dictionaries/11disabledifnotin_filelist_notexist/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0702f5f71
--- /dev/null
+++ b/tests/dictionaries/11disabledifnotin_filelist_notexist/dictionaries/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/11disabledifnotin_filelist_notexist/dictionaries/services/00-base.yml b/tests/dictionaries/11disabledifnotin_filelist_notexist/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..9209d7615
--- /dev/null
+++ b/tests/dictionaries/11disabledifnotin_filelist_notexist/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "unpossible" %}false{% else %}true{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabledifnotin_filelist_notexist_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/11disabledifnotin_filelist_notexist_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0702f5f71
--- /dev/null
+++ b/tests/dictionaries/11disabledifnotin_filelist_notexist_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/11disabledifnotin_filelist_notexist_multi/dictionaries/services/00-base.yml b/tests/dictionaries/11disabledifnotin_filelist_notexist_multi/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..9209d7615
--- /dev/null
+++ b/tests/dictionaries/11disabledifnotin_filelist_notexist_multi/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "unpossible" %}false{% else %}true{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/11disabledifnotin_filelist_notexist_validenum/dictionaries/rougail/00-base.yml b/tests/dictionaries/11disabledifnotin_filelist_notexist_validenum/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..d4635ae31
--- /dev/null
+++ b/tests/dictionaries/11disabledifnotin_filelist_notexist_validenum/dictionaries/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: non
+ choices:
+ - non
+ - statique
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/11disabledifnotin_filelist_notexist_validenum/dictionaries/services/00-base.yml b/tests/dictionaries/11disabledifnotin_filelist_notexist_validenum/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..30155012f
--- /dev/null
+++ b/tests/dictionaries/11disabledifnotin_filelist_notexist_validenum/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "statique" %}false{% else %}true{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/11multi_disabled_if_in_filelist/dictionaries/rougail/00-base.yml b/tests/dictionaries/11multi_disabled_if_in_filelist/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b7524fed1
--- /dev/null
+++ b/tests/dictionaries/11multi_disabled_if_in_filelist/dictionaries/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/11multi_disabled_if_in_filelist/dictionaries/services/00-base.yml b/tests/dictionaries/11multi_disabled_if_in_filelist/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..cef7b6d98
--- /dev/null
+++ b/tests/dictionaries/11multi_disabled_if_in_filelist/dictionaries/services/00-base.yml
@@ -0,0 +1,7 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if __activer_clam == "non" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/11valid_enum_function/dictionaries/rougail/00-base.yml b/tests/dictionaries/11valid_enum_function/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..656fcdd61
--- /dev/null
+++ b/tests/dictionaries/11valid_enum_function/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ var:
+ type: choice
+ description: New variable
+ default: 9
+ choices:
+ - type: jinja
+ jinja: '{{ 0 | trange(10) }}'
+version: '1.0'
diff --git a/tests/dictionaries/11valid_enum_variable/dictionaries/rougail/00-base.yml b/tests/dictionaries/11valid_enum_variable/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ab1accacb
--- /dev/null
+++ b/tests/dictionaries/11valid_enum_variable/dictionaries/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode_conteneur_actif:
+ type: choice
+ description: No change
+ default: a
+ choices:
+ - type: variable
+ variable: rougail.general.var
+ var:
+ type: string
+ description: New variable
+ multi: true
+ default:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/12auto_base/dictionaries/rougail/00-base.yml b/tests/dictionaries/12auto_base/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..011db2f68
--- /dev/null
+++ b/tests/dictionaries/12auto_base/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/12auto_func_variable/dictionaries/rougail/00-base.yml b/tests/dictionaries/12auto_func_variable/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..9a7c20c1d
--- /dev/null
+++ b/tests/dictionaries/12auto_func_variable/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: variable
+ variable: rougail.general.mode_conteneur_actif1
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/12auto_jinja_base/dictionaries/rougail/00-base.yml b/tests/dictionaries/12auto_jinja_base/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..e89682f7f
--- /dev/null
+++ b/tests/dictionaries/12auto_jinja_base/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/12auto_jinja_if/dictionaries/rougail/00-base.yml b/tests/dictionaries/12auto_jinja_if/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1d379e090
--- /dev/null
+++ b/tests/dictionaries/12auto_jinja_if/dictionaries/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{% if rougail.general.mode_conteneur_actif1 == ''non'' %}non{% else %}oui{% endif %}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{% if rougail.general.mode_conteneur_actif1 == "non" %}oui{% else %}non{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/12auto_jinja_if_bool/dictionaries/rougail/00-base.yml b/tests/dictionaries/12auto_jinja_if_bool/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..359e22a3f
--- /dev/null
+++ b/tests/dictionaries/12auto_jinja_if_bool/dictionaries/rougail/00-base.yml
@@ -0,0 +1,29 @@
+---
+version: '1.0'
+general:
+ bool:
+ type: boolean
+ multi1:
+ type: boolean
+ multi: true
+ default:
+ type: jinja
+ jinja: |+
+ {% if rougail.general.bool %}
+ True
+ False
+ {% else %}
+ False
+ {% endif %}
+ multi2:
+ type: boolean
+ multi: true
+ default:
+ type: jinja
+ jinja: |+
+ {% if not rougail.general.bool %}
+ True
+ False
+ {% else %}
+ False
+ {% endif %}
diff --git a/tests/dictionaries/12auto_jinja_if_int/dictionaries/rougail/00-base.yml b/tests/dictionaries/12auto_jinja_if_int/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..3e688a526
--- /dev/null
+++ b/tests/dictionaries/12auto_jinja_if_int/dictionaries/rougail/00-base.yml
@@ -0,0 +1,14 @@
+---
+version: '1.0'
+bool:
+ type: boolean
+int1:
+ type: number
+ default:
+ type: jinja
+ jinja: '{% if rougail.bool %}1{% else %}2{% endif %}'
+int2:
+ type: number
+ default:
+ type: jinja
+ jinja: '{% if not rougail.bool %}3{% else %}4{% endif %}'
diff --git a/tests/dictionaries/12auto_jinja_set/dictionaries/rougail/00-base.yml b/tests/dictionaries/12auto_jinja_set/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..d28327313
--- /dev/null
+++ b/tests/dictionaries/12auto_jinja_set/dictionaries/rougail/00-base.yml
@@ -0,0 +1,14 @@
+---
+version: '1.0'
+bool:
+ type: boolean
+int1:
+ type: number
+ default:
+ type: jinja
+ jinja: '{%set bool1 = rougail.bool %}{% if bool1 %}1{% else %}2{% endif %}'
+int2:
+ type: number
+ default:
+ type: jinja
+ jinja: '{%set bool1 = rougail.bool %}{% if not bool1 %}3{% else %}4{% endif %}'
diff --git a/tests/dictionaries/12auto_withoutparam/dictionaries/rougail/00-base.yml b/tests/dictionaries/12auto_withoutparam/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6a7b569db
--- /dev/null
+++ b/tests/dictionaries/12auto_withoutparam/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ calc_val() }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/15fill_autosave/dictionaries/rougail/00-base.yml b/tests/dictionaries/15fill_autosave/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b16c01b70
--- /dev/null
+++ b/tests/dictionaries/15fill_autosave/dictionaries/rougail/00-base.yml
@@ -0,0 +1,15 @@
+server_deployed:
+ type: boolean
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ auto_save: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/15fill_base/dictionaries/rougail/00-base.yml b/tests/dictionaries/15fill_base/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ab500946e
--- /dev/null
+++ b/tests/dictionaries/15fill_base/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/15fill_mandatory/dictionaries/rougail/00-base.yml b/tests/dictionaries/15fill_mandatory/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..5e2ffd6b4
--- /dev/null
+++ b/tests/dictionaries/15fill_mandatory/dictionaries/rougail/00-base.yml
@@ -0,0 +1,15 @@
+general:
+ mode: basic
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ mandatory: true
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/15fill_number/dictionaries/rougail/00-base.yml b/tests/dictionaries/15fill_number/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..d8c520b53
--- /dev/null
+++ b/tests/dictionaries/15fill_number/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: number
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ 3 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/15fill_only_optional/dictionaries/rougail/00-base.yml b/tests/dictionaries/15fill_only_optional/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ef2de4eb8
--- /dev/null
+++ b/tests/dictionaries/15fill_only_optional/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ __mode_conteneur_actif4 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/15load_autosave/dictionaries/rougail/00-base.yml b/tests/dictionaries/15load_autosave/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..d0c8eeb01
--- /dev/null
+++ b/tests/dictionaries/15load_autosave/dictionaries/rougail/00-base.yml
@@ -0,0 +1,10 @@
+server_deployed:
+ type: boolean
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ auto_save: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/15load_autosaveexpert/dictionaries/rougail/00-base.yml b/tests/dictionaries/15load_autosaveexpert/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6bed2dd57
--- /dev/null
+++ b/tests/dictionaries/15load_autosaveexpert/dictionaries/rougail/00-base.yml
@@ -0,0 +1,11 @@
+server_deployed:
+ type: boolean
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ auto_save: true
+ mode: expert
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/20family_append/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_append/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..765ba2c20
--- /dev/null
+++ b/tests/dictionaries/20family_append/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/20family_append/dictionaries/rougail/01-base.yml b/tests/dictionaries/20family_append/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..6819701d7
--- /dev/null
+++ b/tests/dictionaries/20family_append/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/20family_disabled/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_disabled/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..522bc25aa
--- /dev/null
+++ b/tests/dictionaries/20family_disabled/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ disabled: true
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ disabled: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/20family_disabled/dictionaries/rougail/01-base.yml b/tests/dictionaries/20family_disabled/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..a0eeaebe2
--- /dev/null
+++ b/tests/dictionaries/20family_disabled/dictionaries/rougail/01-base.yml
@@ -0,0 +1,3 @@
+general:
+ disabled: true
+version: '1.0'
diff --git a/tests/dictionaries/20family_dynamic/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_dynamic/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4839ed54c
--- /dev/null
+++ b/tests/dictionaries/20family_dynamic/dictionaries/rougail/00-base.yml
@@ -0,0 +1,15 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries/20family_dynamic_calc/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_dynamic_calc/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..52b8ab369
--- /dev/null
+++ b/tests/dictionaries/20family_dynamic_calc/dictionaries/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default: val
+new:
+ newvar:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __vardynval1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/20family_dynamic_calc2/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_dynamic_calc2/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b6920b978
--- /dev/null
+++ b/tests/dictionaries/20family_dynamic_calc2/dictionaries/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default: val
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.new.newvar == "non" %}true{% else %}false{% endif %}'
+new:
+ newvar:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries/20family_dynamic_calc_suffix/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_dynamic_calc_suffix/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ab109ddea
--- /dev/null
+++ b/tests/dictionaries/20family_dynamic_calc_suffix/dictionaries/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __suffix | calc_val }}'
+ params:
+ __suffix:
+ type: suffix
+new:
+ newvar:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries/20family_dynamic_description/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_dynamic_description/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..05264b5c7
--- /dev/null
+++ b/tests/dictionaries/20family_dynamic_description/dictionaries/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ description: 'Dyn '
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries/20family_dynamic_jinja_fill/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_dynamic_jinja_fill/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6a91a60b2
--- /dev/null
+++ b/tests/dictionaries/20family_dynamic_jinja_fill/dictionaries/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default: val
+new:
+ newvar:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ vardynval1 }}'
+version: '1.0'
diff --git a/tests/dictionaries/20family_dynamic_leadership/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_dynamic_leadership/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..9e3a92183
--- /dev/null
+++ b/tests/dictionaries/20family_dynamic_leadership/dictionaries/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ leadership:
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/20family_dynamic_number/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_dynamic_number/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f1fc431e1
--- /dev/null
+++ b/tests/dictionaries/20family_dynamic_number/dictionaries/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ varname:
+ type: number
+ description: No change
+ multi: true
+ default:
+ - 1
+ - 2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default: val
+new:
+ newvar:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __vardyn1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/20family_empty/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_empty/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..167d71a55
--- /dev/null
+++ b/tests/dictionaries/20family_empty/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ mode: basic
+ default: non
+general2:
+ help: family
+version: '1.0'
diff --git a/tests/dictionaries/20family_hidden/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_hidden/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..765ba2c20
--- /dev/null
+++ b/tests/dictionaries/20family_hidden/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/20family_hidden/dictionaries/rougail/01-base.yml b/tests/dictionaries/20family_hidden/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..05da55dca
--- /dev/null
+++ b/tests/dictionaries/20family_hidden/dictionaries/rougail/01-base.yml
@@ -0,0 +1,3 @@
+general:
+ hidden: true
+version: '1.0'
diff --git a/tests/dictionaries/20family_mode/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_mode/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..71f7adc02
--- /dev/null
+++ b/tests/dictionaries/20family_mode/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ mode: basic
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/20family_modeleadership/dictionaries/rougail/00-base.yml b/tests/dictionaries/20family_modeleadership/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0ea2c72aa
--- /dev/null
+++ b/tests/dictionaries/20family_modeleadership/dictionaries/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+ mode: basic
+version: '1.0'
diff --git a/tests/dictionaries/20notemplating/dictionaries/rougail/00-base.yml b/tests/dictionaries/20notemplating/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6522280e9
--- /dev/null
+++ b/tests/dictionaries/20notemplating/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/20notemplating/dictionaries/services/00-base.yml b/tests/dictionaries/20notemplating/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..0b76d6d97
--- /dev/null
+++ b/tests/dictionaries/20notemplating/dictionaries/services/00-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ files:
+ /etc/file:
+ engine: none
+version: '1.0'
diff --git a/tests/dictionaries/20override/dictionaries/rougail/00-base.yml b/tests/dictionaries/20override/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6522280e9
--- /dev/null
+++ b/tests/dictionaries/20override/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/20override/dictionaries/services/00-base.yml b/tests/dictionaries/20override/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..b22418e0b
--- /dev/null
+++ b/tests/dictionaries/20override/dictionaries/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ override: null
+test2.service:
+ override:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries/20override_no_templating/dictionaries/rougail/00-base.yml b/tests/dictionaries/20override_no_templating/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6522280e9
--- /dev/null
+++ b/tests/dictionaries/20override_no_templating/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/20override_no_templating/dictionaries/services/00-base.yml b/tests/dictionaries/20override_no_templating/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..d55f83ddb
--- /dev/null
+++ b/tests/dictionaries/20override_no_templating/dictionaries/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ override:
+ engine: none
+version: '1.0'
diff --git a/tests/dictionaries/20override_source/dictionaries/rougail/00-base.yml b/tests/dictionaries/20override_source/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6522280e9
--- /dev/null
+++ b/tests/dictionaries/20override_source/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/20override_source/dictionaries/services/00-base.yml b/tests/dictionaries/20override_source/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..b199c5321
--- /dev/null
+++ b/tests/dictionaries/20override_source/dictionaries/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ override:
+ source: test2.service
+version: '1.0'
diff --git a/tests/dictionaries/21family_empty/dictionaries/rougail/00-base.yml b/tests/dictionaries/21family_empty/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..cc32e34b9
--- /dev/null
+++ b/tests/dictionaries/21family_empty/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1: {}
+version: '1.0'
diff --git a/tests/dictionaries/21family_empty_sub/dictionaries/rougail/00-base.yml b/tests/dictionaries/21family_empty_sub/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..60b2b848f
--- /dev/null
+++ b/tests/dictionaries/21family_empty_sub/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ general2: {}
+version: '1.0'
diff --git a/tests/dictionaries/22provider_dynamic/dictionaries/rougail/00-base.yml b/tests/dictionaries/22provider_dynamic/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..54383c0d4
--- /dev/null
+++ b/tests/dictionaries/22provider_dynamic/dictionaries/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ provider: dyn
+version: '1.0'
diff --git a/tests/dictionaries/22provider_dynamic_2/dictionaries/rougail/00-base.yml b/tests/dictionaries/22provider_dynamic_2/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..05233675f
--- /dev/null
+++ b/tests/dictionaries/22provider_dynamic_2/dictionaries/rougail/00-base.yml
@@ -0,0 +1,16 @@
+varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+general:
+ dyn:
+ type: dynamic
+ variable: rougail.varname
+ vardyn:
+ type: string
+ description: No change
+ provider: dyn
+version: '1.0'
diff --git a/tests/dictionaries/30mandatory_withoutvalue/dictionaries/rougail/00-base.yml b/tests/dictionaries/30mandatory_withoutvalue/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..3390ba5c4
--- /dev/null
+++ b/tests/dictionaries/30mandatory_withoutvalue/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries/30mandatory_withoutvaluecalc/dictionaries/rougail/00-base.yml b/tests/dictionaries/30mandatory_withoutvaluecalc/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..665ca03fb
--- /dev/null
+++ b/tests/dictionaries/30mandatory_withoutvaluecalc/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "value" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/30mandatory_withvalue/dictionaries/rougail/00-base.yml b/tests/dictionaries/30mandatory_withvalue/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..5b7b86f1f
--- /dev/null
+++ b/tests/dictionaries/30mandatory_withvalue/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: value
+version: '1.0'
diff --git a/tests/dictionaries/30mandatory_withvaluecalc/dictionaries/rougail/00-base.yml b/tests/dictionaries/30mandatory_withvaluecalc/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c40c13623
--- /dev/null
+++ b/tests/dictionaries/30mandatory_withvaluecalc/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "value" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/40condition_base/dictionaries/rougail/00-base.yml b/tests/dictionaries/40condition_base/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..7bb8fc4e3
--- /dev/null
+++ b/tests/dictionaries/40condition_base/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/40condition_base_add/dictionaries/rougail/00-base.yml b/tests/dictionaries/40condition_base_add/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..7bb8fc4e3
--- /dev/null
+++ b/tests/dictionaries/40condition_base_add/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/40condition_base_add/dictionaries/rougail/01-base.yml b/tests/dictionaries/40condition_base_add/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..d80321891
--- /dev/null
+++ b/tests/dictionaries/40condition_base_add/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ condition:
+ redefine: true
+ hidden: false
+ disabled: false
+ mandatory: false
+version: '1.0'
diff --git a/tests/dictionaries/40condition_fallback/dictionaries/rougail/00-base.yml b/tests/dictionaries/40condition_fallback/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..7bd55dd8d
--- /dev/null
+++ b/tests/dictionaries/40condition_fallback/dictionaries/rougail/00-base.yml
@@ -0,0 +1,28 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __condition == "oui" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __condition == "oui" %}true{% else %}false{% endif %}'
+disabled_family:
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __condition == "oui" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/40condition_optional/dictionaries/rougail/00-base.yml b/tests/dictionaries/40condition_optional/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..418ca0b54
--- /dev/null
+++ b/tests/dictionaries/40condition_optional/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/40condition_optional_empty/dictionaries/rougail/00-base.yml b/tests/dictionaries/40condition_optional_empty/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b0508a169
--- /dev/null
+++ b/tests/dictionaries/40condition_optional_empty/dictionaries/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/40condition_optional_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/40condition_optional_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..8c7bfe881
--- /dev/null
+++ b/tests/dictionaries/40condition_optional_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+condition:
+ type: boolean
+general:
+ my_variable: {}
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == true %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/40empty_param/dictionaries/rougail/00_base.yml b/tests/dictionaries/40empty_param/dictionaries/rougail/00_base.yml
new file mode 100644
index 000000000..405f1b112
--- /dev/null
+++ b/tests/dictionaries/40empty_param/dictionaries/rougail/00_base.yml
@@ -0,0 +1,15 @@
+proxy_authentifie:
+ description: proxy authentifié
+ toto1:
+ type: port
+ description: Port d'écoute du proxy
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ null | calc_multi_condition }}'
+ toto2:
+ type: port
+ description: Port d'écoute du proxy NTLM
+ mode: expert
+ default: '3127'
+version: '1.0'
diff --git a/tests/dictionaries/40empty_param2/dictionaries/rougail/00_base.yml b/tests/dictionaries/40empty_param2/dictionaries/rougail/00_base.yml
new file mode 100644
index 000000000..405f1b112
--- /dev/null
+++ b/tests/dictionaries/40empty_param2/dictionaries/rougail/00_base.yml
@@ -0,0 +1,15 @@
+proxy_authentifie:
+ description: proxy authentifié
+ toto1:
+ type: port
+ description: Port d'écoute du proxy
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ null | calc_multi_condition }}'
+ toto2:
+ type: port
+ description: Port d'écoute du proxy NTLM
+ mode: expert
+ default: '3127'
+version: '1.0'
diff --git a/tests/dictionaries/40family_underscode/dictionaries/rougail/00-base.yml b/tests/dictionaries/40family_underscode/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..24fb31554
--- /dev/null
+++ b/tests/dictionaries/40family_underscode/dictionaries/rougail/00-base.yml
@@ -0,0 +1,33 @@
+---
+version: '1.0'
+my_family:
+ _type: family
+ _description: This is a great family
+ _help: This is a great family
+ _mode: expert
+ _hidden: true
+ _disabled: true
+ type:
+ type: family
+ my_variable:
+ type: variable
+ description:
+ description: This is a other great family
+ my_variable:
+ type: variable
+ help:
+ help: This is a other great family
+ my_variable:
+ type: variable
+ mode:
+ mode: expert
+ my_variable:
+ type: variable
+ hidden:
+ hidden: true
+ my_variable:
+ type: variable
+ disabled:
+ disabled: true
+ my_variable:
+ type: variable
diff --git a/tests/dictionaries/40family_unique_not_same_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/40family_unique_not_same_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..de1df1b2e
--- /dev/null
+++ b/tests/dictionaries/40family_unique_not_same_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+general:
+ general:
+ my_variable: {}
+version: '1.0'
diff --git a/tests/dictionaries/40hidden_if_in_leadership_fallback/dictionaries/rougail/00-base.yml b/tests/dictionaries/40hidden_if_in_leadership_fallback/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..867b366ff
--- /dev/null
+++ b/tests/dictionaries/40hidden_if_in_leadership_fallback/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ description: No change
+ type: leadership
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - non
+ hidden:
+ type: jinja
+ jinja: '{% if __condition == "oui" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/40ifin_leadership/dictionaries/rougail/00-base.yml b/tests/dictionaries/40ifin_leadership/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b0df068c6
--- /dev/null
+++ b/tests/dictionaries/40ifin_leadership/dictionaries/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: condition
+ default: oui
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/40ifin_leadershipauto/dictionaries/rougail/00-base.yml b/tests/dictionaries/40ifin_leadershipauto/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b6bf3909c
--- /dev/null
+++ b/tests/dictionaries/40ifin_leadershipauto/dictionaries/rougail/00-base.yml
@@ -0,0 +1,33 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: condition
+ default: oui
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - a
+ follower1:
+ type: string
+ description: follower1
+ hidden: true
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/40ifin_leadershipauto/dictionaries/services/00-base.yml b/tests/dictionaries/40ifin_leadershipauto/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..e25233253
--- /dev/null
+++ b/tests/dictionaries/40ifin_leadershipauto/dictionaries/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ files:
+ /etc/mailname: {}
+version: '1.0'
diff --git a/tests/dictionaries/40ifin_leadershipauto_follower/dictionaries/rougail/00-base.yml b/tests/dictionaries/40ifin_leadershipauto_follower/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..7f6599f15
--- /dev/null
+++ b/tests/dictionaries/40ifin_leadershipauto_follower/dictionaries/rougail/00-base.yml
@@ -0,0 +1,33 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: condition
+ default: oui
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - a
+ - b
+ follower1:
+ type: string
+ description: follower1
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.leader.leader == "a" %}true{% else %}false{%
+ endif %}'
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/40ifin_leadershipauto_follower/dictionaries/services/00-base.yml b/tests/dictionaries/40ifin_leadershipauto_follower/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..01ae40493
--- /dev/null
+++ b/tests/dictionaries/40ifin_leadershipauto_follower/dictionaries/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/mailname2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries/40ifin_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/40ifin_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c77570184
--- /dev/null
+++ b/tests/dictionaries/40ifin_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+general2:
+ hidden: true
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general2.mode_conteneur_actif2 == "oui" %}true{% else
+ %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/40ifin_multi2/dictionaries/rougail/00-base.yml b/tests/dictionaries/40ifin_multi2/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..bb6799ab5
--- /dev/null
+++ b/tests/dictionaries/40ifin_multi2/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+general2:
+ hidden: true
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general2.mode_conteneur_actif2 == "oui" %}true{% else
+ %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/40ifin_validenum/dictionaries/rougail/00-base.yml b/tests/dictionaries/40ifin_validenum/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..56ee00db4
--- /dev/null
+++ b/tests/dictionaries/40ifin_validenum/dictionaries/rougail/00-base.yml
@@ -0,0 +1,28 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general2.mode_conteneur_actif3 == "d" %}true{% else %}false{%
+ endif %}'
+general2:
+ hidden: true
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general2.mode_conteneur_actif3 == "d" %}false{% else %}true{%
+ endif %}'
+ mode_conteneur_actif3:
+ type: choice
+ description: No change
+ default: a
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/40space_param/dictionaries/rougail/00_base.yml b/tests/dictionaries/40space_param/dictionaries/rougail/00_base.yml
new file mode 100644
index 000000000..092129092
--- /dev/null
+++ b/tests/dictionaries/40space_param/dictionaries/rougail/00_base.yml
@@ -0,0 +1,15 @@
+proxy_authentifie:
+ description: proxy authentifié
+ toto1:
+ type: port
+ description: Port d'écoute du proxy
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ " " | calc_multi_condition }}'
+ toto2:
+ type: port
+ description: Port d'écoute du proxy NTLM
+ mode: expert
+ default: '3127'
+version: '1.0'
diff --git a/tests/dictionaries/45extra_without_family/dictionaries/extra/00-base.yml b/tests/dictionaries/45extra_without_family/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..83c3caa54
--- /dev/null
+++ b/tests/dictionaries/45extra_without_family/dictionaries/extra/00-base.yml
@@ -0,0 +1,5 @@
+my_var:
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition }}'
+version: '1.0'
diff --git a/tests/dictionaries/45extra_without_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/45extra_without_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..dd35e17ad
--- /dev/null
+++ b/tests/dictionaries/45extra_without_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,3 @@
+my_var:
+ default: rougail
+version: '1.0'
diff --git a/tests/dictionaries/45extra_without_family/dictionaries/services/00-base.yml b/tests/dictionaries/45extra_without_family/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..d1659db1b
--- /dev/null
+++ b/tests/dictionaries/45extra_without_family/dictionaries/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ files:
+ /etc/file: {}
+version: '1.0'
diff --git a/tests/dictionaries/45multi_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/45multi_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b64455981
--- /dev/null
+++ b/tests/dictionaries/45multi_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+base:
+ subfamily:
+ variable: {}
+version: '1.0'
diff --git a/tests/dictionaries/45multi_family_basic/dictionaries/rougail/00-base.yml b/tests/dictionaries/45multi_family_basic/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..512a20c18
--- /dev/null
+++ b/tests/dictionaries/45multi_family_basic/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+base:
+ subfamily:
+ variable:
+ mode: basic
+version: '1.0'
diff --git a/tests/dictionaries/45multi_family_expert/dictionaries/rougail/00-base.yml b/tests/dictionaries/45multi_family_expert/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..30d106591
--- /dev/null
+++ b/tests/dictionaries/45multi_family_expert/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+base:
+ mode: expert
+ subfamily:
+ variable: {}
+version: '1.0'
diff --git a/tests/dictionaries/45multi_family_order/dictionaries/rougail/00-base.yml b/tests/dictionaries/45multi_family_order/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6c0b21cf0
--- /dev/null
+++ b/tests/dictionaries/45multi_family_order/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+variable1: {}
+base:
+ variable2: {}
+ subfamily:
+ variable3: {}
+ variable4: {}
+version: '1.0'
diff --git a/tests/dictionaries/45without_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/45without_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..32911c123
--- /dev/null
+++ b/tests/dictionaries/45without_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,2 @@
+variable: {}
+version: '1.0'
diff --git a/tests/dictionaries/50exists_exists/dictionaries/rougail/00-base.yml b/tests/dictionaries/50exists_exists/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..98b2ee4ba
--- /dev/null
+++ b/tests/dictionaries/50exists_exists/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/50exists_exists/dictionaries/rougail/01-base.yml b/tests/dictionaries/50exists_exists/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..5942a802a
--- /dev/null
+++ b/tests/dictionaries/50exists_exists/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: New description
+ exists: false
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries/50redefine_description/dictionaries/rougail/00-base.yml b/tests/dictionaries/50redefine_description/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..da1ea3c58
--- /dev/null
+++ b/tests/dictionaries/50redefine_description/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/50redefine_description/dictionaries/rougail/01-redefine.yml b/tests/dictionaries/50redefine_description/dictionaries/rougail/01-redefine.yml
new file mode 100644
index 000000000..24ab230e5
--- /dev/null
+++ b/tests/dictionaries/50redefine_description/dictionaries/rougail/01-redefine.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ description: Redefined
+version: '1.0'
diff --git a/tests/dictionaries/51exists_nonexists/dictionaries/rougail/00-base.yml b/tests/dictionaries/51exists_nonexists/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f3ac44820
--- /dev/null
+++ b/tests/dictionaries/51exists_nonexists/dictionaries/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: Description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/51exists_nonexists/dictionaries/rougail/01-base.yml b/tests/dictionaries/51exists_nonexists/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..4ebe57964
--- /dev/null
+++ b/tests/dictionaries/51exists_nonexists/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif2:
+ type: string
+ description: New description
+ exists: false
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries/51exists_redefine/dictionaries/rougail/00-base.yml b/tests/dictionaries/51exists_redefine/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..98b2ee4ba
--- /dev/null
+++ b/tests/dictionaries/51exists_redefine/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/51exists_redefine/dictionaries/rougail/01-base.yml b/tests/dictionaries/51exists_redefine/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..238b1bb47
--- /dev/null
+++ b/tests/dictionaries/51exists_redefine/dictionaries/rougail/01-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ exists: true
+ default: oui
+ mode_conteneur_actif1:
+ redefine: true
+ exists: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_auto/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_auto/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..a30a45a99
--- /dev/null
+++ b/tests/dictionaries/51redefine_auto/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_auto/dictionaries/rougail/01-base.yml b/tests/dictionaries/51redefine_auto/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..3dd4c3524
--- /dev/null
+++ b/tests/dictionaries/51redefine_auto/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | concat }}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_autofill/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_autofill/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4bd6a838b
--- /dev/null
+++ b/tests/dictionaries/51redefine_autofill/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "oui" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_autofill/dictionaries/rougail/01-base.yml b/tests/dictionaries/51redefine_autofill/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..5fe628160
--- /dev/null
+++ b/tests/dictionaries/51redefine_autofill/dictionaries/rougail/01-base.yml
@@ -0,0 +1,8 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ hidden: false
+ default:
+ type: jinja
+ jinja: '{{ "non" | concat }}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..2655d6635
--- /dev/null
+++ b/tests/dictionaries/51redefine_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+general2:
+ hidden: true
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.mode_conteneur_actif == "oui" %}true{% else %}false{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_family/dictionaries/rougail/01-base.yml b/tests/dictionaries/51redefine_family/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..84dcc917c
--- /dev/null
+++ b/tests/dictionaries/51redefine_family/dictionaries/rougail/01-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_fill/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_fill/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4bd6a838b
--- /dev/null
+++ b/tests/dictionaries/51redefine_fill/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "oui" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_fill/dictionaries/rougail/01-base.yml b/tests/dictionaries/51redefine_fill/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..3dd4c3524
--- /dev/null
+++ b/tests/dictionaries/51redefine_fill/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | concat }}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_fillauto/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_fillauto/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..2408964ed
--- /dev/null
+++ b/tests/dictionaries/51redefine_fillauto/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "oui" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_fillauto/dictionaries/rougail/01-base.yml b/tests/dictionaries/51redefine_fillauto/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..df07c6509
--- /dev/null
+++ b/tests/dictionaries/51redefine_fillauto/dictionaries/rougail/01-base.yml
@@ -0,0 +1,8 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | concat }}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_help/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_help/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..75b1e935b
--- /dev/null
+++ b/tests/dictionaries/51redefine_help/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ help: redefine help family
+ mode_conteneur_actif:
+ type: string
+ description: redefine help
+ hidden: true
+ help: redefine help
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_help/dictionaries/rougail/01-base.yml b/tests/dictionaries/51redefine_help/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..26e36fbaa
--- /dev/null
+++ b/tests/dictionaries/51redefine_help/dictionaries/rougail/01-base.yml
@@ -0,0 +1,8 @@
+general:
+ help: redefine help family ok
+ mode_conteneur_actif:
+ redefine: true
+ hidden: true
+ help: redefine help ok
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_hidden/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_hidden/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..01b94adff
--- /dev/null
+++ b/tests/dictionaries/51redefine_hidden/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine hidden
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_hidden/dictionaries/rougail/01-redefine.yml b/tests/dictionaries/51redefine_hidden/dictionaries/rougail/01-redefine.yml
new file mode 100644
index 000000000..a98fe3a5a
--- /dev/null
+++ b/tests/dictionaries/51redefine_hidden/dictionaries/rougail/01-redefine.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ hidden: true
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_hidden_inverse/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_hidden_inverse/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..709c26c30
--- /dev/null
+++ b/tests/dictionaries/51redefine_hidden_inverse/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine hidden
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_hidden_inverse/dictionaries/rougail/01-redefine.yml b/tests/dictionaries/51redefine_hidden_inverse/dictionaries/rougail/01-redefine.yml
new file mode 100644
index 000000000..b695912b8
--- /dev/null
+++ b/tests/dictionaries/51redefine_hidden_inverse/dictionaries/rougail/01-redefine.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ hidden: false
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..da1ea3c58
--- /dev/null
+++ b/tests/dictionaries/51redefine_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_multi/dictionaries/rougail/01-redefine.yml b/tests/dictionaries/51redefine_multi/dictionaries/rougail/01-redefine.yml
new file mode 100644
index 000000000..80feca03f
--- /dev/null
+++ b/tests/dictionaries/51redefine_multi/dictionaries/rougail/01-redefine.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ multi: true
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_remove_condition/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_remove_condition/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..395ca775c
--- /dev/null
+++ b/tests/dictionaries/51redefine_remove_condition/dictionaries/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_remove_condition/dictionaries/rougail/01-base.yml b/tests/dictionaries/51redefine_remove_condition/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..d80321891
--- /dev/null
+++ b/tests/dictionaries/51redefine_remove_condition/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ condition:
+ redefine: true
+ hidden: false
+ disabled: false
+ mandatory: false
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_remove_condition_filelist/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_remove_condition_filelist/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..395ca775c
--- /dev/null
+++ b/tests/dictionaries/51redefine_remove_condition_filelist/dictionaries/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_remove_condition_filelist/dictionaries/rougail/01-base.yml b/tests/dictionaries/51redefine_remove_condition_filelist/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..d80321891
--- /dev/null
+++ b/tests/dictionaries/51redefine_remove_condition_filelist/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ condition:
+ redefine: true
+ hidden: false
+ disabled: false
+ mandatory: false
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_remove_condition_filelist/dictionaries/services/00-base.yml b/tests/dictionaries/51redefine_remove_condition_filelist/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..91273e771
--- /dev/null
+++ b/tests/dictionaries/51redefine_remove_condition_filelist/dictionaries/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /etc/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_removecondition_nonautofreeze/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_removecondition_nonautofreeze/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..916758354
--- /dev/null
+++ b/tests/dictionaries/51redefine_removecondition_nonautofreeze/dictionaries/rougail/00-base.yml
@@ -0,0 +1,20 @@
+my_var:
+ default: 'no'
+condition:
+ default: 'no'
+my_var1:
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == "yes" %}true{% else %}false{% endif %}'
+my_var2:
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == "yes" %}true{% else %}false{% endif %}'
+server_deployed:
+ type: boolean
+ hidden: true
+ default: false
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_removecondition_nonautofreeze/dictionaries/rougail/01-base.yml b/tests/dictionaries/51redefine_removecondition_nonautofreeze/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..9147370ae
--- /dev/null
+++ b/tests/dictionaries/51redefine_removecondition_nonautofreeze/dictionaries/rougail/01-base.yml
@@ -0,0 +1,6 @@
+condition:
+ redefine: true
+ hidden: false
+ disabled: false
+ mandatory: false
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_validenum/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_validenum/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..fef3650ba
--- /dev/null
+++ b/tests/dictionaries/51redefine_validenum/dictionaries/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ mode_conteneur_actif:
+ type: choice
+ description: Redefine description
+ hidden: true
+ default: a
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_validenum/dictionaries/rougail/01-redefine.yml b/tests/dictionaries/51redefine_validenum/dictionaries/rougail/01-redefine.yml
new file mode 100644
index 000000000..8babcec2f
--- /dev/null
+++ b/tests/dictionaries/51redefine_validenum/dictionaries/rougail/01-redefine.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ validators: null
+ default: a
+ choices:
+ - a
+ - b
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_value/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_value/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..74c33aee8
--- /dev/null
+++ b/tests/dictionaries/51redefine_value/dictionaries/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine value
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: Redefine value
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_value/dictionaries/rougail/01-redefine.yml b/tests/dictionaries/51redefine_value/dictionaries/rougail/01-redefine.yml
new file mode 100644
index 000000000..c9908834d
--- /dev/null
+++ b/tests/dictionaries/51redefine_value/dictionaries/rougail/01-redefine.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif1:
+ redefine: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_without_hidden/dictionaries/rougail/00-base.yml b/tests/dictionaries/51redefine_without_hidden/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..709c26c30
--- /dev/null
+++ b/tests/dictionaries/51redefine_without_hidden/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine hidden
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/51redefine_without_hidden/dictionaries/rougail/01-redefine.yml b/tests/dictionaries/51redefine_without_hidden/dictionaries/rougail/01-redefine.yml
new file mode 100644
index 000000000..7c59b7f2b
--- /dev/null
+++ b/tests/dictionaries/51redefine_without_hidden/dictionaries/rougail/01-redefine.yml
@@ -0,0 +1,4 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+version: '1.0'
diff --git a/tests/dictionaries/51remove_fill/dictionaries/rougail/00-base.yml b/tests/dictionaries/51remove_fill/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ab500946e
--- /dev/null
+++ b/tests/dictionaries/51remove_fill/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/51remove_fill/dictionaries/rougail/01-base.yml b/tests/dictionaries/51remove_fill/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..7c59b7f2b
--- /dev/null
+++ b/tests/dictionaries/51remove_fill/dictionaries/rougail/01-base.yml
@@ -0,0 +1,4 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+version: '1.0'
diff --git a/tests/dictionaries/52exists_redefine/dictionaries/rougail/00-base.yml b/tests/dictionaries/52exists_redefine/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..2ae1c0b3c
--- /dev/null
+++ b/tests/dictionaries/52exists_redefine/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries/52exists_redefine/dictionaries/rougail/01-base.yml b/tests/dictionaries/52exists_redefine/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..0d15d53d4
--- /dev/null
+++ b/tests/dictionaries/52exists_redefine/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ description: New description
+ exists: false
+ redefine: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60action_external/dictionaries/extra/00-base.yml b/tests/dictionaries/60action_external/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..0019b91e9
--- /dev/null
+++ b/tests/dictionaries/60action_external/dictionaries/extra/00-base.yml
@@ -0,0 +1,13 @@
+test:
+ delay:
+ type: number
+ description: délai en minutes avant lancement
+ default: 0
+ calc_url:
+ type: web_address
+ description: domain
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "http://localhost/" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/60action_external/dictionaries/rougail/00-base.yml b/tests/dictionaries/60action_external/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1085cc1cc
--- /dev/null
+++ b/tests/dictionaries/60action_external/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_basic/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_basic/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..7f5173001
--- /dev/null
+++ b/tests/dictionaries/60extra_basic/dictionaries/extra/00-base.yml
@@ -0,0 +1,25 @@
+ejabberd:
+ description:
+ type: string
+ mode: basic
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/60extra_basic/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_basic/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries/60extra_basic/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_externalspacecondition/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_externalspacecondition/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..47d02767d
--- /dev/null
+++ b/tests/dictionaries/60extra_externalspacecondition/dictionaries/extra/00-base.yml
@@ -0,0 +1,21 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default: none
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/60extra_externalspacecondition/dictionaries/extra1/00-base.yml b/tests/dictionaries/60extra_externalspacecondition/dictionaries/extra1/00-base.yml
new file mode 100644
index 000000000..91eae1a55
--- /dev/null
+++ b/tests/dictionaries/60extra_externalspacecondition/dictionaries/extra1/00-base.yml
@@ -0,0 +1,9 @@
+external:
+ description:
+ type: string
+ default: test
+ disabled:
+ type: jinja
+ jinja: '{% if __extra.ejabberd.description == "non" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/60extra_externalspacecondition/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_externalspacecondition/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c166f473e
--- /dev/null
+++ b/tests/dictionaries/60extra_externalspacecondition/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ description: général
+ my_var:
+ default: 'no'
+ my_var1:
+ hidden: true
+ default: 'no'
+ server_deployed:
+ type: boolean
+ hidden: true
+ default: false
+version: '1.0'
diff --git a/tests/dictionaries/60extra_help/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_help/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..162e243c4
--- /dev/null
+++ b/tests/dictionaries/60extra_help/dictionaries/extra/00-base.yml
@@ -0,0 +1,25 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ help: Test help
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/60extra_help/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_help/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries/60extra_help/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_help/dictionaries/services/00-base.yml b/tests/dictionaries/60extra_help/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..e25233253
--- /dev/null
+++ b/tests/dictionaries/60extra_help/dictionaries/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ files:
+ /etc/mailname: {}
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_leadership/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..eacf9828e
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership/dictionaries/extra/00-base.yml
@@ -0,0 +1,13 @@
+ejabberd:
+ leadership:
+ type: leadership
+ _description: description
+ description:
+ type: string
+ multi: true
+ default:
+ - test
+ mode:
+ type: string
+ default: pre
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_leadership/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership/dictionaries/services/00-base.yml b/tests/dictionaries/60extra_leadership/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..01ae40493
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership/dictionaries/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/mailname2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership_name/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_leadership_name/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..d3a06a971
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership_name/dictionaries/extra/00-base.yml
@@ -0,0 +1,13 @@
+ejabberd:
+ new_name:
+ type: leadership
+ _description: new_name
+ description:
+ type: string
+ multi: true
+ default:
+ - test
+ mode:
+ type: string
+ default: pre
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership_name/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_leadership_name/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership_name/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership_name/dictionaries/services/00-base.yml b/tests/dictionaries/60extra_leadership_name/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..01ae40493
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership_name/dictionaries/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/mailname2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership_name_item/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_leadership_name_item/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..d3a06a971
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership_name_item/dictionaries/extra/00-base.yml
@@ -0,0 +1,13 @@
+ejabberd:
+ new_name:
+ type: leadership
+ _description: new_name
+ description:
+ type: string
+ multi: true
+ default:
+ - test
+ mode:
+ type: string
+ default: pre
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership_name_item/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_leadership_name_item/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership_name_item/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership_name_item/dictionaries/services/00-base.yml b/tests/dictionaries/60extra_leadership_name_item/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..01ae40493
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership_name_item/dictionaries/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/mailname2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership_valid_enum/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_leadership_valid_enum/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..982b50447
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership_valid_enum/dictionaries/extra/00-base.yml
@@ -0,0 +1,16 @@
+ejabberd:
+ description:
+ type: leadership
+ _description: description
+ description:
+ type: string
+ multi: true
+ default:
+ - test
+ mode:
+ type: choice
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership_valid_enum/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_leadership_valid_enum/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership_valid_enum/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_leadership_valid_enum/dictionaries/services/00-base.yml b/tests/dictionaries/60extra_leadership_valid_enum/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..01ae40493
--- /dev/null
+++ b/tests/dictionaries/60extra_leadership_valid_enum/dictionaries/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/mailname2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries/60extra_load/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_load/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..a95568f5d
--- /dev/null
+++ b/tests/dictionaries/60extra_load/dictionaries/extra/00-base.yml
@@ -0,0 +1,24 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/60extra_load/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_load/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries/60extra_load/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_mandatory/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_mandatory/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..88889cf98
--- /dev/null
+++ b/tests/dictionaries/60extra_mandatory/dictionaries/extra/00-base.yml
@@ -0,0 +1,27 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+ var1:
+ type: string
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries/60extra_mandatory/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_mandatory/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries/60extra_mandatory/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_name_family/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_name_family/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..a95568f5d
--- /dev/null
+++ b/tests/dictionaries/60extra_name_family/dictionaries/extra/00-base.yml
@@ -0,0 +1,24 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/60extra_name_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_name_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..2d97f1169
--- /dev/null
+++ b/tests/dictionaries/60extra_name_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+extra:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_no_condition/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_no_condition/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..47d02767d
--- /dev/null
+++ b/tests/dictionaries/60extra_no_condition/dictionaries/extra/00-base.yml
@@ -0,0 +1,21 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default: none
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/60extra_no_condition/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_no_condition/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4c7f61ce1
--- /dev/null
+++ b/tests/dictionaries/60extra_no_condition/dictionaries/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ module_instancie:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_redefine/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_redefine/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..a95568f5d
--- /dev/null
+++ b/tests/dictionaries/60extra_redefine/dictionaries/extra/00-base.yml
@@ -0,0 +1,24 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/60extra_redefine/dictionaries/extra/01-redefine.yml b/tests/dictionaries/60extra_redefine/dictionaries/extra/01-redefine.yml
new file mode 100644
index 000000000..27c322342
--- /dev/null
+++ b/tests/dictionaries/60extra_redefine/dictionaries/extra/01-redefine.yml
@@ -0,0 +1,5 @@
+ejabberd:
+ description:
+ redefine: true
+ hidden: true
+version: '1.0'
diff --git a/tests/dictionaries/60extra_redefine/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_redefine/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries/60extra_redefine/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60extra_variable_name_extra/dictionaries/extra/00-base.yml b/tests/dictionaries/60extra_variable_name_extra/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..86179e740
--- /dev/null
+++ b/tests/dictionaries/60extra_variable_name_extra/dictionaries/extra/00-base.yml
@@ -0,0 +1,2 @@
+extra: {}
+version: '1.0'
diff --git a/tests/dictionaries/60extra_variable_name_extra/dictionaries/rougail/00-base.yml b/tests/dictionaries/60extra_variable_name_extra/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries/60extra_variable_name_extra/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60familyaction/dictionaries/extra/00-base.yml b/tests/dictionaries/60familyaction/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..2ccc3ff50
--- /dev/null
+++ b/tests/dictionaries/60familyaction/dictionaries/extra/00-base.yml
@@ -0,0 +1,6 @@
+test:
+ delay:
+ type: number
+ description: délai en minutes avant lancement
+ default: 0
+version: '1.0'
diff --git a/tests/dictionaries/60familyaction/dictionaries/rougail/00-base.yml b/tests/dictionaries/60familyaction/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1085cc1cc
--- /dev/null
+++ b/tests/dictionaries/60familyaction/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/60familyaction_mandatory/dictionaries/extra/00-base.yml b/tests/dictionaries/60familyaction_mandatory/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..21c871450
--- /dev/null
+++ b/tests/dictionaries/60familyaction_mandatory/dictionaries/extra/00-base.yml
@@ -0,0 +1,10 @@
+test:
+ delay:
+ type: number
+ description: délai en minutes avant lancement
+ default: 0
+ day:
+ type: number
+ description: day avant lancement
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries/60familyaction_mandatory/dictionaries/rougail/00-base.yml b/tests/dictionaries/60familyaction_mandatory/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1085cc1cc
--- /dev/null
+++ b/tests/dictionaries/60familyaction_mandatory/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/61extra_auto_freeze/dictionaries/extra/00-base.yml b/tests/dictionaries/61extra_auto_freeze/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..ad6bfb8b4
--- /dev/null
+++ b/tests/dictionaries/61extra_auto_freeze/dictionaries/extra/00-base.yml
@@ -0,0 +1,5 @@
+ejabberd:
+ mode:
+ type: string
+ default: pre
+version: '1.0'
diff --git a/tests/dictionaries/61extra_auto_freeze/dictionaries/rougail/00-base.yml b/tests/dictionaries/61extra_auto_freeze/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..2bc290d44
--- /dev/null
+++ b/tests/dictionaries/61extra_auto_freeze/dictionaries/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ description: général
+ server_deployed:
+ type: boolean
+ description: No change
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/61extra_dyn/dictionaries/extra/00-base.yml b/tests/dictionaries/61extra_dyn/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..e6521c684
--- /dev/null
+++ b/tests/dictionaries/61extra_dyn/dictionaries/extra/00-base.yml
@@ -0,0 +1,6 @@
+ejabberd:
+ type: dynamic
+ variable: null
+ mode:
+ type: string
+version: '1.0'
diff --git a/tests/dictionaries/61extra_dyn/dictionaries/rougail/00-base.yml b/tests/dictionaries/61extra_dyn/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..2926dc5df
--- /dev/null
+++ b/tests/dictionaries/61extra_dyn/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ description: général
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - a
+version: '1.0'
diff --git a/tests/dictionaries/61extra_dyn_extra/dictionaries/extra/00-base.yml b/tests/dictionaries/61extra_dyn_extra/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..6478b3c0f
--- /dev/null
+++ b/tests/dictionaries/61extra_dyn_extra/dictionaries/extra/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ description: général
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - a
+ejabberd:
+ type: dynamic
+ variable: extra.general.varname
+ mode:
+ type: string
+version: '1.0'
diff --git a/tests/dictionaries/61extra_dyn_extra/dictionaries/rougail/00-base.yml b/tests/dictionaries/61extra_dyn_extra/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..2926dc5df
--- /dev/null
+++ b/tests/dictionaries/61extra_dyn_extra/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ description: général
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - a
+version: '1.0'
diff --git a/tests/dictionaries/70container_files/makedict/after.json b/tests/dictionaries/70container_files/makedict/after.json
deleted file mode 100644
index 7bda84dda..000000000
--- a/tests/dictionaries/70container_files/makedict/after.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.rougail_conf.name": {
- "owner": "default",
- "value": "/rougail.conf"
- },
- "services.test_service.files.rougail_conf.source": {
- "owner": "default",
- "value": "rougail.conf"
- },
- "services.test_service.files.rougail_conf.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_files/makedict/base.json b/tests/dictionaries/70container_files/makedict/base.json
deleted file mode 100644
index 0ac00793a..000000000
--- a/tests/dictionaries/70container_files/makedict/base.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "oui",
- "services.test_service.files.mailname.name": "/etc/mailname",
- "services.test_service.files.mailname.source": "mailname",
- "services.test_service.files.mailname.activate": true,
- "services.test_service.files.rougail_conf.name": "/rougail.conf",
- "services.test_service.files.rougail_conf.source": "rougail.conf",
- "services.test_service.files.rougail_conf.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70container_files/makedict/before.json b/tests/dictionaries/70container_files/makedict/before.json
deleted file mode 100644
index 7bda84dda..000000000
--- a/tests/dictionaries/70container_files/makedict/before.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.rougail_conf.name": {
- "owner": "default",
- "value": "/rougail.conf"
- },
- "services.test_service.files.rougail_conf.source": {
- "owner": "default",
- "value": "rougail.conf"
- },
- "services.test_service.files.rougail_conf.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_files/result/etc/mailname b/tests/dictionaries/70container_files/result/etc/mailname
deleted file mode 100644
index bd51bf63f..000000000
--- a/tests/dictionaries/70container_files/result/etc/mailname
+++ /dev/null
@@ -1 +0,0 @@
-oui
diff --git a/tests/dictionaries/70container_files/result/rougail.conf b/tests/dictionaries/70container_files/result/rougail.conf
deleted file mode 100644
index b8f8a226c..000000000
--- a/tests/dictionaries/70container_files/result/rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/share/factory/etc/mailname
-z /etc/mailname - - - - -
diff --git a/tests/dictionaries/70container_files/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70container_files/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 1dd254762..000000000
--- a/tests/dictionaries/70container_files/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
diff --git a/tests/dictionaries/70container_files/tiramisu/base.py b/tests/dictionaries/70container_files/tiramisu/base.py
deleted file mode 100644
index 910ef1107..000000000
--- a/tests/dictionaries/70container_files/tiramisu/base.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_8 = StrOption(name="source", doc="source", default="mailname")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="mailname", doc="mailname", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/rougail.conf")
-option_12 = StrOption(name="source", doc="source", default="rougail.conf")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="rougail_conf", doc="rougail.conf", children=[option_11, option_12, option_10])
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_16 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_13])
-optiondescription_16.impl_set_information('type', "service")
-optiondescription_15 = OptionDescription(name="services", doc="services", children=[optiondescription_16], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_14, optiondescription_15])
diff --git a/tests/dictionaries/70container_files/tmpl/mailname b/tests/dictionaries/70container_files/tmpl/mailname
deleted file mode 100644
index 3ae41fab2..000000000
--- a/tests/dictionaries/70container_files/tmpl/mailname
+++ /dev/null
@@ -1,6 +0,0 @@
-%if %%varExists('mode_conteneur_actif')
-%%mode_conteneur_actif
-%end if
-%if %%varExists('mode_conteneur_actif3')
-%%mode_conteneur_actif3
-%end if
diff --git a/tests/dictionaries/70container_files/tmpl/rougail.conf b/tests/dictionaries/70container_files/tmpl/rougail.conf
deleted file mode 100644
index b023342ea..000000000
--- a/tests/dictionaries/70container_files/tmpl/rougail.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-%for %%service in %%services
- %if %%hasattr(%%service, 'files')
- %for %%file in %%service.files
- %if %%file.name != %%rougail_filename and %%hasattr(%%file, 'activate') and %%file.activate == True
-C %%file.name 0%%file.mode %%file.owner %%file.group - /usr/local/share/factory%%file.name
-z %%file.name - - - - -
- %end if
- %end for
- %end if
-%end for
diff --git a/tests/dictionaries/70container_files_symlink_multi/makedict/after.json b/tests/dictionaries/70container_files_symlink_multi/makedict/after.json
deleted file mode 100644
index 83931d921..000000000
--- a/tests/dictionaries/70container_files_symlink_multi/makedict/after.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "rougail.file_name": {
- "owner": "default",
- "value": [
- "/etc/mailname",
- "/etc/mailname2"
- ]
- },
- "rougail.file_name2": {
- "owner": "default",
- "value": [
- "/etc/mailname3",
- "/etc/mailname4"
- ]
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": [
- "/etc/mailname",
- "/etc/mailname2"
- ]
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.mailname2.name": {
- "owner": "default",
- "value": [
- "/etc/mailname3",
- "/etc/mailname4"
- ]
- },
- "services.test_service.files.mailname2.source": {
- "owner": "default",
- "value": "mailname2"
- },
- "services.test_service.files.mailname2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_files_symlink_multi/makedict/base.json b/tests/dictionaries/70container_files_symlink_multi/makedict/base.json
deleted file mode 100644
index 5bea627c6..000000000
--- a/tests/dictionaries/70container_files_symlink_multi/makedict/base.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "rougail.file_name": [
- "/etc/mailname",
- "/etc/mailname2"
- ],
- "rougail.file_name2": [
- "/etc/mailname3",
- "/etc/mailname4"
- ],
- "services.test_service.files.mailname.name": [
- "/etc/mailname",
- "/etc/mailname2"
- ],
- "services.test_service.files.mailname.source": "mailname",
- "services.test_service.files.mailname.activate": true,
- "services.test_service.files.mailname2.name": [
- "/etc/mailname3",
- "/etc/mailname4"
- ],
- "services.test_service.files.mailname2.source": "mailname2",
- "services.test_service.files.mailname2.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70container_files_symlink_multi/makedict/before.json b/tests/dictionaries/70container_files_symlink_multi/makedict/before.json
deleted file mode 100644
index 83931d921..000000000
--- a/tests/dictionaries/70container_files_symlink_multi/makedict/before.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "rougail.file_name": {
- "owner": "default",
- "value": [
- "/etc/mailname",
- "/etc/mailname2"
- ]
- },
- "rougail.file_name2": {
- "owner": "default",
- "value": [
- "/etc/mailname3",
- "/etc/mailname4"
- ]
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": [
- "/etc/mailname",
- "/etc/mailname2"
- ]
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.mailname2.name": {
- "owner": "default",
- "value": [
- "/etc/mailname3",
- "/etc/mailname4"
- ]
- },
- "services.test_service.files.mailname2.source": {
- "owner": "default",
- "value": "mailname2"
- },
- "services.test_service.files.mailname2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname b/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname
deleted file mode 100644
index 1a03818dc..000000000
--- a/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname
+++ /dev/null
@@ -1 +0,0 @@
-/etc/mailname
diff --git a/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname2 b/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname2
deleted file mode 100644
index 03e217966..000000000
--- a/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname2
+++ /dev/null
@@ -1 +0,0 @@
-/etc/mailname2
diff --git a/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname3 b/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname3
deleted file mode 100644
index 2585efaa0..000000000
--- a/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname3
+++ /dev/null
@@ -1 +0,0 @@
-/etc/mailname3
diff --git a/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname4 b/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname4
deleted file mode 100644
index d58aef4bf..000000000
--- a/tests/dictionaries/70container_files_symlink_multi/result/etc/mailname4
+++ /dev/null
@@ -1 +0,0 @@
-/etc/mailname4
diff --git a/tests/dictionaries/70container_files_symlink_multi/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70container_files_symlink_multi/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 82371221b..000000000
--- a/tests/dictionaries/70container_files_symlink_multi/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
-C /etc/mailname2 0644 root root - /usr/local/lib/etc/mailname2
-C /etc/mailname3 0644 root root - /usr/local/lib/etc/mailname3
-C /etc/mailname4 0644 root root - /usr/local/lib/etc/mailname4
diff --git a/tests/dictionaries/70container_files_symlink_multi/tiramisu/base.py b/tests/dictionaries/70container_files_symlink_multi/tiramisu/base.py
deleted file mode 100644
index 07eddfd9e..000000000
--- a/tests/dictionaries/70container_files_symlink_multi/tiramisu/base.py
+++ /dev/null
@@ -1,44 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = FilenameOption(name="file_name", doc="file_name", multi=True, default=['/etc/mailname', '/etc/mailname2'], default_multi="/etc/mailname", properties=frozenset({"mandatory", "normal"}))
-option_2 = FilenameOption(name="file_name2", doc="file_name2", multi=True, default=['/etc/mailname3', '/etc/mailname4'], default_multi="/etc/mailname3", properties=frozenset({"mandatory", "normal"}))
-optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-option_7 = SymLinkOption(name="name", opt=option_1)
-option_8 = StrOption(name="source", doc="source", default="mailname")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="mailname", doc="mailname", children=[option_7, option_8, option_6])
-option_11 = SymLinkOption(name="name", opt=option_2)
-option_12 = StrOption(name="source", doc="source", default="mailname2")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="mailname2", doc="mailname2", children=[option_11, option_12, option_10])
-optiondescription_9.impl_set_information('engine', "jinja")
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_16 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_13])
-optiondescription_16.impl_set_information('type', "service")
-optiondescription_15 = OptionDescription(name="services", doc="services", children=[optiondescription_16], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_14, optiondescription_15])
diff --git a/tests/dictionaries/70container_files_symlink_multi/tmpl/mailname b/tests/dictionaries/70container_files_symlink_multi/tmpl/mailname
deleted file mode 100644
index 6a4cb4489..000000000
--- a/tests/dictionaries/70container_files_symlink_multi/tmpl/mailname
+++ /dev/null
@@ -1 +0,0 @@
-%%rougail_filename
diff --git a/tests/dictionaries/70container_files_symlink_multi/tmpl/mailname2 b/tests/dictionaries/70container_files_symlink_multi/tmpl/mailname2
deleted file mode 100644
index 32fea5cb4..000000000
--- a/tests/dictionaries/70container_files_symlink_multi/tmpl/mailname2
+++ /dev/null
@@ -1 +0,0 @@
-{{ rougail_filename }}
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/makedict/after.json b/tests/dictionaries/70container_files_symlink_multi_variable/makedict/after.json
deleted file mode 100644
index 8cc22a152..000000000
--- a/tests/dictionaries/70container_files_symlink_multi_variable/makedict/after.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "rougail.file_name": {
- "owner": "default",
- "value": [
- "/etc/mailname",
- "/etc/mailname2"
- ]
- },
- "rougail.file_name2": {
- "owner": "default",
- "value": [
- "/etc/mailname3",
- "/etc/mailname4"
- ]
- },
- "rougail.var": {
- "owner": "default",
- "value": [
- "mailname",
- "mailname2"
- ]
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": [
- "/etc/mailname",
- "/etc/mailname2"
- ]
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.variable": {
- "owner": "default",
- "value": [
- "mailname",
- "mailname2"
- ]
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.mailname2.name": {
- "owner": "default",
- "value": [
- "/etc/mailname3",
- "/etc/mailname4"
- ]
- },
- "services.test_service.files.mailname2.source": {
- "owner": "default",
- "value": "mailname2"
- },
- "services.test_service.files.mailname2.variable": {
- "owner": "default",
- "value": [
- "mailname",
- "mailname2"
- ]
- },
- "services.test_service.files.mailname2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/makedict/base.json b/tests/dictionaries/70container_files_symlink_multi_variable/makedict/base.json
deleted file mode 100644
index 2f4d119d9..000000000
--- a/tests/dictionaries/70container_files_symlink_multi_variable/makedict/base.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "rougail.file_name": [
- "/etc/mailname",
- "/etc/mailname2"
- ],
- "rougail.file_name2": [
- "/etc/mailname3",
- "/etc/mailname4"
- ],
- "rougail.var": [
- "mailname",
- "mailname2"
- ],
- "services.test_service.files.mailname.name": [
- "/etc/mailname",
- "/etc/mailname2"
- ],
- "services.test_service.files.mailname.source": "mailname",
- "services.test_service.files.mailname.variable": [
- "mailname",
- "mailname2"
- ],
- "services.test_service.files.mailname.activate": true,
- "services.test_service.files.mailname2.name": [
- "/etc/mailname3",
- "/etc/mailname4"
- ],
- "services.test_service.files.mailname2.source": "mailname2",
- "services.test_service.files.mailname2.variable": [
- "mailname",
- "mailname2"
- ],
- "services.test_service.files.mailname2.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/makedict/before.json b/tests/dictionaries/70container_files_symlink_multi_variable/makedict/before.json
deleted file mode 100644
index 8cc22a152..000000000
--- a/tests/dictionaries/70container_files_symlink_multi_variable/makedict/before.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "rougail.file_name": {
- "owner": "default",
- "value": [
- "/etc/mailname",
- "/etc/mailname2"
- ]
- },
- "rougail.file_name2": {
- "owner": "default",
- "value": [
- "/etc/mailname3",
- "/etc/mailname4"
- ]
- },
- "rougail.var": {
- "owner": "default",
- "value": [
- "mailname",
- "mailname2"
- ]
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": [
- "/etc/mailname",
- "/etc/mailname2"
- ]
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.variable": {
- "owner": "default",
- "value": [
- "mailname",
- "mailname2"
- ]
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.mailname2.name": {
- "owner": "default",
- "value": [
- "/etc/mailname3",
- "/etc/mailname4"
- ]
- },
- "services.test_service.files.mailname2.source": {
- "owner": "default",
- "value": "mailname2"
- },
- "services.test_service.files.mailname2.variable": {
- "owner": "default",
- "value": [
- "mailname",
- "mailname2"
- ]
- },
- "services.test_service.files.mailname2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname b/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname
deleted file mode 100644
index 0288f489b..000000000
--- a/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname
+++ /dev/null
@@ -1 +0,0 @@
-mailname
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname2 b/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname2
deleted file mode 100644
index 80d43ca54..000000000
--- a/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname2
+++ /dev/null
@@ -1 +0,0 @@
-mailname2
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname3 b/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname3
deleted file mode 100644
index 0288f489b..000000000
--- a/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname3
+++ /dev/null
@@ -1 +0,0 @@
-mailname
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname4 b/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname4
deleted file mode 100644
index 80d43ca54..000000000
--- a/tests/dictionaries/70container_files_symlink_multi_variable/result/etc/mailname4
+++ /dev/null
@@ -1 +0,0 @@
-mailname2
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70container_files_symlink_multi_variable/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 82371221b..000000000
--- a/tests/dictionaries/70container_files_symlink_multi_variable/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
-C /etc/mailname2 0644 root root - /usr/local/lib/etc/mailname2
-C /etc/mailname3 0644 root root - /usr/local/lib/etc/mailname3
-C /etc/mailname4 0644 root root - /usr/local/lib/etc/mailname4
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/tiramisu/base.py b/tests/dictionaries/70container_files_symlink_multi_variable/tiramisu/base.py
deleted file mode 100644
index 349ab3e8f..000000000
--- a/tests/dictionaries/70container_files_symlink_multi_variable/tiramisu/base.py
+++ /dev/null
@@ -1,47 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = FilenameOption(name="file_name", doc="file_name", multi=True, default=['/etc/mailname', '/etc/mailname2'], default_multi="/etc/mailname", properties=frozenset({"mandatory", "normal"}))
-option_2 = FilenameOption(name="file_name2", doc="file_name2", multi=True, default=['/etc/mailname3', '/etc/mailname4'], default_multi="/etc/mailname3", properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="var", doc="var", multi=True, default=['mailname', 'mailname2'], default_multi="mailname", properties=frozenset({"mandatory", "normal"}))
-optiondescription_17 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2, option_3], properties=frozenset({"normal"}))
-option_8 = SymLinkOption(name="name", opt=option_1)
-option_9 = StrOption(name="source", doc="source", default="mailname")
-option_10 = SymLinkOption(name="variable", opt=option_3)
-option_7 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_6 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9, option_10, option_7])
-option_13 = SymLinkOption(name="name", opt=option_2)
-option_14 = StrOption(name="source", doc="source", default="mailname2")
-option_15 = SymLinkOption(name="variable", opt=option_3)
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_11 = OptionDescription(name="mailname2", doc="mailname2", children=[option_13, option_14, option_15, option_12])
-optiondescription_11.impl_set_information('engine', "jinja")
-optiondescription_5 = OptionDescription(name="files", doc="files", children=[optiondescription_6, optiondescription_11])
-option_4 = BoolOption(name="activate", doc="activate", default=True)
-option_16 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_19 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_5, option_4, option_16])
-optiondescription_19.impl_set_information('type', "service")
-optiondescription_18 = OptionDescription(name="services", doc="services", children=[optiondescription_19], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_17, optiondescription_18])
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/tmpl/mailname b/tests/dictionaries/70container_files_symlink_multi_variable/tmpl/mailname
deleted file mode 100644
index 5ecb01bbb..000000000
--- a/tests/dictionaries/70container_files_symlink_multi_variable/tmpl/mailname
+++ /dev/null
@@ -1 +0,0 @@
-%%rougail_variable
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/tmpl/mailname2 b/tests/dictionaries/70container_files_symlink_multi_variable/tmpl/mailname2
deleted file mode 100644
index 256954446..000000000
--- a/tests/dictionaries/70container_files_symlink_multi_variable/tmpl/mailname2
+++ /dev/null
@@ -1 +0,0 @@
-{{ rougail_variable }}
diff --git a/tests/dictionaries/70container_files_symlink_variable/makedict/after.json b/tests/dictionaries/70container_files_symlink_variable/makedict/after.json
deleted file mode 100644
index b747831d7..000000000
--- a/tests/dictionaries/70container_files_symlink_variable/makedict/after.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "rougail.file_name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "rougail.var": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.variable": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_files_symlink_variable/makedict/base.json b/tests/dictionaries/70container_files_symlink_variable/makedict/base.json
deleted file mode 100644
index 0a2aa4556..000000000
--- a/tests/dictionaries/70container_files_symlink_variable/makedict/base.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.file_name": "/etc/mailname",
- "rougail.var": "mailname",
- "services.test_service.files.mailname.name": "/etc/mailname",
- "services.test_service.files.mailname.source": "mailname",
- "services.test_service.files.mailname.variable": "mailname",
- "services.test_service.files.mailname.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70container_files_symlink_variable/makedict/before.json b/tests/dictionaries/70container_files_symlink_variable/makedict/before.json
deleted file mode 100644
index b747831d7..000000000
--- a/tests/dictionaries/70container_files_symlink_variable/makedict/before.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "rougail.file_name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "rougail.var": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.variable": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_files_symlink_variable/result/etc/mailname b/tests/dictionaries/70container_files_symlink_variable/result/etc/mailname
deleted file mode 100644
index 0288f489b..000000000
--- a/tests/dictionaries/70container_files_symlink_variable/result/etc/mailname
+++ /dev/null
@@ -1 +0,0 @@
-mailname
diff --git a/tests/dictionaries/70container_files_symlink_variable/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70container_files_symlink_variable/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index 1dd254762..000000000
--- a/tests/dictionaries/70container_files_symlink_variable/result/tmpfiles.d/0rougail.conf
+++ /dev/null
@@ -1 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
diff --git a/tests/dictionaries/70container_files_symlink_variable/tiramisu/base.py b/tests/dictionaries/70container_files_symlink_variable/tiramisu/base.py
deleted file mode 100644
index d15d60711..000000000
--- a/tests/dictionaries/70container_files_symlink_variable/tiramisu/base.py
+++ /dev/null
@@ -1,40 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = FilenameOption(name="file_name", doc="file_name", default="/etc/mailname", properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="var", doc="var", default="mailname", properties=frozenset({"mandatory", "normal"}))
-optiondescription_11 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-option_7 = SymLinkOption(name="name", opt=option_1)
-option_8 = StrOption(name="source", doc="source", default="mailname")
-option_9 = SymLinkOption(name="variable", opt=option_2)
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="mailname", doc="mailname", children=[option_7, option_8, option_9, option_6])
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_13 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_10])
-optiondescription_13.impl_set_information('type', "service")
-optiondescription_12 = OptionDescription(name="services", doc="services", children=[optiondescription_13], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_12])
diff --git a/tests/dictionaries/70container_files_symlink_variable/tmpl/mailname b/tests/dictionaries/70container_files_symlink_variable/tmpl/mailname
deleted file mode 100644
index 5ecb01bbb..000000000
--- a/tests/dictionaries/70container_files_symlink_variable/tmpl/mailname
+++ /dev/null
@@ -1 +0,0 @@
-%%rougail_variable
diff --git a/tests/dictionaries/70container_files_twice/makedict/after.json b/tests/dictionaries/70container_files_twice/makedict/after.json
deleted file mode 100644
index 70edb7ece..000000000
--- a/tests/dictionaries/70container_files_twice/makedict/after.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.mailname_1.name": {
- "owner": "default",
- "value": "/etc/eole/mailname"
- },
- "services.test_service.files.mailname_1.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname_1.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.rougail_conf.name": {
- "owner": "default",
- "value": "/rougail.conf"
- },
- "services.test_service.files.rougail_conf.source": {
- "owner": "default",
- "value": "rougail.conf"
- },
- "services.test_service.files.rougail_conf.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_files_twice/makedict/base.json b/tests/dictionaries/70container_files_twice/makedict/base.json
deleted file mode 100644
index b73e7c5d2..000000000
--- a/tests/dictionaries/70container_files_twice/makedict/base.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "oui",
- "services.test_service.files.mailname.name": "/etc/mailname",
- "services.test_service.files.mailname.source": "mailname",
- "services.test_service.files.mailname.activate": true,
- "services.test_service.files.mailname_1.name": "/etc/eole/mailname",
- "services.test_service.files.mailname_1.source": "mailname",
- "services.test_service.files.mailname_1.activate": true,
- "services.test_service.files.rougail_conf.name": "/rougail.conf",
- "services.test_service.files.rougail_conf.source": "rougail.conf",
- "services.test_service.files.rougail_conf.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70container_files_twice/makedict/before.json b/tests/dictionaries/70container_files_twice/makedict/before.json
deleted file mode 100644
index 70edb7ece..000000000
--- a/tests/dictionaries/70container_files_twice/makedict/before.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.mailname_1.name": {
- "owner": "default",
- "value": "/etc/eole/mailname"
- },
- "services.test_service.files.mailname_1.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname_1.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.rougail_conf.name": {
- "owner": "default",
- "value": "/rougail.conf"
- },
- "services.test_service.files.rougail_conf.source": {
- "owner": "default",
- "value": "rougail.conf"
- },
- "services.test_service.files.rougail_conf.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_files_twice/tiramisu/base.py b/tests/dictionaries/70container_files_twice/tiramisu/base.py
deleted file mode 100644
index a14b3baf1..000000000
--- a/tests/dictionaries/70container_files_twice/tiramisu/base.py
+++ /dev/null
@@ -1,47 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_8 = StrOption(name="source", doc="source", default="mailname")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="mailname", doc="mailname", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/etc/eole/mailname")
-option_12 = StrOption(name="source", doc="source", default="mailname")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="mailname_1", doc="mailname_1", children=[option_11, option_12, option_10])
-option_15 = FilenameOption(name="name", doc="name", default="/rougail.conf")
-option_16 = StrOption(name="source", doc="source", default="rougail.conf")
-option_14 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_13 = OptionDescription(name="rougail_conf", doc="rougail.conf", children=[option_15, option_16, option_14])
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9, optiondescription_13])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_17 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_20 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_17])
-optiondescription_20.impl_set_information('type', "service")
-optiondescription_19 = OptionDescription(name="services", doc="services", children=[optiondescription_20], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_18, optiondescription_19])
diff --git a/tests/dictionaries/70container_filesmulti/makedict/after.json b/tests/dictionaries/70container_filesmulti/makedict/after.json
deleted file mode 100644
index 9dcd12d2d..000000000
--- a/tests/dictionaries/70container_filesmulti/makedict/after.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.mailname2.name": {
- "owner": "default",
- "value": "/etc/mailname2"
- },
- "services.test_service.files.mailname2.source": {
- "owner": "default",
- "value": "mailname2"
- },
- "services.test_service.files.mailname2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_filesmulti/makedict/base.json b/tests/dictionaries/70container_filesmulti/makedict/base.json
deleted file mode 100644
index a65849733..000000000
--- a/tests/dictionaries/70container_filesmulti/makedict/base.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "oui",
- "services.test_service.files.mailname.name": "/etc/mailname",
- "services.test_service.files.mailname.source": "mailname",
- "services.test_service.files.mailname.activate": true,
- "services.test_service.files.mailname2.name": "/etc/mailname2",
- "services.test_service.files.mailname2.source": "mailname2",
- "services.test_service.files.mailname2.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70container_filesmulti/makedict/before.json b/tests/dictionaries/70container_filesmulti/makedict/before.json
deleted file mode 100644
index 9dcd12d2d..000000000
--- a/tests/dictionaries/70container_filesmulti/makedict/before.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.test_service.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test_service.files.mailname.source": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.files.mailname2.name": {
- "owner": "default",
- "value": "/etc/mailname2"
- },
- "services.test_service.files.mailname2.source": {
- "owner": "default",
- "value": "mailname2"
- },
- "services.test_service.files.mailname2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_filesmulti/tiramisu/base.py b/tests/dictionaries/70container_filesmulti/tiramisu/base.py
deleted file mode 100644
index 1ae0188ae..000000000
--- a/tests/dictionaries/70container_filesmulti/tiramisu/base.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_8 = StrOption(name="source", doc="source", default="mailname")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="mailname", doc="mailname", children=[option_7, option_8, option_6])
-option_11 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
-option_12 = StrOption(name="source", doc="source", default="mailname2")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_9 = OptionDescription(name="mailname2", doc="mailname2", children=[option_11, option_12, option_10])
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5, optiondescription_9])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_16 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_13])
-optiondescription_16.impl_set_information('type', "service")
-optiondescription_15 = OptionDescription(name="services", doc="services", children=[optiondescription_16], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_14, optiondescription_15])
diff --git a/tests/dictionaries/70container_filesredefine/makedict/after.json b/tests/dictionaries/70container_filesredefine/makedict/after.json
deleted file mode 100644
index bf5c7668d..000000000
--- a/tests/dictionaries/70container_filesredefine/makedict/after.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.test_service.files.mailname_new.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test_service.files.mailname_new.source": {
- "owner": "default",
- "value": "mailname.new"
- },
- "services.test_service.files.mailname_new.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_filesredefine/makedict/base.json b/tests/dictionaries/70container_filesredefine/makedict/base.json
deleted file mode 100644
index 94d93f3ff..000000000
--- a/tests/dictionaries/70container_filesredefine/makedict/base.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "oui",
- "services.test_service.files.mailname_new.name": "/etc/mailname",
- "services.test_service.files.mailname_new.source": "mailname.new",
- "services.test_service.files.mailname_new.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70container_filesredefine/makedict/before.json b/tests/dictionaries/70container_filesredefine/makedict/before.json
deleted file mode 100644
index bf5c7668d..000000000
--- a/tests/dictionaries/70container_filesredefine/makedict/before.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.test_service.files.mailname_new.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test_service.files.mailname_new.source": {
- "owner": "default",
- "value": "mailname.new"
- },
- "services.test_service.files.mailname_new.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_filesredefine/tiramisu/base.py b/tests/dictionaries/70container_filesredefine/tiramisu/base.py
deleted file mode 100644
index fea652256..000000000
--- a/tests/dictionaries/70container_filesredefine/tiramisu/base.py
+++ /dev/null
@@ -1,39 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_8 = StrOption(name="source", doc="source", default="mailname.new")
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="mailname_new", doc="mailname.new", children=[option_7, option_8, option_6])
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_9 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_12 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_9])
-optiondescription_12.impl_set_information('type', "service")
-optiondescription_11 = OptionDescription(name="services", doc="services", children=[optiondescription_12], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_10, optiondescription_11])
diff --git a/tests/dictionaries/70container_new/makedict/after.json b/tests/dictionaries/70container_new/makedict/after.json
deleted file mode 100644
index 9563ea8fd..000000000
--- a/tests/dictionaries/70container_new/makedict/after.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_new/makedict/base.json b/tests/dictionaries/70container_new/makedict/base.json
deleted file mode 100644
index 18151a282..000000000
--- a/tests/dictionaries/70container_new/makedict/base.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "oui",
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70container_new/makedict/before.json b/tests/dictionaries/70container_new/makedict/before.json
deleted file mode 100644
index 9563ea8fd..000000000
--- a/tests/dictionaries/70container_new/makedict/before.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_new/tiramisu/base.py b/tests/dictionaries/70container_new/tiramisu/base.py
deleted file mode 100644
index 29558a849..000000000
--- a/tests/dictionaries/70container_new/tiramisu/base.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_4 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_7 = OptionDescription(name="test_service", doc="test.service", children=[option_3, option_4])
-optiondescription_7.impl_set_information('type', "service")
-optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_6])
diff --git a/tests/dictionaries/70container_newnocont/makedict/after.json b/tests/dictionaries/70container_newnocont/makedict/after.json
deleted file mode 100644
index 6252cc155..000000000
--- a/tests/dictionaries/70container_newnocont/makedict/after.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_newnocont/makedict/base.json b/tests/dictionaries/70container_newnocont/makedict/base.json
deleted file mode 100644
index 69cfb362c..000000000
--- a/tests/dictionaries/70container_newnocont/makedict/base.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70container_newnocont/makedict/before.json b/tests/dictionaries/70container_newnocont/makedict/before.json
deleted file mode 100644
index 6252cc155..000000000
--- a/tests/dictionaries/70container_newnocont/makedict/before.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_newnocont/tiramisu/base.py b/tests/dictionaries/70container_newnocont/tiramisu/base.py
deleted file mode 100644
index e87100060..000000000
--- a/tests/dictionaries/70container_newnocont/tiramisu/base.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_4 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_7 = OptionDescription(name="test_service", doc="test.service", children=[option_3, option_4])
-optiondescription_7.impl_set_information('type', "service")
-optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_6])
diff --git a/tests/dictionaries/70container_newwithip/makedict/after.json b/tests/dictionaries/70container_newwithip/makedict/after.json
deleted file mode 100644
index fc73e6e57..000000000
--- a/tests/dictionaries/70container_newwithip/makedict/after.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "rougail.general.adresse_ip_test": {
- "owner": "default",
- "value": null
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_newwithip/makedict/base.json b/tests/dictionaries/70container_newwithip/makedict/base.json
deleted file mode 100644
index fe91c390c..000000000
--- a/tests/dictionaries/70container_newwithip/makedict/base.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "oui",
- "rougail.general.adresse_ip_test": null,
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70container_newwithip/makedict/before.json b/tests/dictionaries/70container_newwithip/makedict/before.json
deleted file mode 100644
index fc73e6e57..000000000
--- a/tests/dictionaries/70container_newwithip/makedict/before.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "rougail.general.adresse_ip_test": {
- "owner": "default",
- "value": null
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70container_newwithip/tiramisu/base.py b/tests/dictionaries/70container_newwithip/tiramisu/base.py
deleted file mode 100644
index e7f32bb63..000000000
--- a/tests/dictionaries/70container_newwithip/tiramisu/base.py
+++ /dev/null
@@ -1,35 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_3 = IPOption(name="adresse_ip_test", doc="No change", allow_reserved=True, properties=frozenset({"normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
-optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_4 = BoolOption(name="activate", doc="activate", default=True)
-option_5 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_8 = OptionDescription(name="test_service", doc="test.service", children=[option_4, option_5])
-optiondescription_8.impl_set_information('type', "service")
-optiondescription_7 = OptionDescription(name="services", doc="services", children=[optiondescription_8], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_6, optiondescription_7])
diff --git a/tests/dictionaries/70container_save/makedict/after.json b/tests/dictionaries/70container_save/makedict/after.json
deleted file mode 100644
index 3a4c09536..000000000
--- a/tests/dictionaries/70container_save/makedict/after.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- }
-}
diff --git a/tests/dictionaries/70container_save/makedict/base.json b/tests/dictionaries/70container_save/makedict/base.json
deleted file mode 100644
index 50112b177..000000000
--- a/tests/dictionaries/70container_save/makedict/base.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "oui"
-}
diff --git a/tests/dictionaries/70container_save/makedict/before.json b/tests/dictionaries/70container_save/makedict/before.json
deleted file mode 100644
index 3a4c09536..000000000
--- a/tests/dictionaries/70container_save/makedict/before.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- }
-}
diff --git a/tests/dictionaries/70container_save/tiramisu/base.py b/tests/dictionaries/70container_save/tiramisu/base.py
deleted file mode 100644
index 6e7fb2a9a..000000000
--- a/tests/dictionaries/70container_save/tiramisu/base.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_3 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3])
diff --git a/tests/dictionaries/70service_base/tiramisu/base.py b/tests/dictionaries/70service_base/tiramisu/base.py
deleted file mode 100644
index 7f58b9a29..000000000
--- a/tests/dictionaries/70service_base/tiramisu/base.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_4 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_7 = OptionDescription(name="testsrv_service", doc="testsrv.service", children=[option_3, option_4])
-optiondescription_7.impl_set_information('type', "service")
-optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_6])
diff --git a/tests/dictionaries/70service_disabled/result/systemd/system/test.service b/tests/dictionaries/70service_disabled/result/systemd/system/test.service
deleted file mode 120000
index dc1dc0cde..000000000
--- a/tests/dictionaries/70service_disabled/result/systemd/system/test.service
+++ /dev/null
@@ -1 +0,0 @@
-/dev/null
\ No newline at end of file
diff --git a/tests/dictionaries/70service_disabled/tiramisu/base.py b/tests/dictionaries/70service_disabled/tiramisu/base.py
deleted file mode 100644
index 5ef9cd3ad..000000000
--- a/tests/dictionaries/70service_disabled/tiramisu/base.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_2 = BoolOption(name="activate", doc="activate", default=False)
-option_3 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_6 = OptionDescription(name="test_service", doc="test.service", children=[option_2, option_3])
-optiondescription_6.impl_set_information('type', "service")
-optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4, optiondescription_5])
diff --git a/tests/dictionaries/70service_disabled_undisable/tiramisu/base.py b/tests/dictionaries/70service_disabled_undisable/tiramisu/base.py
deleted file mode 100644
index c976887c5..000000000
--- a/tests/dictionaries/70service_disabled_undisable/tiramisu/base.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_2 = BoolOption(name="activate", doc="activate", default=False)
-option_3 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_6 = OptionDescription(name="test_service", doc="test.service", children=[option_2, option_3])
-optiondescription_6.impl_set_information('undisable', True)
-optiondescription_6.impl_set_information('type', "service")
-optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4, optiondescription_5])
diff --git a/tests/dictionaries/70service_engine/result/systemd/system/testsrv.service b/tests/dictionaries/70service_engine/result/systemd/system/testsrv.service
deleted file mode 100644
index bd51bf63f..000000000
--- a/tests/dictionaries/70service_engine/result/systemd/system/testsrv.service
+++ /dev/null
@@ -1 +0,0 @@
-oui
diff --git a/tests/dictionaries/70service_engine/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70service_engine/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_engine/tiramisu/base.py b/tests/dictionaries/70service_engine/tiramisu/base.py
deleted file mode 100644
index 9cc323124..000000000
--- a/tests/dictionaries/70service_engine/tiramisu/base.py
+++ /dev/null
@@ -1,35 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_4 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_7 = OptionDescription(name="testsrv_service", doc="testsrv.service", children=[option_3, option_4])
-optiondescription_7.impl_set_information('engine', "cheetah")
-optiondescription_7.impl_set_information('type', "service")
-optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_6])
diff --git a/tests/dictionaries/70service_engine_dash/result/systemd/system/test-srv.service b/tests/dictionaries/70service_engine_dash/result/systemd/system/test-srv.service
deleted file mode 100644
index bd51bf63f..000000000
--- a/tests/dictionaries/70service_engine_dash/result/systemd/system/test-srv.service
+++ /dev/null
@@ -1 +0,0 @@
-oui
diff --git a/tests/dictionaries/70service_engine_dash/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70service_engine_dash/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_engine_dash/tiramisu/base.py b/tests/dictionaries/70service_engine_dash/tiramisu/base.py
deleted file mode 100644
index bb1559ec1..000000000
--- a/tests/dictionaries/70service_engine_dash/tiramisu/base.py
+++ /dev/null
@@ -1,35 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_4 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_7 = OptionDescription(name="test_srv_service", doc="test-srv.service", children=[option_3, option_4])
-optiondescription_7.impl_set_information('engine', "cheetah")
-optiondescription_7.impl_set_information('type', "service")
-optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_6])
diff --git a/tests/dictionaries/70service_mount/result/systemd/system/testsrv.mount b/tests/dictionaries/70service_mount/result/systemd/system/testsrv.mount
deleted file mode 100644
index bd51bf63f..000000000
--- a/tests/dictionaries/70service_mount/result/systemd/system/testsrv.mount
+++ /dev/null
@@ -1 +0,0 @@
-oui
diff --git a/tests/dictionaries/70service_mount/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70service_mount/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_mount/tiramisu/base.py b/tests/dictionaries/70service_mount/tiramisu/base.py
deleted file mode 100644
index 01f168eb2..000000000
--- a/tests/dictionaries/70service_mount/tiramisu/base.py
+++ /dev/null
@@ -1,35 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_4 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_7 = OptionDescription(name="testsrv_mount", doc="testsrv.mount", children=[option_3, option_4])
-optiondescription_7.impl_set_information('type', "mount")
-optiondescription_7.impl_set_information('engine', "cheetah")
-optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_6])
diff --git a/tests/dictionaries/70service_not_managed/makedict/after.json b/tests/dictionaries/70service_not_managed/makedict/after.json
deleted file mode 100644
index 52eaee29b..000000000
--- a/tests/dictionaries/70service_not_managed/makedict/after.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "rougail.var": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.test.name": {
- "owner": "default",
- "value": "/tmp/test"
- },
- "services.test_service.files.test.source": {
- "owner": "default",
- "value": "test"
- },
- "services.test_service.files.test.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries/70service_not_managed/makedict/base.json b/tests/dictionaries/70service_not_managed/makedict/base.json
deleted file mode 100644
index 45259b561..000000000
--- a/tests/dictionaries/70service_not_managed/makedict/base.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "rougail.var": "mailname",
- "services.test_service.files.test.name": "/tmp/test",
- "services.test_service.files.test.source": "test",
- "services.test_service.files.test.activate": true,
- "services.test_service.activate": true,
- "services.test_service.manage": false
-}
diff --git a/tests/dictionaries/70service_not_managed/makedict/before.json b/tests/dictionaries/70service_not_managed/makedict/before.json
deleted file mode 100644
index 52eaee29b..000000000
--- a/tests/dictionaries/70service_not_managed/makedict/before.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "rougail.var": {
- "owner": "default",
- "value": "mailname"
- },
- "services.test_service.files.test.name": {
- "owner": "default",
- "value": "/tmp/test"
- },
- "services.test_service.files.test.source": {
- "owner": "default",
- "value": "test"
- },
- "services.test_service.files.test.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries/70service_not_managed/tiramisu/base.py b/tests/dictionaries/70service_not_managed/tiramisu/base.py
deleted file mode 100644
index 263cffdb3..000000000
--- a/tests/dictionaries/70service_not_managed/tiramisu/base.py
+++ /dev/null
@@ -1,38 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = StrOption(name="var", doc="var", default="mailname", properties=frozenset({"mandatory", "normal"}))
-optiondescription_9 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_6 = FilenameOption(name="name", doc="name", default="/tmp/test")
-option_7 = StrOption(name="source", doc="source", default="test")
-option_5 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_4 = OptionDescription(name="test", doc="test", children=[option_6, option_7, option_5])
-optiondescription_3 = OptionDescription(name="files", doc="files", children=[optiondescription_4])
-option_2 = BoolOption(name="activate", doc="activate", default=True)
-option_8 = BoolOption(name="manage", doc="manage", default=False)
-optiondescription_11 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_3, option_2, option_8])
-optiondescription_11.impl_set_information('type', "none")
-optiondescription_10 = OptionDescription(name="services", doc="services", children=[optiondescription_11], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_10])
diff --git a/tests/dictionaries/70service_servicelist/makedict/after.json b/tests/dictionaries/70service_servicelist/makedict/after.json
deleted file mode 100644
index 761b7349d..000000000
--- a/tests/dictionaries/70service_servicelist/makedict/after.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "no"
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70service_servicelist/makedict/base.json b/tests/dictionaries/70service_servicelist/makedict/base.json
deleted file mode 100644
index a27d27128..000000000
--- a/tests/dictionaries/70service_servicelist/makedict/base.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "rougail.condition": "no",
- "services.test_service.activate": true,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70service_servicelist/makedict/before.json b/tests/dictionaries/70service_servicelist/makedict/before.json
deleted file mode 100644
index 761b7349d..000000000
--- a/tests/dictionaries/70service_servicelist/makedict/before.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "no"
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70service_servicelist/tiramisu/base.py b/tests/dictionaries/70service_servicelist/tiramisu/base.py
deleted file mode 100644
index 93b4a47f9..000000000
--- a/tests/dictionaries/70service_servicelist/tiramisu/base.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_2 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_1, notraisepropertyerror=True), 'expected_0': ParamValue("yes")})))
-option_3 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_6 = OptionDescription(name="test_service", doc="test.service", children=[option_2, option_3])
-optiondescription_6.impl_set_information('type', "service")
-optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4, optiondescription_5])
diff --git a/tests/dictionaries/70service_servicelist_disabled_if_in/__init__.py b/tests/dictionaries/70service_servicelist_disabled_if_in/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_servicelist_disabled_if_in/makedict/after.json b/tests/dictionaries/70service_servicelist_disabled_if_in/makedict/after.json
deleted file mode 100644
index ba51aab90..000000000
--- a/tests/dictionaries/70service_servicelist_disabled_if_in/makedict/after.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.condition1": {
- "owner": "default",
- "value": "no"
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": false
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70service_servicelist_disabled_if_in/makedict/base.json b/tests/dictionaries/70service_servicelist_disabled_if_in/makedict/base.json
deleted file mode 100644
index 8626d1785..000000000
--- a/tests/dictionaries/70service_servicelist_disabled_if_in/makedict/base.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "rougail.condition1": "no",
- "services.test_service.activate": false,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70service_servicelist_disabled_if_in/makedict/before.json b/tests/dictionaries/70service_servicelist_disabled_if_in/makedict/before.json
deleted file mode 100644
index ba51aab90..000000000
--- a/tests/dictionaries/70service_servicelist_disabled_if_in/makedict/before.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.condition1": {
- "owner": "default",
- "value": "no"
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": false
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70service_servicelist_disabled_if_in/tiramisu/base.py b/tests/dictionaries/70service_servicelist_disabled_if_in/tiramisu/base.py
deleted file mode 100644
index a495bac41..000000000
--- a/tests/dictionaries/70service_servicelist_disabled_if_in/tiramisu/base.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = StrOption(name="condition1", doc="condition1", default="no", properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="condition2", doc="condition2", default="no", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_1, notraisepropertyerror=True), 'expected': ParamValue("no")}), func.calc_value_property_help)}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-option_3 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("yes")})))
-option_4 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_7 = OptionDescription(name="test_service", doc="test.service", children=[option_3, option_4])
-optiondescription_7.impl_set_information('type', "service")
-optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_6])
diff --git a/tests/dictionaries/70service_servicelist_disabled_if_in/xml/00-base.xml b/tests/dictionaries/70service_servicelist_disabled_if_in/xml/00-base.xml
deleted file mode 100644
index be734f9fd..000000000
--- a/tests/dictionaries/70service_servicelist_disabled_if_in/xml/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
- no
-
-
- no
-
-
-
-
- no
- condition2
-
-
- yes
- test
-
-
-
diff --git a/tests/dictionaries/70service_servicelist_extra/__init__.py b/tests/dictionaries/70service_servicelist_extra/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_servicelist_extra/tiramisu/base.py b/tests/dictionaries/70service_servicelist_extra/tiramisu/base.py
deleted file mode 100644
index 1ee5b9d48..000000000
--- a/tests/dictionaries/70service_servicelist_extra/tiramisu/base.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-optiondescription_4 = OptionDescription(name="extra", doc="extra", children=[option_1], properties=frozenset({"normal"}))
-option_2 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_1, notraisepropertyerror=True), 'expected_0': ParamValue("yes")})))
-option_3 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_6 = OptionDescription(name="test_service", doc="test.service", children=[option_2, option_3])
-optiondescription_6.impl_set_information('type', "service")
-optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4, optiondescription_5])
diff --git a/tests/dictionaries/70service_servicelist_file/__init__.py b/tests/dictionaries/70service_servicelist_file/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_servicelist_file/makedict/after.json b/tests/dictionaries/70service_servicelist_file/makedict/after.json
deleted file mode 100644
index 028c4975e..000000000
--- a/tests/dictionaries/70service_servicelist_file/makedict/after.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "no"
- },
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": false
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": false
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70service_servicelist_file/makedict/base.json b/tests/dictionaries/70service_servicelist_file/makedict/base.json
deleted file mode 100644
index 9c84937ca..000000000
--- a/tests/dictionaries/70service_servicelist_file/makedict/base.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "rougail.condition": "no",
- "rougail.nut_monitor_host": "192.168.0.1",
- "services.test_service.files.file.name": "/etc/file",
- "services.test_service.files.file.source": "file",
- "services.test_service.files.file.activate": false,
- "services.test_service.activate": false,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70service_servicelist_file/makedict/before.json b/tests/dictionaries/70service_servicelist_file/makedict/before.json
deleted file mode 100644
index 028c4975e..000000000
--- a/tests/dictionaries/70service_servicelist_file/makedict/before.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "no"
- },
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.test_service.files.file.name": {
- "owner": "default",
- "value": "/etc/file"
- },
- "services.test_service.files.file.source": {
- "owner": "default",
- "value": "file"
- },
- "services.test_service.files.file.activate": {
- "owner": "default",
- "value": false
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": false
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70service_servicelist_file/result/systemd/system/test.service b/tests/dictionaries/70service_servicelist_file/result/systemd/system/test.service
deleted file mode 120000
index dc1dc0cde..000000000
--- a/tests/dictionaries/70service_servicelist_file/result/systemd/system/test.service
+++ /dev/null
@@ -1 +0,0 @@
-/dev/null
\ No newline at end of file
diff --git a/tests/dictionaries/70service_servicelist_file/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70service_servicelist_file/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_servicelist_file/tiramisu/base.py b/tests/dictionaries/70service_servicelist_file/tiramisu/base.py
deleted file mode 100644
index 12cf800c4..000000000
--- a/tests/dictionaries/70service_servicelist_file/tiramisu/base.py
+++ /dev/null
@@ -1,39 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-option_2 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.1", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
-optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-option_7 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_8 = StrOption(name="source", doc="source", default="file")
-option_6 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_1, notraisepropertyerror=True), 'expected_0': ParamValue("no")})))
-optiondescription_5 = OptionDescription(name="file", doc="file", children=[option_7, option_8, option_6])
-optiondescription_4 = OptionDescription(name="files", doc="files", children=[optiondescription_5])
-option_3 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_1, notraisepropertyerror=True), 'expected_0': ParamValue("no")})))
-option_9 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_12 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_9])
-optiondescription_12.impl_set_information('type', "service")
-optiondescription_11 = OptionDescription(name="services", doc="services", children=[optiondescription_12], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_10, optiondescription_11])
diff --git a/tests/dictionaries/70service_servicelist_file/tmpl/file b/tests/dictionaries/70service_servicelist_file/tmpl/file
deleted file mode 100644
index 7ecb56eb3..000000000
--- a/tests/dictionaries/70service_servicelist_file/tmpl/file
+++ /dev/null
@@ -1 +0,0 @@
-no
diff --git a/tests/dictionaries/70service_servicelist_ip/__init__.py b/tests/dictionaries/70service_servicelist_ip/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_servicelist_ip/makedict/after.json b/tests/dictionaries/70service_servicelist_ip/makedict/after.json
deleted file mode 100644
index 4edde0b79..000000000
--- a/tests/dictionaries/70service_servicelist_ip/makedict/after.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "no"
- },
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.test_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.test_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": false
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70service_servicelist_ip/makedict/base.json b/tests/dictionaries/70service_servicelist_ip/makedict/base.json
deleted file mode 100644
index de499690e..000000000
--- a/tests/dictionaries/70service_servicelist_ip/makedict/base.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "rougail.condition": "no",
- "rougail.nut_monitor_host": "192.168.0.1",
- "services.test_service.ip.nut_monitor_host.name": "192.168.0.1",
- "services.test_service.ip.nut_monitor_host.activate": true,
- "services.test_service.activate": false,
- "services.test_service.manage": true
-}
diff --git a/tests/dictionaries/70service_servicelist_ip/makedict/before.json b/tests/dictionaries/70service_servicelist_ip/makedict/before.json
deleted file mode 100644
index 4edde0b79..000000000
--- a/tests/dictionaries/70service_servicelist_ip/makedict/before.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "no"
- },
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.test_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.test_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": false
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70service_servicelist_ip/result/systemd/system/test.service b/tests/dictionaries/70service_servicelist_ip/result/systemd/system/test.service
deleted file mode 120000
index dc1dc0cde..000000000
--- a/tests/dictionaries/70service_servicelist_ip/result/systemd/system/test.service
+++ /dev/null
@@ -1 +0,0 @@
-/dev/null
\ No newline at end of file
diff --git a/tests/dictionaries/70service_servicelist_ip/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70service_servicelist_ip/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_servicelist_ip/tiramisu/base.py b/tests/dictionaries/70service_servicelist_ip/tiramisu/base.py
deleted file mode 100644
index 46c0b9795..000000000
--- a/tests/dictionaries/70service_servicelist_ip/tiramisu/base.py
+++ /dev/null
@@ -1,38 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-option_2 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.1", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
-optiondescription_9 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-option_7 = SymLinkOption(name="name", opt=option_2)
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_7, option_6])
-optiondescription_4 = OptionDescription(name="ip", doc="ip", children=[optiondescription_5])
-option_3 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_1, notraisepropertyerror=True), 'expected_0': ParamValue("no")})))
-option_8 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_11 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_8])
-optiondescription_11.impl_set_information('type', "service")
-optiondescription_10 = OptionDescription(name="services", doc="services", children=[optiondescription_11], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_10])
diff --git a/tests/dictionaries/70service_servicelist_not_managed/__init__.py b/tests/dictionaries/70service_servicelist_not_managed/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_servicelist_not_managed/makedict/after.json b/tests/dictionaries/70service_servicelist_not_managed/makedict/after.json
deleted file mode 100644
index 72627c717..000000000
--- a/tests/dictionaries/70service_servicelist_not_managed/makedict/after.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "no"
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries/70service_servicelist_not_managed/makedict/base.json b/tests/dictionaries/70service_servicelist_not_managed/makedict/base.json
deleted file mode 100644
index 3be6c02de..000000000
--- a/tests/dictionaries/70service_servicelist_not_managed/makedict/base.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "rougail.condition": "no",
- "services.test_service.activate": true,
- "services.test_service.manage": false
-}
diff --git a/tests/dictionaries/70service_servicelist_not_managed/makedict/before.json b/tests/dictionaries/70service_servicelist_not_managed/makedict/before.json
deleted file mode 100644
index 72627c717..000000000
--- a/tests/dictionaries/70service_servicelist_not_managed/makedict/before.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "no"
- },
- "services.test_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.test_service.manage": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries/70service_servicelist_not_managed/tiramisu/base.py b/tests/dictionaries/70service_servicelist_not_managed/tiramisu/base.py
deleted file mode 100644
index 1badb6202..000000000
--- a/tests/dictionaries/70service_servicelist_not_managed/tiramisu/base.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_2 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_1, notraisepropertyerror=True), 'expected_0': ParamValue("yes")})))
-option_3 = BoolOption(name="manage", doc="manage", default=False)
-optiondescription_6 = OptionDescription(name="test_service", doc="test.service", children=[option_2, option_3])
-optiondescription_6.impl_set_information('type', "none")
-optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_4, optiondescription_5])
diff --git a/tests/dictionaries/70service_target/__init__.py b/tests/dictionaries/70service_target/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_target/result/systemd/system/test.target.wants/testsrv.service b/tests/dictionaries/70service_target/result/systemd/system/test.target.wants/testsrv.service
deleted file mode 120000
index c8a389334..000000000
--- a/tests/dictionaries/70service_target/result/systemd/system/test.target.wants/testsrv.service
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/systemd/system/testsrv.service
\ No newline at end of file
diff --git a/tests/dictionaries/70service_target/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70service_target/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_target/tiramisu/base.py b/tests/dictionaries/70service_target/tiramisu/base.py
deleted file mode 100644
index 77c992b83..000000000
--- a/tests/dictionaries/70service_target/tiramisu/base.py
+++ /dev/null
@@ -1,35 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_4 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_7 = OptionDescription(name="testsrv_service", doc="testsrv.service", children=[option_3, option_4])
-optiondescription_7.impl_set_information('target', "test")
-optiondescription_7.impl_set_information('type', "service")
-optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_6])
diff --git a/tests/dictionaries/70service_target_engine/__init__.py b/tests/dictionaries/70service_target_engine/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_target_engine/makedict/after.json b/tests/dictionaries/70service_target_engine/makedict/after.json
deleted file mode 100644
index ef29924ce..000000000
--- a/tests/dictionaries/70service_target_engine/makedict/after.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.testsrv_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.testsrv_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70service_target_engine/makedict/base.json b/tests/dictionaries/70service_target_engine/makedict/base.json
deleted file mode 100644
index 0ffb99685..000000000
--- a/tests/dictionaries/70service_target_engine/makedict/base.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "oui",
- "services.testsrv_service.activate": true,
- "services.testsrv_service.manage": true
-}
diff --git a/tests/dictionaries/70service_target_engine/makedict/before.json b/tests/dictionaries/70service_target_engine/makedict/before.json
deleted file mode 100644
index ef29924ce..000000000
--- a/tests/dictionaries/70service_target_engine/makedict/before.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "oui"
- },
- "services.testsrv_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.testsrv_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70service_target_engine/result/systemd/system/test.target.wants/testsrv.service b/tests/dictionaries/70service_target_engine/result/systemd/system/test.target.wants/testsrv.service
deleted file mode 120000
index 4cc00d1a3..000000000
--- a/tests/dictionaries/70service_target_engine/result/systemd/system/test.target.wants/testsrv.service
+++ /dev/null
@@ -1 +0,0 @@
-/usr/local/lib/systemd/system/testsrv.service
\ No newline at end of file
diff --git a/tests/dictionaries/70service_target_engine/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70service_target_engine/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_target_engine/tiramisu/base.py b/tests/dictionaries/70service_target_engine/tiramisu/base.py
deleted file mode 100644
index 5c126f588..000000000
--- a/tests/dictionaries/70service_target_engine/tiramisu/base.py
+++ /dev/null
@@ -1,36 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
-optiondescription_5 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_4 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_7 = OptionDescription(name="testsrv_service", doc="testsrv.service", children=[option_3, option_4])
-optiondescription_7.impl_set_information('target', "test")
-optiondescription_7.impl_set_information('engine', "none")
-optiondescription_7.impl_set_information('type', "service")
-optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_6])
diff --git a/tests/dictionaries/70service_target_engine/tmpl/testsrv.service b/tests/dictionaries/70service_target_engine/tmpl/testsrv.service
deleted file mode 100644
index a29cfeaf3..000000000
--- a/tests/dictionaries/70service_target_engine/tmpl/testsrv.service
+++ /dev/null
@@ -1 +0,0 @@
-%%mode_conteneur_actif
diff --git a/tests/dictionaries/70service_timer/__init__.py b/tests/dictionaries/70service_timer/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_timer/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70service_timer/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70service_timer/tiramisu/base.py b/tests/dictionaries/70service_timer/tiramisu/base.py
deleted file mode 100644
index 6278ae996..000000000
--- a/tests/dictionaries/70service_timer/tiramisu/base.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = BoolOption(name="activate", doc="activate", default=True)
-option_2 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_6 = OptionDescription(name="testsrv_service", doc="testsrv.service", children=[option_1, option_2])
-optiondescription_6.impl_set_information('engine', "none")
-optiondescription_6.impl_set_information('type', "service")
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_4 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_7 = OptionDescription(name="testsrv_timer", doc="testsrv.timer", children=[option_3, option_4])
-optiondescription_7.impl_set_information('type', "timer")
-optiondescription_7.impl_set_information('engine', "none")
-optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6, optiondescription_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5])
diff --git a/tests/dictionaries/70service_timer/tmpl/testsrv.service b/tests/dictionaries/70service_timer/tmpl/testsrv.service
deleted file mode 100644
index 24e10984f..000000000
--- a/tests/dictionaries/70service_timer/tmpl/testsrv.service
+++ /dev/null
@@ -1 +0,0 @@
-service
diff --git a/tests/dictionaries/70service_timer/tmpl/testsrv.timer b/tests/dictionaries/70service_timer/tmpl/testsrv.timer
deleted file mode 100644
index fe84f2ccb..000000000
--- a/tests/dictionaries/70service_timer/tmpl/testsrv.timer
+++ /dev/null
@@ -1 +0,0 @@
-timer
diff --git a/tests/dictionaries/70services_ip/__init__.py b/tests/dictionaries/70services_ip/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip/makedict/after.json b/tests/dictionaries/70services_ip/makedict/after.json
deleted file mode 100644
index 26fc6478f..000000000
--- a/tests/dictionaries/70services_ip/makedict/after.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip/makedict/base.json b/tests/dictionaries/70services_ip/makedict/base.json
deleted file mode 100644
index e04c43527..000000000
--- a/tests/dictionaries/70services_ip/makedict/base.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "rougail.nut_monitor_host": "192.168.0.1",
- "services.nut_service.ip.nut_monitor_host.name": "192.168.0.1",
- "services.nut_service.ip.nut_monitor_host.activate": true,
- "services.nut_service.activate": true,
- "services.nut_service.manage": true
-}
diff --git a/tests/dictionaries/70services_ip/makedict/before.json b/tests/dictionaries/70services_ip/makedict/before.json
deleted file mode 100644
index 26fc6478f..000000000
--- a/tests/dictionaries/70services_ip/makedict/before.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries/70services_ip/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index e4f6d8f05..000000000
--- a/tests/dictionaries/70services_ip/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.1
-IPAddressDeny=any
diff --git a/tests/dictionaries/70services_ip/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70services_ip/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip/tiramisu/base.py b/tests/dictionaries/70services_ip/tiramisu/base.py
deleted file mode 100644
index 877f179b3..000000000
--- a/tests/dictionaries/70services_ip/tiramisu/base.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.1", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
-optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_6 = SymLinkOption(name="name", opt=option_1)
-option_5 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_4 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_6, option_5])
-optiondescription_3 = OptionDescription(name="ip", doc="ip", children=[optiondescription_4])
-option_2 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_10 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_3, option_2, option_7])
-optiondescription_10.impl_set_information('type', "service")
-optiondescription_9 = OptionDescription(name="services", doc="services", children=[optiondescription_10], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_8, optiondescription_9])
diff --git a/tests/dictionaries/70services_ip_cidr/__init__.py b/tests/dictionaries/70services_ip_cidr/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_cidr/makedict/after.json b/tests/dictionaries/70services_ip_cidr/makedict/after.json
deleted file mode 100644
index 61c4af03d..000000000
--- a/tests/dictionaries/70services_ip_cidr/makedict/after.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_cidr/makedict/base.json b/tests/dictionaries/70services_ip_cidr/makedict/base.json
deleted file mode 100644
index f097a8d45..000000000
--- a/tests/dictionaries/70services_ip_cidr/makedict/base.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "rougail.nut_monitor_host": "192.168.0.0/24",
- "services.nut_service.ip.nut_monitor_host.name": "192.168.0.0/24",
- "services.nut_service.ip.nut_monitor_host.activate": true,
- "services.nut_service.activate": true,
- "services.nut_service.manage": true
-}
diff --git a/tests/dictionaries/70services_ip_cidr/makedict/before.json b/tests/dictionaries/70services_ip_cidr/makedict/before.json
deleted file mode 100644
index 61c4af03d..000000000
--- a/tests/dictionaries/70services_ip_cidr/makedict/before.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_cidr/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries/70services_ip_cidr/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index e1cb437d6..000000000
--- a/tests/dictionaries/70services_ip_cidr/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.0/24
-IPAddressDeny=any
diff --git a/tests/dictionaries/70services_ip_cidr/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70services_ip_cidr/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_cidr/tiramisu/base.py b/tests/dictionaries/70services_ip_cidr/tiramisu/base.py
deleted file mode 100644
index 517eb943b..000000000
--- a/tests/dictionaries/70services_ip_cidr/tiramisu/base.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0/24", cidr=True, properties=frozenset({"mandatory", "normal"}))
-optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_6 = SymLinkOption(name="name", opt=option_1)
-option_5 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_4 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_6, option_5])
-optiondescription_3 = OptionDescription(name="ip", doc="ip", children=[optiondescription_4])
-option_2 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_10 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_3, option_2, option_7])
-optiondescription_10.impl_set_information('type', "service")
-optiondescription_9 = OptionDescription(name="services", doc="services", children=[optiondescription_10], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_8, optiondescription_9])
diff --git a/tests/dictionaries/70services_ip_disabled/__init__.py b/tests/dictionaries/70services_ip_disabled/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_disabled/makedict/after.json b/tests/dictionaries/70services_ip_disabled/makedict/after.json
deleted file mode 100644
index b6f6db5b7..000000000
--- a/tests/dictionaries/70services_ip_disabled/makedict/after.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_disabled/makedict/base.json b/tests/dictionaries/70services_ip_disabled/makedict/base.json
deleted file mode 100644
index 66baf2e0f..000000000
--- a/tests/dictionaries/70services_ip_disabled/makedict/base.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "services.nut_service.ip.nut_monitor_host.activate": true,
- "services.nut_service.activate": true,
- "services.nut_service.manage": true
-}
diff --git a/tests/dictionaries/70services_ip_disabled/makedict/before.json b/tests/dictionaries/70services_ip_disabled/makedict/before.json
deleted file mode 100644
index b6f6db5b7..000000000
--- a/tests/dictionaries/70services_ip_disabled/makedict/before.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_disabled/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries/70services_ip_disabled/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index 9c0580a98..000000000
--- a/tests/dictionaries/70services_ip_disabled/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[Service]
-IPAddressDeny=any
diff --git a/tests/dictionaries/70services_ip_disabled/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70services_ip_disabled/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_disabled/tiramisu/base.py b/tests/dictionaries/70services_ip_disabled/tiramisu/base.py
deleted file mode 100644
index f52a79cb6..000000000
--- a/tests/dictionaries/70services_ip_disabled/tiramisu/base.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.1", allow_reserved=True, properties=frozenset({"disabled", "mandatory", "normal"}))
-optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_6 = SymLinkOption(name="name", opt=option_1)
-option_5 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_4 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_6, option_5])
-optiondescription_3 = OptionDescription(name="ip", doc="ip", children=[optiondescription_4])
-option_2 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_10 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_3, option_2, option_7])
-optiondescription_10.impl_set_information('type', "service")
-optiondescription_9 = OptionDescription(name="services", doc="services", children=[optiondescription_10], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_8, optiondescription_9])
diff --git a/tests/dictionaries/70services_ip_extra/__init__.py b/tests/dictionaries/70services_ip_extra/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_extra/makedict/after.json b/tests/dictionaries/70services_ip_extra/makedict/after.json
deleted file mode 100644
index 0e94fd939..000000000
--- a/tests/dictionaries/70services_ip_extra/makedict/after.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "extra.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.extra_nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.extra_nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_extra/makedict/base.json b/tests/dictionaries/70services_ip_extra/makedict/base.json
deleted file mode 100644
index b75e192ad..000000000
--- a/tests/dictionaries/70services_ip_extra/makedict/base.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extra.nut_monitor_host": "192.168.0.0/24",
- "services.nut_service.ip.extra_nut_monitor_host.name": "192.168.0.0/24",
- "services.nut_service.ip.extra_nut_monitor_host.activate": true,
- "services.nut_service.activate": true,
- "services.nut_service.manage": true
-}
diff --git a/tests/dictionaries/70services_ip_extra/makedict/before.json b/tests/dictionaries/70services_ip_extra/makedict/before.json
deleted file mode 100644
index 0e94fd939..000000000
--- a/tests/dictionaries/70services_ip_extra/makedict/before.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "extra.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.extra_nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.extra_nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_extra/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries/70services_ip_extra/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index e1cb437d6..000000000
--- a/tests/dictionaries/70services_ip_extra/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.0/24
-IPAddressDeny=any
diff --git a/tests/dictionaries/70services_ip_extra/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70services_ip_extra/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_extra/tiramisu/base.py b/tests/dictionaries/70services_ip_extra/tiramisu/base.py
deleted file mode 100644
index b26c681ae..000000000
--- a/tests/dictionaries/70services_ip_extra/tiramisu/base.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0/24", cidr=True, properties=frozenset({"mandatory", "normal"}))
-optiondescription_8 = OptionDescription(name="extra", doc="extra", children=[option_1], properties=frozenset({"normal"}))
-option_6 = SymLinkOption(name="name", opt=option_1)
-option_5 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_4 = OptionDescription(name="extra_nut_monitor_host", doc="extra.nut_monitor_host", children=[option_6, option_5])
-optiondescription_3 = OptionDescription(name="ip", doc="ip", children=[optiondescription_4])
-option_2 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_10 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_3, option_2, option_7])
-optiondescription_10.impl_set_information('type', "service")
-optiondescription_9 = OptionDescription(name="services", doc="services", children=[optiondescription_10], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_8, optiondescription_9])
diff --git a/tests/dictionaries/70services_ip_extra/tiramisu/multi.py b/tests/dictionaries/70services_ip_extra/tiramisu/multi.py
deleted file mode 100644
index 82e92061d..000000000
--- a/tests/dictionaries/70services_ip_extra/tiramisu/multi.py
+++ /dev/null
@@ -1,50 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0/24", cidr=True, properties=frozenset({"mandatory", "normal"}))
-optiondescription_16 = OptionDescription(name="extra", doc="extra", children=[option_1], properties=frozenset({"normal"}))
-option_7 = SymLinkOption(name="name", opt=option_1)
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="extra_nut_monitor_host", doc="extra.nut_monitor_host", children=[option_7, option_6])
-optiondescription_4 = OptionDescription(name="ip", doc="ip", children=[optiondescription_5])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_8 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_18 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_4, option_3, option_8])
-optiondescription_18.impl_set_information('type', "service")
-optiondescription_17 = OptionDescription(name="services", doc="services", children=[optiondescription_18], properties=frozenset({"hidden"}))
-optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16, optiondescription_17])
-option_2 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0/24", cidr=True, properties=frozenset({"mandatory", "normal"}))
-optiondescription_20 = OptionDescription(name="extra", doc="extra", children=[option_2], properties=frozenset({"normal"}))
-option_13 = SymLinkOption(name="name", opt=option_2)
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_11 = OptionDescription(name="extra_nut_monitor_host", doc="extra.nut_monitor_host", children=[option_13, option_12])
-optiondescription_10 = OptionDescription(name="ip", doc="ip", children=[optiondescription_11])
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_14 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_22 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_10, option_9, option_14])
-optiondescription_22.impl_set_information('type', "service")
-optiondescription_21 = OptionDescription(name="services", doc="services", children=[optiondescription_22], properties=frozenset({"hidden"}))
-optiondescription_19 = OptionDescription(name="2", doc="2", children=[optiondescription_20, optiondescription_21])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_19])
diff --git a/tests/dictionaries/70services_ip_extra/xml/00-base.xml b/tests/dictionaries/70services_ip_extra/xml/00-base.xml
deleted file mode 100644
index d6fb1be87..000000000
--- a/tests/dictionaries/70services_ip_extra/xml/00-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- extra.nut_monitor_host
-
-
-
diff --git a/tests/dictionaries/70services_ip_extra/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries/70services_ip_extra/xml/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 3ddba60ec..000000000
--- a/tests/dictionaries/70services_ip_extra/xml/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- 192.168.0.0/24
-
-
-
diff --git a/tests/dictionaries/70services_ip_extra/yml/00-base.yml b/tests/dictionaries/70services_ip_extra/yml/00-base.yml
deleted file mode 100644
index 601c7f67c..000000000
--- a/tests/dictionaries/70services_ip_extra/yml/00-base.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-version: '0.10'
-services:
-- service:
- - name: nut
- ip:
- - text: extra.nut_monitor_host
diff --git a/tests/dictionaries/70services_ip_extra/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries/70services_ip_extra/yml/extra_dirs/extra/00-base.yml
deleted file mode 100644
index bfe7473ba..000000000
--- a/tests/dictionaries/70services_ip_extra/yml/extra_dirs/extra/00-base.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-version: '0.10'
-variables:
-- variable:
- - name: nut_monitor_host
- type: network_cidr
- mandatory: true
- value:
- - text: 192.168.0.0/24
diff --git a/tests/dictionaries/70services_ip_iplist/__init__.py b/tests/dictionaries/70services_ip_iplist/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_iplist/makedict/after.json b/tests/dictionaries/70services_ip_iplist/makedict/after.json
deleted file mode 100644
index 3cecac4ff..000000000
--- a/tests/dictionaries/70services_ip_iplist/makedict/after.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "no"
- },
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_iplist/makedict/base.json b/tests/dictionaries/70services_ip_iplist/makedict/base.json
deleted file mode 100644
index aa2bd28ea..000000000
--- a/tests/dictionaries/70services_ip_iplist/makedict/base.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "rougail.condition": "no",
- "rougail.nut_monitor_host": "192.168.0.0/24",
- "services.nut_service.ip.nut_monitor_host.name": "192.168.0.0/24",
- "services.nut_service.ip.nut_monitor_host.activate": true,
- "services.nut_service.activate": true,
- "services.nut_service.manage": true
-}
diff --git a/tests/dictionaries/70services_ip_iplist/makedict/before.json b/tests/dictionaries/70services_ip_iplist/makedict/before.json
deleted file mode 100644
index 3cecac4ff..000000000
--- a/tests/dictionaries/70services_ip_iplist/makedict/before.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "no"
- },
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_iplist/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries/70services_ip_iplist/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index e1cb437d6..000000000
--- a/tests/dictionaries/70services_ip_iplist/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.0/24
-IPAddressDeny=any
diff --git a/tests/dictionaries/70services_ip_iplist/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70services_ip_iplist/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_iplist/tiramisu/base.py b/tests/dictionaries/70services_ip_iplist/tiramisu/base.py
deleted file mode 100644
index df394edcc..000000000
--- a/tests/dictionaries/70services_ip_iplist/tiramisu/base.py
+++ /dev/null
@@ -1,38 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-option_2 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0/24", cidr=True, properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_1, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help)}))
-optiondescription_9 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-option_7 = SymLinkOption(name="name", opt=option_2)
-option_6 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_1, notraisepropertyerror=True), 'expected_0': ParamValue("yes")})))
-optiondescription_5 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_7, option_6])
-optiondescription_4 = OptionDescription(name="ip", doc="ip", children=[optiondescription_5])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_8 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_11 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_4, option_3, option_8])
-optiondescription_11.impl_set_information('type', "service")
-optiondescription_10 = OptionDescription(name="services", doc="services", children=[optiondescription_11], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_10])
diff --git a/tests/dictionaries/70services_ip_iplist2/__init__.py b/tests/dictionaries/70services_ip_iplist2/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_iplist2/makedict/after.json b/tests/dictionaries/70services_ip_iplist2/makedict/after.json
deleted file mode 100644
index 0457a2487..000000000
--- a/tests/dictionaries/70services_ip_iplist2/makedict/after.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "yes"
- },
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": false
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_iplist2/makedict/base.json b/tests/dictionaries/70services_ip_iplist2/makedict/base.json
deleted file mode 100644
index f65181923..000000000
--- a/tests/dictionaries/70services_ip_iplist2/makedict/base.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "rougail.condition": "yes",
- "rougail.nut_monitor_host": "192.168.0.0/24",
- "services.nut_service.ip.nut_monitor_host.name": "192.168.0.0/24",
- "services.nut_service.ip.nut_monitor_host.activate": false,
- "services.nut_service.activate": true,
- "services.nut_service.manage": true
-}
diff --git a/tests/dictionaries/70services_ip_iplist2/makedict/before.json b/tests/dictionaries/70services_ip_iplist2/makedict/before.json
deleted file mode 100644
index 0457a2487..000000000
--- a/tests/dictionaries/70services_ip_iplist2/makedict/before.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "rougail.condition": {
- "owner": "default",
- "value": "yes"
- },
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.0/24"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": false
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_iplist2/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70services_ip_iplist2/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_iplist2/tiramisu/base.py b/tests/dictionaries/70services_ip_iplist2/tiramisu/base.py
deleted file mode 100644
index b9de4653a..000000000
--- a/tests/dictionaries/70services_ip_iplist2/tiramisu/base.py
+++ /dev/null
@@ -1,38 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = StrOption(name="condition", doc="condition", default="yes", properties=frozenset({"mandatory", "normal"}))
-option_2 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0/24", cidr=True, properties=frozenset({"mandatory", "normal"}))
-optiondescription_9 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-option_7 = SymLinkOption(name="name", opt=option_2)
-option_6 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_1, notraisepropertyerror=True), 'expected_0': ParamValue("yes")})))
-optiondescription_5 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_7, option_6])
-optiondescription_4 = OptionDescription(name="ip", doc="ip", children=[optiondescription_5])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_8 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_11 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_4, option_3, option_8])
-optiondescription_11.impl_set_information('type', "service")
-optiondescription_10 = OptionDescription(name="services", doc="services", children=[optiondescription_11], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_10])
diff --git a/tests/dictionaries/70services_ip_leadership/__init__.py b/tests/dictionaries/70services_ip_leadership/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_leadership/makedict/after.json b/tests/dictionaries/70services_ip_leadership/makedict/after.json
deleted file mode 100644
index 60c801feb..000000000
--- a/tests/dictionaries/70services_ip_leadership/makedict/after.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "rougail.general.nut_monitor_netmask.nut_monitor_netmask": {
- "owner": "default",
- "value": [
- "255.255.255.0"
- ]
- },
- "rougail.general.nut_monitor_netmask.nut_monitor_host": {
- "owner": [
- "default"
- ],
- "value": [
- "192.168.1.0"
- ]
- },
- "services.ntp_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": [
- "192.168.1.0"
- ]
- },
- "services.ntp_service.ip.nut_monitor_host.netmask": {
- "owner": "default",
- "value": [
- "255.255.255.0"
- ]
- },
- "services.ntp_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.ntp_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.ntp_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_leadership/makedict/base.json b/tests/dictionaries/70services_ip_leadership/makedict/base.json
deleted file mode 100644
index 074d42067..000000000
--- a/tests/dictionaries/70services_ip_leadership/makedict/base.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "rougail.general.nut_monitor_netmask.nut_monitor_netmask": [
- {
- "rougail.general.nut_monitor_netmask.nut_monitor_netmask": "255.255.255.0",
- "rougail.general.nut_monitor_netmask.nut_monitor_host": "192.168.1.0"
- }
- ],
- "services.ntp_service.ip.nut_monitor_host.name": [
- "192.168.1.0"
- ],
- "services.ntp_service.ip.nut_monitor_host.netmask": [
- "255.255.255.0"
- ],
- "services.ntp_service.ip.nut_monitor_host.activate": true,
- "services.ntp_service.activate": true,
- "services.ntp_service.manage": true
-}
diff --git a/tests/dictionaries/70services_ip_leadership/makedict/before.json b/tests/dictionaries/70services_ip_leadership/makedict/before.json
deleted file mode 100644
index 60c801feb..000000000
--- a/tests/dictionaries/70services_ip_leadership/makedict/before.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "rougail.general.nut_monitor_netmask.nut_monitor_netmask": {
- "owner": "default",
- "value": [
- "255.255.255.0"
- ]
- },
- "rougail.general.nut_monitor_netmask.nut_monitor_host": {
- "owner": [
- "default"
- ],
- "value": [
- "192.168.1.0"
- ]
- },
- "services.ntp_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": [
- "192.168.1.0"
- ]
- },
- "services.ntp_service.ip.nut_monitor_host.netmask": {
- "owner": "default",
- "value": [
- "255.255.255.0"
- ]
- },
- "services.ntp_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.ntp_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.ntp_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_leadership/result/systemd/system/ntp.service.d/rougail_ip.conf b/tests/dictionaries/70services_ip_leadership/result/systemd/system/ntp.service.d/rougail_ip.conf
deleted file mode 100644
index d330de8da..000000000
--- a/tests/dictionaries/70services_ip_leadership/result/systemd/system/ntp.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-IPAddressAllow=192.168.1.0/24
-IPAddressDeny=any
diff --git a/tests/dictionaries/70services_ip_leadership/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70services_ip_leadership/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_leadership/tiramisu/base.py b/tests/dictionaries/70services_ip_leadership/tiramisu/base.py
deleted file mode 100644
index a39ccbaff..000000000
--- a/tests/dictionaries/70services_ip_leadership/tiramisu/base.py
+++ /dev/null
@@ -1,41 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_3 = NetmaskOption(name="nut_monitor_netmask", doc="nut_monitor_netmask", multi=True, default=['255.255.255.0'], properties=frozenset({"mandatory", "normal"}))
-option_4 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", multi=True, default_multi="192.168.1.0", properties=frozenset({"mandatory", "normal"}))
-optiondescription_2 = Leadership(name="nut_monitor_netmask", doc="nut_monitor_netmask", children=[option_3, option_4], properties=frozenset({"normal"}))
-optiondescription_1 = OptionDescription(name="general", doc="général", children=[optiondescription_2], properties=frozenset({"normal"}))
-optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
-option_9 = SymLinkOption(name="name", opt=option_4)
-option_10 = SymLinkOption(name="netmask", opt=option_3)
-option_8 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_7 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_9, option_10, option_8])
-optiondescription_6 = OptionDescription(name="ip", doc="ip", children=[optiondescription_7])
-option_5 = BoolOption(name="activate", doc="activate", default=True)
-option_11 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_14 = OptionDescription(name="ntp_service", doc="ntp.service", children=[optiondescription_6, option_5, option_11])
-optiondescription_14.impl_set_information('type', "service")
-optiondescription_13 = OptionDescription(name="services", doc="services", children=[optiondescription_14], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_12, optiondescription_13])
diff --git a/tests/dictionaries/70services_ip_multi/__init__.py b/tests/dictionaries/70services_ip_multi/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_multi/makedict/after.json b/tests/dictionaries/70services_ip_multi/makedict/after.json
deleted file mode 100644
index 3d67a556c..000000000
--- a/tests/dictionaries/70services_ip_multi/makedict/after.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": [
- "192.168.0.1",
- "192.168.0.2"
- ]
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": [
- "192.168.0.1",
- "192.168.0.2"
- ]
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_multi/makedict/base.json b/tests/dictionaries/70services_ip_multi/makedict/base.json
deleted file mode 100644
index 72e97674b..000000000
--- a/tests/dictionaries/70services_ip_multi/makedict/base.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "rougail.nut_monitor_host": [
- "192.168.0.1",
- "192.168.0.2"
- ],
- "services.nut_service.ip.nut_monitor_host.name": [
- "192.168.0.1",
- "192.168.0.2"
- ],
- "services.nut_service.ip.nut_monitor_host.activate": true,
- "services.nut_service.activate": true,
- "services.nut_service.manage": true
-}
diff --git a/tests/dictionaries/70services_ip_multi/makedict/before.json b/tests/dictionaries/70services_ip_multi/makedict/before.json
deleted file mode 100644
index 3d67a556c..000000000
--- a/tests/dictionaries/70services_ip_multi/makedict/before.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": [
- "192.168.0.1",
- "192.168.0.2"
- ]
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": [
- "192.168.0.1",
- "192.168.0.2"
- ]
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_multi/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries/70services_ip_multi/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index c1dc19684..000000000
--- a/tests/dictionaries/70services_ip_multi/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.1
-IPAddressAllow=192.168.0.2
-IPAddressDeny=any
diff --git a/tests/dictionaries/70services_ip_multi/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70services_ip_multi/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_multi/tiramisu/base.py b/tests/dictionaries/70services_ip_multi/tiramisu/base.py
deleted file mode 100644
index 9016bcd5d..000000000
--- a/tests/dictionaries/70services_ip_multi/tiramisu/base.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", multi=True, default=['192.168.0.1', '192.168.0.2'], default_multi="192.168.0.1", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
-optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_6 = SymLinkOption(name="name", opt=option_1)
-option_5 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_4 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_6, option_5])
-optiondescription_3 = OptionDescription(name="ip", doc="ip", children=[optiondescription_4])
-option_2 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_10 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_3, option_2, option_7])
-optiondescription_10.impl_set_information('type', "service")
-optiondescription_9 = OptionDescription(name="services", doc="services", children=[optiondescription_10], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_8, optiondescription_9])
diff --git a/tests/dictionaries/70services_ip_network/__init__.py b/tests/dictionaries/70services_ip_network/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_network/makedict/after.json b/tests/dictionaries/70services_ip_network/makedict/after.json
deleted file mode 100644
index 015fba97a..000000000
--- a/tests/dictionaries/70services_ip_network/makedict/after.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "rougail.nut_monitor_netmask": {
- "owner": "default",
- "value": "255.255.255.0"
- },
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.0"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.0"
- },
- "services.nut_service.ip.nut_monitor_host.netmask": {
- "owner": "default",
- "value": "255.255.255.0"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_network/makedict/base.json b/tests/dictionaries/70services_ip_network/makedict/base.json
deleted file mode 100644
index 41a76e45b..000000000
--- a/tests/dictionaries/70services_ip_network/makedict/base.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "rougail.nut_monitor_netmask": "255.255.255.0",
- "rougail.nut_monitor_host": "192.168.0.0",
- "services.nut_service.ip.nut_monitor_host.name": "192.168.0.0",
- "services.nut_service.ip.nut_monitor_host.netmask": "255.255.255.0",
- "services.nut_service.ip.nut_monitor_host.activate": true,
- "services.nut_service.activate": true,
- "services.nut_service.manage": true
-}
diff --git a/tests/dictionaries/70services_ip_network/makedict/before.json b/tests/dictionaries/70services_ip_network/makedict/before.json
deleted file mode 100644
index 015fba97a..000000000
--- a/tests/dictionaries/70services_ip_network/makedict/before.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "rougail.nut_monitor_netmask": {
- "owner": "default",
- "value": "255.255.255.0"
- },
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.0"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.0"
- },
- "services.nut_service.ip.nut_monitor_host.netmask": {
- "owner": "default",
- "value": "255.255.255.0"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_network/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries/70services_ip_network/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index e1cb437d6..000000000
--- a/tests/dictionaries/70services_ip_network/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.0/24
-IPAddressDeny=any
diff --git a/tests/dictionaries/70services_ip_network/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70services_ip_network/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_network/tiramisu/base.py b/tests/dictionaries/70services_ip_network/tiramisu/base.py
deleted file mode 100644
index 32c5edef8..000000000
--- a/tests/dictionaries/70services_ip_network/tiramisu/base.py
+++ /dev/null
@@ -1,39 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = NetmaskOption(name="nut_monitor_netmask", doc="nut_monitor_netmask", default="255.255.255.0", properties=frozenset({"mandatory", "normal"}))
-option_2 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0", properties=frozenset({"mandatory", "normal"}))
-optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-option_7 = SymLinkOption(name="name", opt=option_2)
-option_8 = SymLinkOption(name="netmask", opt=option_1)
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_7, option_8, option_6])
-optiondescription_4 = OptionDescription(name="ip", doc="ip", children=[optiondescription_5])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_9 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_12 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_4, option_3, option_9])
-optiondescription_12.impl_set_information('type', "service")
-optiondescription_11 = OptionDescription(name="services", doc="services", children=[optiondescription_12], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_10, optiondescription_11])
diff --git a/tests/dictionaries/70services_ip_not_mandatory/__init__.py b/tests/dictionaries/70services_ip_not_mandatory/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_not_mandatory/makedict/after.json b/tests/dictionaries/70services_ip_not_mandatory/makedict/after.json
deleted file mode 100644
index fceae0beb..000000000
--- a/tests/dictionaries/70services_ip_not_mandatory/makedict/after.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": null
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": null
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_not_mandatory/makedict/base.json b/tests/dictionaries/70services_ip_not_mandatory/makedict/base.json
deleted file mode 100644
index 900a1b0cb..000000000
--- a/tests/dictionaries/70services_ip_not_mandatory/makedict/base.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "rougail.nut_monitor_host": null,
- "services.nut_service.ip.nut_monitor_host.name": null,
- "services.nut_service.ip.nut_monitor_host.activate": true,
- "services.nut_service.activate": true,
- "services.nut_service.manage": true
-}
diff --git a/tests/dictionaries/70services_ip_not_mandatory/makedict/before.json b/tests/dictionaries/70services_ip_not_mandatory/makedict/before.json
deleted file mode 100644
index fceae0beb..000000000
--- a/tests/dictionaries/70services_ip_not_mandatory/makedict/before.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": null
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": null
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_not_mandatory/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries/70services_ip_not_mandatory/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index 9c0580a98..000000000
--- a/tests/dictionaries/70services_ip_not_mandatory/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[Service]
-IPAddressDeny=any
diff --git a/tests/dictionaries/70services_ip_not_mandatory/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70services_ip_not_mandatory/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_not_mandatory/tiramisu/base.py b/tests/dictionaries/70services_ip_not_mandatory/tiramisu/base.py
deleted file mode 100644
index 415f3f218..000000000
--- a/tests/dictionaries/70services_ip_not_mandatory/tiramisu/base.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", allow_reserved=True, properties=frozenset({"normal"}))
-optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
-option_6 = SymLinkOption(name="name", opt=option_1)
-option_5 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_4 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_6, option_5])
-optiondescription_3 = OptionDescription(name="ip", doc="ip", children=[optiondescription_4])
-option_2 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_10 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_3, option_2, option_7])
-optiondescription_10.impl_set_information('type', "service")
-optiondescription_9 = OptionDescription(name="services", doc="services", children=[optiondescription_10], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_8, optiondescription_9])
diff --git a/tests/dictionaries/70services_ip_twice/__init__.py b/tests/dictionaries/70services_ip_twice/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_twice/makedict/after.json b/tests/dictionaries/70services_ip_twice/makedict/after.json
deleted file mode 100644
index 72a9ac458..000000000
--- a/tests/dictionaries/70services_ip_twice/makedict/after.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "rougail.nut_monitor_host2": {
- "owner": "default",
- "value": "192.168.0.2"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.ip.nut_monitor_host2.name": {
- "owner": "default",
- "value": "192.168.0.2"
- },
- "services.nut_service.ip.nut_monitor_host2.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_twice/makedict/base.json b/tests/dictionaries/70services_ip_twice/makedict/base.json
deleted file mode 100644
index a0fd5743a..000000000
--- a/tests/dictionaries/70services_ip_twice/makedict/base.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.nut_monitor_host": "192.168.0.1",
- "rougail.nut_monitor_host2": "192.168.0.2",
- "services.nut_service.ip.nut_monitor_host.name": "192.168.0.1",
- "services.nut_service.ip.nut_monitor_host.activate": true,
- "services.nut_service.ip.nut_monitor_host2.name": "192.168.0.2",
- "services.nut_service.ip.nut_monitor_host2.activate": true,
- "services.nut_service.activate": true,
- "services.nut_service.manage": true
-}
diff --git a/tests/dictionaries/70services_ip_twice/makedict/before.json b/tests/dictionaries/70services_ip_twice/makedict/before.json
deleted file mode 100644
index 72a9ac458..000000000
--- a/tests/dictionaries/70services_ip_twice/makedict/before.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "rougail.nut_monitor_host": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "rougail.nut_monitor_host2": {
- "owner": "default",
- "value": "192.168.0.2"
- },
- "services.nut_service.ip.nut_monitor_host.name": {
- "owner": "default",
- "value": "192.168.0.1"
- },
- "services.nut_service.ip.nut_monitor_host.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.ip.nut_monitor_host2.name": {
- "owner": "default",
- "value": "192.168.0.2"
- },
- "services.nut_service.ip.nut_monitor_host2.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.activate": {
- "owner": "default",
- "value": true
- },
- "services.nut_service.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries/70services_ip_twice/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries/70services_ip_twice/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index c1dc19684..000000000
--- a/tests/dictionaries/70services_ip_twice/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.1
-IPAddressAllow=192.168.0.2
-IPAddressDeny=any
diff --git a/tests/dictionaries/70services_ip_twice/result/tmpfiles.d/0rougail.conf b/tests/dictionaries/70services_ip_twice/result/tmpfiles.d/0rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries/70services_ip_twice/tiramisu/base.py b/tests/dictionaries/70services_ip_twice/tiramisu/base.py
deleted file mode 100644
index cc9c2ee34..000000000
--- a/tests/dictionaries/70services_ip_twice/tiramisu/base.py
+++ /dev/null
@@ -1,41 +0,0 @@
-from importlib.machinery import SourceFileLoader as _SourceFileLoader
-from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
-class func:
- pass
-
-def _load_functions(path):
- global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
- loader = _SourceFileLoader('func', path)
- spec = _spec_from_loader(loader.name, loader)
- func_ = _module_from_spec(spec)
- loader.exec_module(func_)
- for function in dir(func_):
- if function.startswith('_'):
- continue
- setattr(func, function, getattr(func_, function))
-_load_functions('tests/dictionaries/../eosfunc/test.py')
-try:
- from tiramisu4 import *
- from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
-except:
- from tiramisu import *
- from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
-ALLOWED_LEADER_PROPERTIES.add("basic")
-ALLOWED_LEADER_PROPERTIES.add("normal")
-ALLOWED_LEADER_PROPERTIES.add("expert")
-option_1 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.1", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
-option_2 = IPOption(name="nut_monitor_host2", doc="nut_monitor_host2", default="192.168.0.2", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
-optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
-option_7 = SymLinkOption(name="name", opt=option_1)
-option_6 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_5 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_7, option_6])
-option_10 = SymLinkOption(name="name", opt=option_2)
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-optiondescription_8 = OptionDescription(name="nut_monitor_host2", doc="nut_monitor_host2", children=[option_10, option_9])
-optiondescription_4 = OptionDescription(name="ip", doc="ip", children=[optiondescription_5, optiondescription_8])
-option_3 = BoolOption(name="activate", doc="activate", default=True)
-option_11 = BoolOption(name="manage", doc="manage", default=True)
-optiondescription_14 = OptionDescription(name="nut_service", doc="nut.service", children=[optiondescription_4, option_3, option_11])
-optiondescription_14.impl_set_information('type', "service")
-optiondescription_13 = OptionDescription(name="services", doc="services", children=[optiondescription_14], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_12, optiondescription_13])
diff --git a/tests/dictionaries/80auto_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/80auto_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..d3bb1a20f
--- /dev/null
+++ b/tests/dictionaries/80auto_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ variable:
+ type: string
+ description: No change
+ default: 'no'
+version: '1.0'
diff --git a/tests/dictionaries/80base_file_mode_wrong_type/dictionaries/services/00-base.yml b/tests/dictionaries/80base_file_mode_wrong_type/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..51acf23a3
--- /dev/null
+++ b/tests/dictionaries/80base_file_mode_wrong_type/dictionaries/services/00-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ files:
+ /etc/file:
+ mode: wrong_mode
+version: '1.0'
diff --git a/tests/dictionaries/80check_self/dictionaries/rougail/00-base.yml b/tests/dictionaries/80check_self/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ee26b935d
--- /dev/null
+++ b/tests/dictionaries/80check_self/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_lower(mini=0, maxi=rougail.general.int)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries/80check_unknown/dictionaries/rougail/00-base.yml b/tests/dictionaries/80check_unknown/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f28b3173f
--- /dev/null
+++ b/tests/dictionaries/80check_unknown/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | unknown(mini="0", maxi="100") }}'
+version: '1.0'
diff --git a/tests/dictionaries/80check_unknown_var/dictionaries/rougail/00-base.yml b/tests/dictionaries/80check_unknown_var/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..3344c8611
--- /dev/null
+++ b/tests/dictionaries/80check_unknown_var/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif | valid_differ(__int3) }}'
+version: '1.0'
diff --git a/tests/dictionaries/80condition_itself/dictionaries/rougail/00-base.yml b/tests/dictionaries/80condition_itself/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f7a19a2ba
--- /dev/null
+++ b/tests/dictionaries/80condition_itself/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+test:
+ replicationtype:
+ description: replicationType
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.test.replicationtype == "leader-leader" %}true{% else
+ %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/80condition_not_exists_error/dictionaries/rougail/00-base.yml b/tests/dictionaries/80condition_not_exists_error/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6a3011e35
--- /dev/null
+++ b/tests/dictionaries/80condition_not_exists_error/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80condition_not_exists_error_var/dictionaries/rougail/00-base.yml b/tests/dictionaries/80condition_not_exists_error_var/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6a3011e35
--- /dev/null
+++ b/tests/dictionaries/80condition_not_exists_error_var/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80container_files_symlink_without_source/dictionaries/rougail/00-base.yml b/tests/dictionaries/80container_files_symlink_without_source/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..16cafc592
--- /dev/null
+++ b/tests/dictionaries/80container_files_symlink_without_source/dictionaries/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+ file_name:
+ type: string
+ default: /etc/mailname
+version: '1.0'
diff --git a/tests/dictionaries/80container_files_symlink_without_source/dictionaries/services/00-base.yml b/tests/dictionaries/80container_files_symlink_without_source/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..3d7d61c08
--- /dev/null
+++ b/tests/dictionaries/80container_files_symlink_without_source/dictionaries/services/00-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ files:
+ rougail.general.file_name:
+ type: variable
+version: '1.0'
diff --git a/tests/dictionaries/80container_filesredefine_error/dictionaries/rougail/00-base.yml b/tests/dictionaries/80container_filesredefine_error/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries/80container_filesredefine_error/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries/80container_filesredefine_error/dictionaries/services/00-base.yml b/tests/dictionaries/80container_filesredefine_error/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..e25233253
--- /dev/null
+++ b/tests/dictionaries/80container_filesredefine_error/dictionaries/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ files:
+ /etc/mailname: {}
+version: '1.0'
diff --git a/tests/dictionaries/80container_filesredefine_error/dictionaries/services/01-base.yml b/tests/dictionaries/80container_filesredefine_error/dictionaries/services/01-base.yml
new file mode 100644
index 000000000..138b4172c
--- /dev/null
+++ b/tests/dictionaries/80container_filesredefine_error/dictionaries/services/01-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ files:
+ /etc/mailname:
+ source: mailname.new
+version: '1.0'
diff --git a/tests/dictionaries/80extra_externalspaceauto/dictionaries/extra/00-base.yml b/tests/dictionaries/80extra_externalspaceauto/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..47d02767d
--- /dev/null
+++ b/tests/dictionaries/80extra_externalspaceauto/dictionaries/extra/00-base.yml
@@ -0,0 +1,21 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default: none
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/80extra_externalspaceauto/dictionaries/extra1/00-base.yml b/tests/dictionaries/80extra_externalspaceauto/dictionaries/extra1/00-base.yml
new file mode 100644
index 000000000..0765adcd8
--- /dev/null
+++ b/tests/dictionaries/80extra_externalspaceauto/dictionaries/extra1/00-base.yml
@@ -0,0 +1,8 @@
+external:
+ description:
+ type: string
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__extra.ejabberd.day, match="none",
+ mismatch="daily") }}'
+version: '1.0'
diff --git a/tests/dictionaries/80extra_externalspaceauto/dictionaries/rougail/00-base.yml b/tests/dictionaries/80extra_externalspaceauto/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..957459af9
--- /dev/null
+++ b/tests/dictionaries/80extra_externalspaceauto/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80extra_externalspacecondition2/dictionaries/extra/00-base.yml b/tests/dictionaries/80extra_externalspacecondition2/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..47d02767d
--- /dev/null
+++ b/tests/dictionaries/80extra_externalspacecondition2/dictionaries/extra/00-base.yml
@@ -0,0 +1,21 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default: none
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/80extra_externalspacecondition2/dictionaries/extra1/00-base.yml b/tests/dictionaries/80extra_externalspacecondition2/dictionaries/extra1/00-base.yml
new file mode 100644
index 000000000..aedf01921
--- /dev/null
+++ b/tests/dictionaries/80extra_externalspacecondition2/dictionaries/extra1/00-base.yml
@@ -0,0 +1,5 @@
+external:
+ description:
+ type: string
+ default: test
+version: '1.0'
diff --git a/tests/dictionaries/80extra_externalspacecondition2/dictionaries/rougail/00-base.yml b/tests/dictionaries/80extra_externalspacecondition2/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..957459af9
--- /dev/null
+++ b/tests/dictionaries/80extra_externalspacecondition2/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80extra_externalspacecondition3/dictionaries/extra/00-base.yml b/tests/dictionaries/80extra_externalspacecondition3/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..aedf01921
--- /dev/null
+++ b/tests/dictionaries/80extra_externalspacecondition3/dictionaries/extra/00-base.yml
@@ -0,0 +1,5 @@
+external:
+ description:
+ type: string
+ default: test
+version: '1.0'
diff --git a/tests/dictionaries/80extra_externalspacecondition3/dictionaries/rougail/00-base.yml b/tests/dictionaries/80extra_externalspacecondition3/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..957459af9
--- /dev/null
+++ b/tests/dictionaries/80extra_externalspacecondition3/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80extra_rougail/dictionaries/rougail/00-base.yml b/tests/dictionaries/80extra_rougail/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c1f5b2a24
--- /dev/null
+++ b/tests/dictionaries/80extra_rougail/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80extra_services/dictionaries/rougail/00-base.yml b/tests/dictionaries/80extra_services/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c1f5b2a24
--- /dev/null
+++ b/tests/dictionaries/80extra_services/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80extra_services/dictionaries/services/00-base.yml b/tests/dictionaries/80extra_services/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..47d02767d
--- /dev/null
+++ b/tests/dictionaries/80extra_services/dictionaries/services/00-base.yml
@@ -0,0 +1,21 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default: none
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/80family_appendaccent/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_appendaccent/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..009515298
--- /dev/null
+++ b/tests/dictionaries/80family_appendaccent/dictionaries/rougail/00-base.yml
@@ -0,0 +1,16 @@
+Général:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.Other.mode_conteneur_actif3 == "non" %}true{% else %}false{%
+ endif %}'
+Other:
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80family_appendaccent/dictionaries/rougail/01-base.yml b/tests/dictionaries/80family_appendaccent/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..d50b486ea
--- /dev/null
+++ b/tests/dictionaries/80family_appendaccent/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+Général:
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80family_appendaccent/dictionaries/rougail/02-base.yml b/tests/dictionaries/80family_appendaccent/dictionaries/rougail/02-base.yml
new file mode 100644
index 000000000..bce32b41b
--- /dev/null
+++ b/tests/dictionaries/80family_appendaccent/dictionaries/rougail/02-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80family_change/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_change/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..bbe3024d2
--- /dev/null
+++ b/tests/dictionaries/80family_change/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80family_change/dictionaries/rougail/01-base.yml b/tests/dictionaries/80family_change/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..2cbc7c499
--- /dev/null
+++ b/tests/dictionaries/80family_change/dictionaries/rougail/01-base.yml
@@ -0,0 +1,5 @@
+other:
+ mode_conteneur_actif1:
+ redefine: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80family_dynamic_calc_invalid_suffix/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_dynamic_calc_invalid_suffix/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..756059a70
--- /dev/null
+++ b/tests/dictionaries/80family_dynamic_calc_invalid_suffix/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __suffix | calc_val }}'
+ params:
+ __suffix:
+ type: suffix
+ text: unknown
+new:
+ newvar:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries/80family_dynamic_check/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_dynamic_check/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4f8cf4b0d
--- /dev/null
+++ b/tests/dictionaries/80family_dynamic_check/dictionaries/rougail/00-base.yml
@@ -0,0 +1,15 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: number
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries/80family_dynamic_not_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_dynamic_not_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0ec58f9e7
--- /dev/null
+++ b/tests/dictionaries/80family_dynamic_not_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ varname:
+ type: string
+ description: No change
+ default: val1
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries/80family_dynamic_with_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_dynamic_with_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f6b8adb70
--- /dev/null
+++ b/tests/dictionaries/80family_dynamic_with_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ my_family:
+ vardyn2: {}
+version: '1.0'
diff --git a/tests/dictionaries/80family_not_dynamic_calc_suffix/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_not_dynamic_calc_suffix/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..444bd5692
--- /dev/null
+++ b/tests/dictionaries/80family_not_dynamic_calc_suffix/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default: val
+new:
+ newvar:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __suffix | calc_val }}'
+ params:
+ __suffix:
+ type: suffix
+version: '1.0'
diff --git a/tests/dictionaries/80family_only_on_suffix/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_only_on_suffix/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4839ed54c
--- /dev/null
+++ b/tests/dictionaries/80family_only_on_suffix/dictionaries/rougail/00-base.yml
@@ -0,0 +1,15 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries/80family_several/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_several/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..eec4e3781
--- /dev/null
+++ b/tests/dictionaries/80family_several/dictionaries/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/80family_underscode/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_underscode/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..8d40d0f69
--- /dev/null
+++ b/tests/dictionaries/80family_underscode/dictionaries/rougail/00-base.yml
@@ -0,0 +1,3 @@
+---
+version: '1.0'
+_my_family:
diff --git a/tests/dictionaries/80family_unique/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_unique/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..de1df1b2e
--- /dev/null
+++ b/tests/dictionaries/80family_unique/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+general:
+ general:
+ my_variable: {}
+version: '1.0'
diff --git a/tests/dictionaries/80family_variable_not_same_name/dictionaries/rougail/00-base.yml b/tests/dictionaries/80family_variable_not_same_name/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1494c992a
--- /dev/null
+++ b/tests/dictionaries/80family_variable_not_same_name/dictionaries/rougail/00-base.yml
@@ -0,0 +1,2 @@
+general: {}
+version: '1.0'
diff --git a/tests/dictionaries/80familyaction_accent/dictionaries/extra/00-base.yml b/tests/dictionaries/80familyaction_accent/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..2ccc3ff50
--- /dev/null
+++ b/tests/dictionaries/80familyaction_accent/dictionaries/extra/00-base.yml
@@ -0,0 +1,6 @@
+test:
+ delay:
+ type: number
+ description: délai en minutes avant lancement
+ default: 0
+version: '1.0'
diff --git a/tests/dictionaries/80familyaction_accent/dictionaries/rougail/00-base.yml b/tests/dictionaries/80familyaction_accent/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0c0c9bc69
--- /dev/null
+++ b/tests/dictionaries/80familyaction_accent/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+général:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80file_group_wrong_type/dictionaries/rougail/00-base.yml b/tests/dictionaries/80file_group_wrong_type/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..2f570f39e
--- /dev/null
+++ b/tests/dictionaries/80file_group_wrong_type/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+group:
+ type: string
+ default: nobody
+version: '1.0'
diff --git a/tests/dictionaries/80file_group_wrong_type/dictionaries/services/00-base.yml b/tests/dictionaries/80file_group_wrong_type/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..9c28101bc
--- /dev/null
+++ b/tests/dictionaries/80file_group_wrong_type/dictionaries/services/00-base.yml
@@ -0,0 +1,7 @@
+test.service:
+ files:
+ /etc/file:
+ group:
+ name: rougail.group
+ type: variable
+version: '1.0'
diff --git a/tests/dictionaries/80file_owner_wrong_type/dictionaries/rougail/00-base.yml b/tests/dictionaries/80file_owner_wrong_type/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0088a6c8a
--- /dev/null
+++ b/tests/dictionaries/80file_owner_wrong_type/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ owner:
+ type: string
+ default: nobody
+version: '1.0'
diff --git a/tests/dictionaries/80file_owner_wrong_type/dictionaries/services/00-base.yml b/tests/dictionaries/80file_owner_wrong_type/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..584dbb3b2
--- /dev/null
+++ b/tests/dictionaries/80file_owner_wrong_type/dictionaries/services/00-base.yml
@@ -0,0 +1,7 @@
+test.service:
+ files:
+ /etc/file:
+ owner:
+ name: rougail.general.owner
+ type: variable
+version: '1.0'
diff --git a/tests/dictionaries/80file_wrong_type/dictionaries/rougail/00-base.yml b/tests/dictionaries/80file_wrong_type/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f417d36e2
--- /dev/null
+++ b/tests/dictionaries/80file_wrong_type/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+file_name:
+ type: string
+ default: /etc/mailname
+version: '1.0'
diff --git a/tests/dictionaries/80file_wrong_type/dictionaries/services/00-base.yml b/tests/dictionaries/80file_wrong_type/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..efe680d12
--- /dev/null
+++ b/tests/dictionaries/80file_wrong_type/dictionaries/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ rougail.file_name:
+ source: mailname
+ type: variable
+version: '1.0'
diff --git a/tests/dictionaries/80fill_baseaccent/dictionaries/rougail/00-base.yml b/tests/dictionaries/80fill_baseaccent/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..11221492c
--- /dev/null
+++ b/tests/dictionaries/80fill_baseaccent/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+Général:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.Général.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80fill_error/dictionaries/rougail/00-base.yml b/tests/dictionaries/80fill_error/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..abcb1c8ae
--- /dev/null
+++ b/tests/dictionaries/80fill_error/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "valeur2" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/80fill_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/80fill_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..923ad537e
--- /dev/null
+++ b/tests/dictionaries/80fill_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "mode_conteneur_actif1" | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80fill_not_exists/dictionaries/rougail/00-base.yml b/tests/dictionaries/80fill_not_exists/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..eae9f060f
--- /dev/null
+++ b/tests/dictionaries/80fill_not_exists/dictionaries/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ __mode_conteneur_actif4 | calc_val(rougail.general.mode_conteneur_actif1,
+ __mode_conteneur_actif3) }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80fill_option/dictionaries/rougail/00-base.yml b/tests/dictionaries/80fill_option/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ab500946e
--- /dev/null
+++ b/tests/dictionaries/80fill_option/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80fill_unknown_function/dictionaries/rougail/00-base.yml b/tests/dictionaries/80fill_unknown_function/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..a925aa74f
--- /dev/null
+++ b/tests/dictionaries/80fill_unknown_function/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | unknown_function }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80frozenifin_unknown/dictionaries/rougail/00-base.yml b/tests/dictionaries/80frozenifin_unknown/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..8e3369342
--- /dev/null
+++ b/tests/dictionaries/80frozenifin_unknown/dictionaries/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: enumvar
+ help: bla bla bla
+ default: 1
+ choices:
+ - 1
+ - 2
+ - 3
+ test_variable:
+ type: number
+ description: test variable
+ hidden:
+ type: jinja
+ jinja: '{% if __condition == "4" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/80hidden_if_in_dynamic/dictionaries/rougail/00-base.yml b/tests/dictionaries/80hidden_if_in_dynamic/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f521d0fbc
--- /dev/null
+++ b/tests/dictionaries/80hidden_if_in_dynamic/dictionaries/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default: val
+new:
+ newvar:
+ type: string
+ description: No change
+ hidden:
+ type: jinja
+ jinja: '{% if __vardynval1 == "non" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/80hidden_if_in_filelist/dictionaries/rougail/00-base.yml b/tests/dictionaries/80hidden_if_in_filelist/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..b7524fed1
--- /dev/null
+++ b/tests/dictionaries/80hidden_if_in_filelist/dictionaries/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80hidden_if_in_filelist/dictionaries/services/00-base.yml b/tests/dictionaries/80hidden_if_in_filelist/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..f17b0d641
--- /dev/null
+++ b/tests/dictionaries/80hidden_if_in_filelist/dictionaries/services/00-base.yml
@@ -0,0 +1,7 @@
+test.service:
+ files:
+ /tmp/file1:
+ hidden:
+ type: jinja
+ jinja: '{% if __activer_clam == "non" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries/80leadership_accent/dictionaries/rougail/00-base.yml b/tests/dictionaries/80leadership_accent/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..dcbccaaa9
--- /dev/null
+++ b/tests/dictionaries/80leadership_accent/dictionaries/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ multi: true
+ Followér1:
+ type: string
+ Followér2:
+ type: string
+version: '1.0'
diff --git a/tests/dictionaries/80leadership_accent_leader/dictionaries/rougail/00-base.yml b/tests/dictionaries/80leadership_accent_leader/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..402446108
--- /dev/null
+++ b/tests/dictionaries/80leadership_accent_leader/dictionaries/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ Léader:
+ description: Léader
+ type: leadership
+ Léader:
+ type: string
+ multi: true
+ follower1:
+ type: string
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.Léader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/80leadership_auto_save/dictionaries/rougail/00-base.yml b/tests/dictionaries/80leadership_auto_save/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6ccabd449
--- /dev/null
+++ b/tests/dictionaries/80leadership_auto_save/dictionaries/rougail/00-base.yml
@@ -0,0 +1,28 @@
+server_deployed:
+ type: boolean
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ auto_save: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/80leadership_autofreeze/dictionaries/rougail/00-base.yml b/tests/dictionaries/80leadership_autofreeze/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..f0d42aa95
--- /dev/null
+++ b/tests/dictionaries/80leadership_autofreeze/dictionaries/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ server_deployed:
+ type: boolean
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ description: leader
+ multi: true
+ follower1:
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/80leadership_familyaccent/dictionaries/rougail/00-base.yml b/tests/dictionaries/80leadership_familyaccent/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..fa1e077c2
--- /dev/null
+++ b/tests/dictionaries/80leadership_familyaccent/dictionaries/rougail/00-base.yml
@@ -0,0 +1,25 @@
+Général:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.Général.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/80leadership_leader_not_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/80leadership_leader_not_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c667a2ae5
--- /dev/null
+++ b/tests/dictionaries/80leadership_leader_not_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/80leadership_mandatoryfollower_multi_value/dictionaries/rougail/00-base.yml b/tests/dictionaries/80leadership_mandatoryfollower_multi_value/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..cd9853c4e
--- /dev/null
+++ b/tests/dictionaries/80leadership_mandatoryfollower_multi_value/dictionaries/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+ nut_monitor_netmask:
+ description: Masque de l'IP du réseau de l'esclave
+ type: leadership
+ nut_monitor_netmask:
+ type: netmask
+ description: Masque de l'IP du réseau de l'esclave
+ multi: true
+ nut_monitor_host:
+ type: network
+ description: Adresse IP du réseau de l'esclave
+ mandatory: true
+ default:
+ - 192.168.0.0
+ - 192.168.1.0
+version: '1.0'
diff --git a/tests/dictionaries/80leadership_subfamily/dictionaries/rougail/00-base.yml b/tests/dictionaries/80leadership_subfamily/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..322ed06b7
--- /dev/null
+++ b/tests/dictionaries/80leadership_subfamily/dictionaries/rougail/00-base.yml
@@ -0,0 +1,11 @@
+version: '1.0'
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: family
diff --git a/tests/dictionaries/80load_autofreeze_no_variable/dictionaries/rougail/00-base.yml b/tests/dictionaries/80load_autofreeze_no_variable/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..a79558e9e
--- /dev/null
+++ b/tests/dictionaries/80load_autofreeze_no_variable/dictionaries/rougail/00-base.yml
@@ -0,0 +1,3 @@
+myvar:
+ default: 'no'
+version: '1.0'
diff --git a/tests/dictionaries/80load_disabled_if_inaccent_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/80load_disabled_if_inaccent_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..3edeea471
--- /dev/null
+++ b/tests/dictionaries/80load_disabled_if_inaccent_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,32 @@
+Général:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.Général.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.Général.condition == "oui" %}true{% else %}false{% endif
+ %}'
+Général2:
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.Général.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/80load_emptyvalue/dictionaries/rougail/00-base.yml b/tests/dictionaries/80load_emptyvalue/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..601dd0138
--- /dev/null
+++ b/tests/dictionaries/80load_emptyvalue/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries/80load_leadership_normalize_family/dictionaries/rougail/00-base.yml b/tests/dictionaries/80load_leadership_normalize_family/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1646e3575
--- /dev/null
+++ b/tests/dictionaries/80load_leadership_normalize_family/dictionaries/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general-1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/80load_leadership_normalize_family/dictionaries/rougail/01-base.yml b/tests/dictionaries/80load_leadership_normalize_family/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..82fe13f56
--- /dev/null
+++ b/tests/dictionaries/80load_leadership_normalize_family/dictionaries/rougail/01-base.yml
@@ -0,0 +1,5 @@
+general-1:
+ leader:
+ redefine: true
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries/80mode_conflict/dictionaries/rougail/00-base.yml b/tests/dictionaries/80mode_conflict/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..c6cbcd7ce
--- /dev/null
+++ b/tests/dictionaries/80mode_conflict/dictionaries/rougail/00-base.yml
@@ -0,0 +1,10 @@
+server_deployed:
+ type: boolean
+general:
+ mode: normal
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ mode: expert
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80mode_leadership_conflict/dictionaries/rougail/00-base.yml b/tests/dictionaries/80mode_leadership_conflict/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1cf65776a
--- /dev/null
+++ b/tests/dictionaries/80mode_leadership_conflict/dictionaries/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+leadermode:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_list }}'
+ follower1:
+ type: string
+ description: follower1
+ mode: normal
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries/80multi_family_mode_conflict/dictionaries/rougail/00-base.yml b/tests/dictionaries/80multi_family_mode_conflict/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ca32826b0
--- /dev/null
+++ b/tests/dictionaries/80multi_family_mode_conflict/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+base:
+ mode: expert
+ subfamily:
+ variable:
+ mode: basic
+version: '1.0'
diff --git a/tests/dictionaries/80nil_with_value/dictionaries/rougail/00-base.yml b/tests/dictionaries/80nil_with_value/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..70b006087
--- /dev/null
+++ b/tests/dictionaries/80nil_with_value/dictionaries/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == null %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == null %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries/80no_leadership_index/dictionaries/rougail/00-base.yml b/tests/dictionaries/80no_leadership_index/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..08a03ce39
--- /dev/null
+++ b/tests/dictionaries/80no_leadership_index/dictionaries/rougail/00-base.yml
@@ -0,0 +1,8 @@
+my_variable:
+ default:
+ type: jinja
+ jinja: '{{ __index | calc_val }}'
+ params:
+ __index:
+ type: index
+version: '1.0'
diff --git a/tests/dictionaries/80override_twice/dictionaries/rougail/00-base.yml b/tests/dictionaries/80override_twice/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6522280e9
--- /dev/null
+++ b/tests/dictionaries/80override_twice/dictionaries/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80override_twice/dictionaries/services/00-base.yml b/tests/dictionaries/80override_twice/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..77725cdaa
--- /dev/null
+++ b/tests/dictionaries/80override_twice/dictionaries/services/00-base.yml
@@ -0,0 +1,3 @@
+test.service:
+ override: null
+version: '1.0'
diff --git a/tests/dictionaries/80redefine_double_error/dictionaries/rougail/00-base.yml b/tests/dictionaries/80redefine_double_error/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..da1ea3c58
--- /dev/null
+++ b/tests/dictionaries/80redefine_double_error/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80redefine_double_error/dictionaries/rougail/01-base.yml b/tests/dictionaries/80redefine_double_error/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..7c59b7f2b
--- /dev/null
+++ b/tests/dictionaries/80redefine_double_error/dictionaries/rougail/01-base.yml
@@ -0,0 +1,4 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+version: '1.0'
diff --git a/tests/dictionaries/80redefine_double_error/dictionaries/rougail/02-base.yml b/tests/dictionaries/80redefine_double_error/dictionaries/rougail/02-base.yml
new file mode 100644
index 000000000..7fbcd3a39
--- /dev/null
+++ b/tests/dictionaries/80redefine_double_error/dictionaries/rougail/02-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ type: string
+version: '1.0'
diff --git a/tests/dictionaries/80redefine_error/dictionaries/rougail/00-base.yml b/tests/dictionaries/80redefine_error/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..da1ea3c58
--- /dev/null
+++ b/tests/dictionaries/80redefine_error/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80redefine_error/dictionaries/rougail/01-redefine.yml b/tests/dictionaries/80redefine_error/dictionaries/rougail/01-redefine.yml
new file mode 100644
index 000000000..da1ea3c58
--- /dev/null
+++ b/tests/dictionaries/80redefine_error/dictionaries/rougail/01-redefine.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80redefine_fillerror/dictionaries/rougail/00-base.yml b/tests/dictionaries/80redefine_fillerror/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..70007ac9f
--- /dev/null
+++ b/tests/dictionaries/80redefine_fillerror/dictionaries/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "valeur" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries/80redefine_notexists/dictionaries/rougail/00-base.yml b/tests/dictionaries/80redefine_notexists/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..da1ea3c58
--- /dev/null
+++ b/tests/dictionaries/80redefine_notexists/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80redefine_notexists/dictionaries/rougail/01-redefine.yml b/tests/dictionaries/80redefine_notexists/dictionaries/rougail/01-redefine.yml
new file mode 100644
index 000000000..ee8a2b9d1
--- /dev/null
+++ b/tests/dictionaries/80redefine_notexists/dictionaries/rougail/01-redefine.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif1:
+ redefine: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80redefine_type/dictionaries/rougail/00-base.yml b/tests/dictionaries/80redefine_type/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..da1ea3c58
--- /dev/null
+++ b/tests/dictionaries/80redefine_type/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80redefine_type/dictionaries/rougail/01-redefine.yml b/tests/dictionaries/80redefine_type/dictionaries/rougail/01-redefine.yml
new file mode 100644
index 000000000..58125ae27
--- /dev/null
+++ b/tests/dictionaries/80redefine_type/dictionaries/rougail/01-redefine.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ type: number
+version: '1.0'
diff --git a/tests/dictionaries/80remove_fill_no_fill/dictionaries/rougail/00-base.yml b/tests/dictionaries/80remove_fill_no_fill/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..9d415e2b0
--- /dev/null
+++ b/tests/dictionaries/80remove_fill_no_fill/dictionaries/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80remove_fill_no_fill/dictionaries/rougail/01-base.yml b/tests/dictionaries/80remove_fill_no_fill/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..7c59b7f2b
--- /dev/null
+++ b/tests/dictionaries/80remove_fill_no_fill/dictionaries/rougail/01-base.yml
@@ -0,0 +1,4 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+version: '1.0'
diff --git a/tests/dictionaries/80service_not_managed_overrides/dictionaries/rougail/00-base.yml b/tests/dictionaries/80service_not_managed_overrides/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0a95c96ec
--- /dev/null
+++ b/tests/dictionaries/80service_not_managed_overrides/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+var:
+ type: string
+ default: mailname
+version: '1.0'
diff --git a/tests/dictionaries/80service_not_managed_overrides/dictionaries/services/00-base.yml b/tests/dictionaries/80service_not_managed_overrides/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..77725cdaa
--- /dev/null
+++ b/tests/dictionaries/80service_not_managed_overrides/dictionaries/services/00-base.yml
@@ -0,0 +1,3 @@
+test.service:
+ override: null
+version: '1.0'
diff --git a/tests/dictionaries/80services_ip_cidr_netmask/dictionaries/rougail/00-base.yml b/tests/dictionaries/80services_ip_cidr_netmask/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0fd12041c
--- /dev/null
+++ b/tests/dictionaries/80services_ip_cidr_netmask/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+nut_monitor_host:
+ type: network_cidr
+ mandatory: true
+nut_monitor_netmask:
+ type: netmask
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries/80services_ip_cidr_netmask/dictionaries/services/00-base.yml b/tests/dictionaries/80services_ip_cidr_netmask/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..b59853812
--- /dev/null
+++ b/tests/dictionaries/80services_ip_cidr_netmask/dictionaries/services/00-base.yml
@@ -0,0 +1,6 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host:
+ ip_type: variable
+ netmask: rougail.nut_monitor_netmask
+version: '1.0'
diff --git a/tests/dictionaries/80services_ip_netmask/dictionaries/rougail/00-base.yml b/tests/dictionaries/80services_ip_netmask/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..3783759a8
--- /dev/null
+++ b/tests/dictionaries/80services_ip_netmask/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+nut_monitor_host:
+ type: ip
+ mandatory: true
+nut_monitor_netmask:
+ type: netmask
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries/80services_ip_netmask/dictionaries/services/00-base.yml b/tests/dictionaries/80services_ip_netmask/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..a57e6c9bb
--- /dev/null
+++ b/tests/dictionaries/80services_ip_netmask/dictionaries/services/00-base.yml
@@ -0,0 +1,5 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host:
+ netmask: rougail.nut_monitor_netmask
+version: '1.0'
diff --git a/tests/dictionaries/80services_ip_network_no_netmask/dictionaries/rougail/00-base.yml b/tests/dictionaries/80services_ip_network_no_netmask/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..781438de0
--- /dev/null
+++ b/tests/dictionaries/80services_ip_network_no_netmask/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+nut_monitor_host:
+ type: network
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries/80services_ip_network_no_netmask/dictionaries/services/00-base.yml b/tests/dictionaries/80services_ip_network_no_netmask/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..8637277cc
--- /dev/null
+++ b/tests/dictionaries/80services_ip_network_no_netmask/dictionaries/services/00-base.yml
@@ -0,0 +1,4 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host: {}
+version: '1.0'
diff --git a/tests/dictionaries/80services_ip_not_netmask/dictionaries/rougail/00-base.yml b/tests/dictionaries/80services_ip_not_netmask/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ba88b2e88
--- /dev/null
+++ b/tests/dictionaries/80services_ip_not_netmask/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+nut_monitor_host:
+ type: network
+ mandatory: true
+nut_monitor_netmask:
+ type: ip
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries/80services_ip_not_netmask/dictionaries/services/00-base.yml b/tests/dictionaries/80services_ip_not_netmask/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..a57e6c9bb
--- /dev/null
+++ b/tests/dictionaries/80services_ip_not_netmask/dictionaries/services/00-base.yml
@@ -0,0 +1,5 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host:
+ netmask: rougail.nut_monitor_netmask
+version: '1.0'
diff --git a/tests/dictionaries/80services_ip_wrong_type/dictionaries/rougail/00-base.yml b/tests/dictionaries/80services_ip_wrong_type/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..df6453685
--- /dev/null
+++ b/tests/dictionaries/80services_ip_wrong_type/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+nut_monitor_host:
+ type: string
+ mandatory: true
+ default: 192.168.0.1
+version: '1.0'
diff --git a/tests/dictionaries/80services_ip_wrong_type/dictionaries/services/00-base.yml b/tests/dictionaries/80services_ip_wrong_type/dictionaries/services/00-base.yml
new file mode 100644
index 000000000..8637277cc
--- /dev/null
+++ b/tests/dictionaries/80services_ip_wrong_type/dictionaries/services/00-base.yml
@@ -0,0 +1,4 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host: {}
+version: '1.0'
diff --git a/tests/dictionaries/80target_list_unknown/dictionaries/rougail/00-base.yml b/tests/dictionaries/80target_list_unknown/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..5b42c2211
--- /dev/null
+++ b/tests/dictionaries/80target_list_unknown/dictionaries/rougail/00-base.yml
@@ -0,0 +1,3 @@
+condition:
+ type: boolean
+version: '1.0'
diff --git a/tests/dictionaries/80unknown_type/dictionaries/rougail/00-base.yml b/tests/dictionaries/80unknown_type/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..513cec78f
--- /dev/null
+++ b/tests/dictionaries/80unknown_type/dictionaries/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ type: unknown
+ description: Description
+version: '1.0'
diff --git a/tests/dictionaries/80valid_entier_invalid_param/dictionaries/rougail/00-base.yml b/tests/dictionaries/80valid_entier_invalid_param/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0f8e94bec
--- /dev/null
+++ b/tests/dictionaries/80valid_entier_invalid_param/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_entier(unknown=0) }}'
+version: '1.0'
diff --git a/tests/dictionaries/80valid_entier_not_number/dictionaries/rougail/00-base.yml b/tests/dictionaries/80valid_entier_not_number/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..24905a878
--- /dev/null
+++ b/tests/dictionaries/80valid_entier_not_number/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_entier(mini="0", maxi=100) }}'
+version: '1.0'
diff --git a/tests/dictionaries/80valid_entier_without_param/dictionaries/rougail/00-base.yml b/tests/dictionaries/80valid_entier_without_param/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..1076a346f
--- /dev/null
+++ b/tests/dictionaries/80valid_entier_without_param/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_entier }}'
+version: '1.0'
diff --git a/tests/dictionaries/80valid_enum_multi_param/dictionaries/rougail/00-base.yml b/tests/dictionaries/80valid_enum_multi_param/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..4d4168dff
--- /dev/null
+++ b/tests/dictionaries/80valid_enum_multi_param/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode_conteneur_actif:
+ type: choice
+ description: No change
+ default: a
+ choices:
+ - type: variable
+ variable: rougail.general.var
+ - d
+ var:
+ type: string
+ description: New variable
+ multi: true
+ default:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/80valid_enum_multi_variable/dictionaries/rougail/00-base.yml b/tests/dictionaries/80valid_enum_multi_variable/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..47544b8a5
--- /dev/null
+++ b/tests/dictionaries/80valid_enum_multi_variable/dictionaries/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: choice
+ description: No change
+ default: a
+ choices:
+ - type: variable
+ variable: rougail.general.var
+ - type: variable
+ variable: rougail.general.var2
+ var:
+ type: string
+ description: New variable
+ multi: true
+ default:
+ - a
+ - b
+ - c
+ var2:
+ type: string
+ description: New variable
+ multi: true
+ default:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/80valid_enum_no_choice/dictionaries/rougail/00-base.yml b/tests/dictionaries/80valid_enum_no_choice/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..6c7181863
--- /dev/null
+++ b/tests/dictionaries/80valid_enum_no_choice/dictionaries/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: c
+version: '1.0'
diff --git a/tests/dictionaries/80valid_enum_none_multi_variable/dictionaries/rougail/00-base.yml b/tests/dictionaries/80valid_enum_none_multi_variable/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..908a8cdad
--- /dev/null
+++ b/tests/dictionaries/80valid_enum_none_multi_variable/dictionaries/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: choice
+ description: No change
+ default: a
+ choices:
+ - type: variable
+ variable: rougail.general.var
+ var:
+ type: string
+ description: New variable
+ default: a
+version: '1.0'
diff --git a/tests/dictionaries/80valid_enum_not_choice/dictionaries/rougail/00-base.yml b/tests/dictionaries/80valid_enum_not_choice/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..e2c597d60
--- /dev/null
+++ b/tests/dictionaries/80valid_enum_not_choice/dictionaries/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: string
+ description: multi
+ help: bla bla bla
+ default: c
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries/80value_not_multi/dictionaries/rougail/00-base.yml b/tests/dictionaries/80value_not_multi/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..505d9a58f
--- /dev/null
+++ b/tests/dictionaries/80value_not_multi/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+nut_monitor_host:
+ type: ip
+ mandatory: true
+ default:
+ - 192.168.0.1
+ - 192.168.0.2
+version: '1.0'
diff --git a/tests/dictionaries/80variable_accent/dictionaries/rougail/00-base.yml b/tests/dictionaries/80variable_accent/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..5f8611896
--- /dev/null
+++ b/tests/dictionaries/80variable_accent/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ variableAccenté:
+ type: string
+ description: No change
+ default: non
+Other:
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80variable_accent/dictionaries/rougail/01-base.yml b/tests/dictionaries/80variable_accent/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..d50b486ea
--- /dev/null
+++ b/tests/dictionaries/80variable_accent/dictionaries/rougail/01-base.yml
@@ -0,0 +1,7 @@
+Général:
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80variable_accent/dictionaries/rougail/02-base.yml b/tests/dictionaries/80variable_accent/dictionaries/rougail/02-base.yml
new file mode 100644
index 000000000..bce32b41b
--- /dev/null
+++ b/tests/dictionaries/80variable_accent/dictionaries/rougail/02-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/80variable_extra/dictionaries/extra/00-base.yml b/tests/dictionaries/80variable_extra/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..992946427
--- /dev/null
+++ b/tests/dictionaries/80variable_extra/dictionaries/extra/00-base.yml
@@ -0,0 +1,2 @@
+day: {}
+version: '1.0'
diff --git a/tests/dictionaries/80variable_extra/dictionaries/rougail/00-base.yml b/tests/dictionaries/80variable_extra/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..86179e740
--- /dev/null
+++ b/tests/dictionaries/80variable_extra/dictionaries/rougail/00-base.yml
@@ -0,0 +1,2 @@
+extra: {}
+version: '1.0'
diff --git a/tests/dictionaries/80variable_family_not_same_name/dictionaries/rougail/00-base.yml b/tests/dictionaries/80variable_family_not_same_name/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..0ef61971f
--- /dev/null
+++ b/tests/dictionaries/80variable_family_not_same_name/dictionaries/rougail/00-base.yml
@@ -0,0 +1,3 @@
+general:
+ my_variable2: {}
+version: '1.0'
diff --git a/tests/dictionaries/80variable_rougail/dictionaries/rougail/00-base.yml b/tests/dictionaries/80variable_rougail/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ba1c34b83
--- /dev/null
+++ b/tests/dictionaries/80variable_rougail/dictionaries/rougail/00-base.yml
@@ -0,0 +1,2 @@
+rougail: {}
+version: '1.0'
diff --git a/tests/dictionaries/80variable_underscode/dictionaries/rougail/00-base.yml b/tests/dictionaries/80variable_underscode/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..9705ba416
--- /dev/null
+++ b/tests/dictionaries/80variable_underscode/dictionaries/rougail/00-base.yml
@@ -0,0 +1,4 @@
+---
+version: '1.0'
+_my_variable:
+ type: string
diff --git a/tests/dictionaries/80variable_up/dictionaries/rougail/00-base.yml b/tests/dictionaries/80variable_up/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..7a748e339
--- /dev/null
+++ b/tests/dictionaries/80variable_up/dictionaries/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ variableAccent:
+ type: string
+ description: No change
+ default: non
+Other:
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/81extra_externalspace/dictionaries/extra/00-base.yml b/tests/dictionaries/81extra_externalspace/dictionaries/extra/00-base.yml
new file mode 100644
index 000000000..47d02767d
--- /dev/null
+++ b/tests/dictionaries/81extra_externalspace/dictionaries/extra/00-base.yml
@@ -0,0 +1,21 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default: none
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries/81extra_externalspace/dictionaries/extra1/00-base.yml b/tests/dictionaries/81extra_externalspace/dictionaries/extra1/00-base.yml
new file mode 100644
index 000000000..aedf01921
--- /dev/null
+++ b/tests/dictionaries/81extra_externalspace/dictionaries/extra1/00-base.yml
@@ -0,0 +1,5 @@
+external:
+ description:
+ type: string
+ default: test
+version: '1.0'
diff --git a/tests/dictionaries/81extra_externalspace/dictionaries/rougail/00-base.yml b/tests/dictionaries/81extra_externalspace/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..7978196cd
--- /dev/null
+++ b/tests/dictionaries/81extra_externalspace/dictionaries/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries/88remove_choice_not_choice/dictionaries/rougail/00-base.yml b/tests/dictionaries/88remove_choice_not_choice/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..552b83f33
--- /dev/null
+++ b/tests/dictionaries/88remove_choice_not_choice/dictionaries/rougail/00-base.yml
@@ -0,0 +1,3 @@
+enumvar:
+ type: string
+version: '1.0'
diff --git a/tests/dictionaries/88remove_choice_not_choice/dictionaries/rougail/01-base.yml b/tests/dictionaries/88remove_choice_not_choice/dictionaries/rougail/01-base.yml
new file mode 100644
index 000000000..b1ec9a764
--- /dev/null
+++ b/tests/dictionaries/88remove_choice_not_choice/dictionaries/rougail/01-base.yml
@@ -0,0 +1,4 @@
+enumvar:
+ redefine: true
+ choices: null
+version: '1.0'
diff --git a/tests/dictionaries/88valid_enum_invalid_default/dictionaries/rougail/00-base.yml b/tests/dictionaries/88valid_enum_invalid_default/dictionaries/rougail/00-base.yml
new file mode 100644
index 000000000..ad21ba135
--- /dev/null
+++ b/tests/dictionaries/88valid_enum_invalid_default/dictionaries/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: enumvar
+ default: a
+ choices:
+ - '1'
+ - '2'
+ - '3'
+version: '1.0'
diff --git a/tests/dictionaries_old/00empty/00_base.xml b/tests/dictionaries_old/00empty/00_base.xml
deleted file mode 100644
index 78227d6fc..000000000
--- a/tests/dictionaries_old/00empty/00_base.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/00empty/makedict/after.json b/tests/dictionaries_old/00empty/makedict/after.json
index fd94145f9..9cd2d3dde 100644
--- a/tests/dictionaries_old/00empty/makedict/after.json
+++ b/tests/dictionaries_old/00empty/makedict/after.json
@@ -1,9 +1,9 @@
{
- "services.tata.activate": {
+ "services.tata_service.activate": {
"owner": "default",
"value": true
},
- "services.tata.manage": {
+ "services.tata_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/00empty/makedict/base.json b/tests/dictionaries_old/00empty/makedict/base.json
index df4366ea1..2bcec6972 100644
--- a/tests/dictionaries_old/00empty/makedict/base.json
+++ b/tests/dictionaries_old/00empty/makedict/base.json
@@ -1,4 +1,4 @@
{
- "services.tata.activate": true,
- "services.tata.manage": true
+ "services.tata_service.activate": true,
+ "services.tata_service.manage": true
}
diff --git a/tests/dictionaries_old/00empty/makedict/before.json b/tests/dictionaries_old/00empty/makedict/before.json
index fd94145f9..9cd2d3dde 100644
--- a/tests/dictionaries_old/00empty/makedict/before.json
+++ b/tests/dictionaries_old/00empty/makedict/before.json
@@ -1,9 +1,9 @@
{
- "services.tata.activate": {
+ "services.tata_service.activate": {
"owner": "default",
"value": true
},
- "services.tata.manage": {
+ "services.tata_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/00empty/result/services/00_base.yml b/tests/dictionaries_old/00empty/result/services/00_base.yml
new file mode 100644
index 000000000..c68a20606
--- /dev/null
+++ b/tests/dictionaries_old/00empty/result/services/00_base.yml
@@ -0,0 +1,2 @@
+tata.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/00empty/tiramisu/base.py b/tests/dictionaries_old/00empty/tiramisu/base.py
index b91f13551..652389f75 100644
--- a/tests/dictionaries_old/00empty/tiramisu/base.py
+++ b/tests/dictionaries_old/00empty/tiramisu/base.py
@@ -1,18 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = BoolOption(name="activate", doc="activate", default=True)
option_4 = BoolOption(name="manage", doc="manage", default=True)
-option_2 = OptionDescription(name="tata", doc="tata", children=[option_3, option_4])
-option_1 = OptionDescription(name="services", doc="services", children=[option_2], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="tata_service", doc="tata_service", children=[option_3, option_4])
+optiondescription_2.impl_set_information('type', "service")
+optiondescription_1 = OptionDescription(name="services", doc="services", children=[optiondescription_2], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/00empty/tiramisu/multi.py b/tests/dictionaries_old/00empty/tiramisu/multi.py
new file mode 100644
index 000000000..8a3dd5d53
--- /dev/null
+++ b/tests/dictionaries_old/00empty/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = BoolOption(name="activate", doc="activate", default=True)
+option_2 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="tata_service", doc="tata.service", children=[option_1, option_2])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_3 = BoolOption(name="activate", doc="activate", default=True)
+option_4 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_10 = OptionDescription(name="tata_service", doc="tata.service", children=[option_3, option_4])
+optiondescription_10.impl_set_information('type', "service")
+optiondescription_9 = OptionDescription(name="services", doc="services", children=[optiondescription_10], properties=frozenset({"hidden"}))
+optiondescription_8 = OptionDescription(name="2", doc="2", children=[optiondescription_9])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_8])
diff --git a/tests/dictionaries_old/00empty/xml/00_base.xml b/tests/dictionaries_old/00empty/xml/00_base.xml
new file mode 100644
index 000000000..17be1b823
--- /dev/null
+++ b/tests/dictionaries_old/00empty/xml/00_base.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/00empty/yml/00_base.yml b/tests/dictionaries_old/00empty/yml/00_base.yml
new file mode 100644
index 000000000..ee6a3f5c6
--- /dev/null
+++ b/tests/dictionaries_old/00empty/yml/00_base.yml
@@ -0,0 +1,4 @@
+version: '0.10'
+services:
+- service:
+ - name: tata
diff --git a/tests/dictionaries_old/00load_autofreeze/00-base.xml b/tests/dictionaries_old/00load_autofreeze/00-base.xml
deleted file mode 100644
index 92f639a10..000000000
--- a/tests/dictionaries_old/00load_autofreeze/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- no
-
-
- False
-
-
-
diff --git a/tests/dictionaries_old/00load_autofreeze/__init__.py b/tests/dictionaries_old/00load_autofreeze/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/00load_autofreeze/makedict/after.json b/tests/dictionaries_old/00load_autofreeze/makedict/after.json
deleted file mode 100644
index 36e336b25..000000000
--- a/tests/dictionaries_old/00load_autofreeze/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.myvar": {
- "owner": "forced",
- "value": "no"
- },
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries_old/00load_autofreeze/makedict/base.json b/tests/dictionaries_old/00load_autofreeze/makedict/base.json
deleted file mode 100644
index 92b8b0109..000000000
--- a/tests/dictionaries_old/00load_autofreeze/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.myvar": "no",
- "rougail.server_deployed": false
-}
diff --git a/tests/dictionaries_old/00load_autofreeze/makedict/before.json b/tests/dictionaries_old/00load_autofreeze/makedict/before.json
deleted file mode 100644
index eaf8d2ecf..000000000
--- a/tests/dictionaries_old/00load_autofreeze/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.myvar": {
- "owner": "default",
- "value": "no"
- },
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries_old/00load_autofreeze/tiramisu/base.py b/tests/dictionaries_old/00load_autofreeze/tiramisu/base.py
deleted file mode 100644
index d9e1aeff5..000000000
--- a/tests/dictionaries_old/00load_autofreeze/tiramisu/base.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
-try:
- from tiramisu4 import *
-except:
- from tiramisu import *
-option_3 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="myvar", doc="myvar", default="no", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue(True)}))}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
diff --git a/tests/dictionaries_old/00load_autofreezeexpert/00-base.xml b/tests/dictionaries_old/00load_autofreezeexpert/00-base.xml
deleted file mode 100644
index 5c1546e2d..000000000
--- a/tests/dictionaries_old/00load_autofreezeexpert/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- no
-
-
- False
-
-
-
diff --git a/tests/dictionaries_old/00load_autofreezeexpert/__init__.py b/tests/dictionaries_old/00load_autofreezeexpert/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/00load_autofreezeexpert/makedict/after.json b/tests/dictionaries_old/00load_autofreezeexpert/makedict/after.json
deleted file mode 100644
index 1082f86ab..000000000
--- a/tests/dictionaries_old/00load_autofreezeexpert/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.my_var": {
- "owner": "forced",
- "value": "no"
- },
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries_old/00load_autofreezeexpert/makedict/base.json b/tests/dictionaries_old/00load_autofreezeexpert/makedict/base.json
deleted file mode 100644
index 911baaaeb..000000000
--- a/tests/dictionaries_old/00load_autofreezeexpert/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.my_var": "no",
- "rougail.server_deployed": false
-}
diff --git a/tests/dictionaries_old/00load_autofreezeexpert/makedict/before.json b/tests/dictionaries_old/00load_autofreezeexpert/makedict/before.json
deleted file mode 100644
index 7c8f380b7..000000000
--- a/tests/dictionaries_old/00load_autofreezeexpert/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.my_var": {
- "owner": "default",
- "value": "no"
- },
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- }
-}
diff --git a/tests/dictionaries_old/00load_autofreezeexpert/tiramisu/base.py b/tests/dictionaries_old/00load_autofreezeexpert/tiramisu/base.py
deleted file mode 100644
index b742e378b..000000000
--- a/tests/dictionaries_old/00load_autofreezeexpert/tiramisu/base.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
-try:
- from tiramisu4 import *
-except:
- from tiramisu import *
-option_3 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"expert", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue(True)}))}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
diff --git a/tests/dictionaries_old/00load_autosave/00-base.xml b/tests/dictionaries_old/00load_autosave/00-base.xml
deleted file mode 100644
index 647c823d7..000000000
--- a/tests/dictionaries_old/00load_autosave/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/00load_autosave/result/rougail/00-base.yml b/tests/dictionaries_old/00load_autosave/result/rougail/00-base.yml
new file mode 100644
index 000000000..d0c8eeb01
--- /dev/null
+++ b/tests/dictionaries_old/00load_autosave/result/rougail/00-base.yml
@@ -0,0 +1,10 @@
+server_deployed:
+ type: boolean
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ auto_save: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/00load_autosave/tiramisu/base.py b/tests/dictionaries_old/00load_autosave/tiramisu/base.py
index 6f6f426e6..a04e599f0 100644
--- a/tests/dictionaries_old/00load_autosave/tiramisu/base.py
+++ b/tests/dictionaries_old/00load_autosave/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"basic", "force_store_value", "mandatory"}))
-option_3 = OptionDescription(name="general", doc="général", children=[option_4], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_3 = OptionDescription(name="general", doc="général", children=[option_4], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00load_autosave/tiramisu/multi.py b/tests/dictionaries_old/00load_autosave/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/00load_autosave/tiramisu/multi.py
rename to tests/dictionaries_old/00load_autosave/tiramisu/multi.py
diff --git a/tests/dictionaries/00load_autosave/xml/00-base.xml b/tests/dictionaries_old/00load_autosave/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/00load_autosave/xml/00-base.xml
rename to tests/dictionaries_old/00load_autosave/xml/00-base.xml
diff --git a/tests/dictionaries/00load_autosave/yml/00-base.yml b/tests/dictionaries_old/00load_autosave/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/00load_autosave/yml/00-base.yml
rename to tests/dictionaries_old/00load_autosave/yml/00-base.yml
diff --git a/tests/dictionaries_old/00load_autosaveexpert/00-base.xml b/tests/dictionaries_old/00load_autosaveexpert/00-base.xml
deleted file mode 100644
index 2959c5c30..000000000
--- a/tests/dictionaries_old/00load_autosaveexpert/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/00load_autosaveexpert/result/rougail/00-base.yml b/tests/dictionaries_old/00load_autosaveexpert/result/rougail/00-base.yml
new file mode 100644
index 000000000..6bed2dd57
--- /dev/null
+++ b/tests/dictionaries_old/00load_autosaveexpert/result/rougail/00-base.yml
@@ -0,0 +1,11 @@
+server_deployed:
+ type: boolean
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ auto_save: true
+ mode: expert
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/00load_autosaveexpert/tiramisu/base.py b/tests/dictionaries_old/00load_autosaveexpert/tiramisu/base.py
index 285bb10b3..9211a85b5 100644
--- a/tests/dictionaries_old/00load_autosaveexpert/tiramisu/base.py
+++ b/tests/dictionaries_old/00load_autosaveexpert/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "force_store_value", "mandatory"}))
-option_3 = OptionDescription(name="general", doc="général", children=[option_4], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_3 = OptionDescription(name="general", doc="général", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00load_autosaveexpert/tiramisu/multi.py b/tests/dictionaries_old/00load_autosaveexpert/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/00load_autosaveexpert/tiramisu/multi.py
rename to tests/dictionaries_old/00load_autosaveexpert/tiramisu/multi.py
diff --git a/tests/dictionaries/00load_autosaveexpert/xml/00-base.xml b/tests/dictionaries_old/00load_autosaveexpert/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/00load_autosaveexpert/xml/00-base.xml
rename to tests/dictionaries_old/00load_autosaveexpert/xml/00-base.xml
diff --git a/tests/dictionaries/00load_autosaveexpert/yml/00-base.yml b/tests/dictionaries_old/00load_autosaveexpert/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/00load_autosaveexpert/yml/00-base.yml
rename to tests/dictionaries_old/00load_autosaveexpert/yml/00-base.yml
diff --git a/tests/dictionaries_old/00load_comment/00-base.xml b/tests/dictionaries_old/00load_comment/00-base.xml
deleted file mode 100644
index 7ff4428fe..000000000
--- a/tests/dictionaries_old/00load_comment/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/00load_comment/result/rougail/00-base.yml b/tests/dictionaries_old/00load_comment/result/rougail/00-base.yml
new file mode 100644
index 000000000..1085cc1cc
--- /dev/null
+++ b/tests/dictionaries_old/00load_comment/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/00load_comment/tiramisu/base.py b/tests/dictionaries_old/00load_comment/tiramisu/base.py
index 90d2f6309..f60bf8c84 100644
--- a/tests/dictionaries_old/00load_comment/tiramisu/base.py
+++ b/tests/dictionaries_old/00load_comment/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00load_comment/tiramisu/multi.py b/tests/dictionaries_old/00load_comment/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/00load_comment/tiramisu/multi.py
rename to tests/dictionaries_old/00load_comment/tiramisu/multi.py
diff --git a/tests/dictionaries/00load_comment/xml/00-base.xml b/tests/dictionaries_old/00load_comment/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/00load_comment/xml/00-base.xml
rename to tests/dictionaries_old/00load_comment/xml/00-base.xml
diff --git a/tests/dictionaries/00load_comment/yml/00-base.yml b/tests/dictionaries_old/00load_comment/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/00load_comment/yml/00-base.yml
rename to tests/dictionaries_old/00load_comment/yml/00-base.yml
diff --git a/tests/dictionaries_old/00load_notype/00-base.xml b/tests/dictionaries_old/00load_notype/00-base.xml
deleted file mode 100644
index 14c82f1ca..000000000
--- a/tests/dictionaries_old/00load_notype/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/00load_notype/result/rougail/00-base.yml b/tests/dictionaries_old/00load_notype/result/rougail/00-base.yml
new file mode 100644
index 000000000..1355fc8a8
--- /dev/null
+++ b/tests/dictionaries_old/00load_notype/result/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ without_type:
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/00load_notype/tiramisu/base.py b/tests/dictionaries_old/00load_notype/tiramisu/base.py
index 77bf46518..2cafc2dcb 100644
--- a/tests/dictionaries_old/00load_notype/tiramisu/base.py
+++ b/tests/dictionaries_old/00load_notype/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_4 = StrOption(name="without_type", doc="without_type", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/00load_notype/tiramisu/multi.py b/tests/dictionaries_old/00load_notype/tiramisu/multi.py
new file mode 100644
index 000000000..e26761811
--- /dev/null
+++ b/tests/dictionaries_old/00load_notype/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="without_type", doc="without_type", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_6 = StrOption(name="without_type", doc="without_type", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="général", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/00load_notype/xml/00-base.xml b/tests/dictionaries_old/00load_notype/xml/00-base.xml
new file mode 100644
index 000000000..6594e9397
--- /dev/null
+++ b/tests/dictionaries_old/00load_notype/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/00load_notype/yml/00-base.yml b/tests/dictionaries_old/00load_notype/yml/00-base.yml
new file mode 100644
index 000000000..57dfc3a38
--- /dev/null
+++ b/tests/dictionaries_old/00load_notype/yml/00-base.yml
@@ -0,0 +1,16 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: without_type
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/00load_save/00-base.xml b/tests/dictionaries_old/00load_save/00-base.xml
deleted file mode 100644
index 849130906..000000000
--- a/tests/dictionaries_old/00load_save/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/00load_save/result/rougail/00-base.yml b/tests/dictionaries_old/00load_save/result/rougail/00-base.yml
new file mode 100644
index 000000000..1085cc1cc
--- /dev/null
+++ b/tests/dictionaries_old/00load_save/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/00load_save/tiramisu/base.py b/tests/dictionaries_old/00load_save/tiramisu/base.py
index 90d2f6309..f60bf8c84 100644
--- a/tests/dictionaries_old/00load_save/tiramisu/base.py
+++ b/tests/dictionaries_old/00load_save/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/00load_save/tiramisu/multi.py b/tests/dictionaries_old/00load_save/tiramisu/multi.py
new file mode 100644
index 000000000..6428e06da
--- /dev/null
+++ b/tests/dictionaries_old/00load_save/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="général", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/00load_save/xml/00-base.xml b/tests/dictionaries_old/00load_save/xml/00-base.xml
new file mode 100644
index 000000000..f0576995a
--- /dev/null
+++ b/tests/dictionaries_old/00load_save/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/00load_save/yml/00-base.yml b/tests/dictionaries_old/00load_save/yml/00-base.yml
new file mode 100644
index 000000000..862ba9941
--- /dev/null
+++ b/tests/dictionaries_old/00load_save/yml/00-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/00load_subfolder/99-base.xml b/tests/dictionaries_old/00load_subfolder/99-base.xml
deleted file mode 100644
index 849130906..000000000
--- a/tests/dictionaries_old/00load_subfolder/99-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/00load_subfolder/__init__.py b/tests/dictionaries_old/00load_subfolder/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/00load_subfolder/makedict/after.json b/tests/dictionaries_old/00load_subfolder/makedict/after.json
deleted file mode 100644
index 6ebfbbe96..000000000
--- a/tests/dictionaries_old/00load_subfolder/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries_old/00load_subfolder/makedict/base.json b/tests/dictionaries_old/00load_subfolder/makedict/base.json
deleted file mode 100644
index 3f1a7b004..000000000
--- a/tests/dictionaries_old/00load_subfolder/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "rougail.general.mode_conteneur_actif1": "non"
-}
diff --git a/tests/dictionaries_old/00load_subfolder/makedict/before.json b/tests/dictionaries_old/00load_subfolder/makedict/before.json
deleted file mode 100644
index 6ebfbbe96..000000000
--- a/tests/dictionaries_old/00load_subfolder/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.mode_conteneur_actif1": {
- "owner": "default",
- "value": "non"
- }
-}
diff --git a/tests/dictionaries_old/00load_subfolder/subfolder/00-base.xml b/tests/dictionaries_old/00load_subfolder/subfolder/00-base.xml
deleted file mode 100644
index 27c7f0b7e..000000000
--- a/tests/dictionaries_old/00load_subfolder/subfolder/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/00load_subfolder/tiramisu/base.py b/tests/dictionaries_old/00load_subfolder/tiramisu/base.py
deleted file mode 100644
index 809b77b5c..000000000
--- a/tests/dictionaries_old/00load_subfolder/tiramisu/base.py
+++ /dev/null
@@ -1,18 +0,0 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
-try:
- from tiramisu4 import *
-except:
- from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
diff --git a/tests/dictionaries_old/01auto_autofreeze/00-base.xml b/tests/dictionaries_old/01auto_autofreeze/00-base.xml
deleted file mode 100644
index db10997f7..000000000
--- a/tests/dictionaries_old/01auto_autofreeze/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- no
-
-
- no
-
-
-
-
- yes
- my_variable
-
-
-
diff --git a/tests/dictionaries_old/01auto_autofreeze/__init__.py b/tests/dictionaries_old/01auto_autofreeze/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/01auto_autofreeze/makedict/after.json b/tests/dictionaries_old/01auto_autofreeze/makedict/after.json
deleted file mode 100644
index 5c307f3b6..000000000
--- a/tests/dictionaries_old/01auto_autofreeze/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- },
- "rougail.my_variable": {
- "owner": "forced",
- "value": "yes"
- }
-}
diff --git a/tests/dictionaries_old/01auto_autofreeze/makedict/base.json b/tests/dictionaries_old/01auto_autofreeze/makedict/base.json
deleted file mode 100644
index 2ca3008f9..000000000
--- a/tests/dictionaries_old/01auto_autofreeze/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.server_deployed": false,
- "rougail.my_variable": "yes"
-}
diff --git a/tests/dictionaries_old/01auto_autofreeze/makedict/before.json b/tests/dictionaries_old/01auto_autofreeze/makedict/before.json
deleted file mode 100644
index b2905faac..000000000
--- a/tests/dictionaries_old/01auto_autofreeze/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.server_deployed": {
- "owner": "default",
- "value": false
- },
- "rougail.my_variable": {
- "owner": "default",
- "value": "yes"
- }
-}
diff --git a/tests/dictionaries_old/01auto_autofreeze/tiramisu/base.py b/tests/dictionaries_old/01auto_autofreeze/tiramisu/base.py
deleted file mode 100644
index f6fb7363f..000000000
--- a/tests/dictionaries_old/01auto_autofreeze/tiramisu/base.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
-try:
- from tiramisu4 import *
-except:
- from tiramisu import *
-option_2 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="my_variable", doc="my_variable", default=Calculation(func.calc_val, Params((ParamValue("yes")))), properties=frozenset({"basic", "force_store_value", "hidden", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, todict=True, notraisepropertyerror=True), 'expected': ParamValue(True)}))}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
diff --git a/tests/dictionaries_old/01auto_base/00-base.xml b/tests/dictionaries_old/01auto_base/00-base.xml
deleted file mode 100644
index 4db9eed37..000000000
--- a/tests/dictionaries_old/01auto_base/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/01auto_base/result/rougail/00-base.yml b/tests/dictionaries_old/01auto_base/result/rougail/00-base.yml
new file mode 100644
index 000000000..011db2f68
--- /dev/null
+++ b/tests/dictionaries_old/01auto_base/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01auto_base/tiramisu/base.py b/tests/dictionaries_old/01auto_base/tiramisu/base.py
index 27b086b6d..6249a0b86 100644
--- a/tests/dictionaries_old/01auto_base/tiramisu/base.py
+++ b/tests/dictionaries_old/01auto_base/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ rougail.general.mode_conteneur_actif1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamOption(option_4)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), 'rougail.general.mode_conteneur_actif1': ParamOption(option_4)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01auto_base/tiramisu/multi.py b/tests/dictionaries_old/01auto_base/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01auto_base/tiramisu/multi.py
rename to tests/dictionaries_old/01auto_base/tiramisu/multi.py
diff --git a/tests/dictionaries/01auto_base/xml/00-base.xml b/tests/dictionaries_old/01auto_base/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01auto_base/xml/00-base.xml
rename to tests/dictionaries_old/01auto_base/xml/00-base.xml
diff --git a/tests/dictionaries/01auto_base/yml/00-base.yml b/tests/dictionaries_old/01auto_base/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01auto_base/yml/00-base.yml
rename to tests/dictionaries_old/01auto_base/yml/00-base.yml
diff --git a/tests/dictionaries/00load_autofreeze/__init__.py b/tests/dictionaries_old/01auto_jinja_base/__init__.py
similarity index 100%
rename from tests/dictionaries/00load_autofreeze/__init__.py
rename to tests/dictionaries_old/01auto_jinja_base/__init__.py
diff --git a/tests/dictionaries/01auto_base/makedict/after.json b/tests/dictionaries_old/01auto_jinja_base/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01auto_base/makedict/after.json
rename to tests/dictionaries_old/01auto_jinja_base/makedict/after.json
diff --git a/tests/dictionaries/01auto_base/makedict/base.json b/tests/dictionaries_old/01auto_jinja_base/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01auto_base/makedict/base.json
rename to tests/dictionaries_old/01auto_jinja_base/makedict/base.json
diff --git a/tests/dictionaries/01auto_base/makedict/before.json b/tests/dictionaries_old/01auto_jinja_base/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01auto_base/makedict/before.json
rename to tests/dictionaries_old/01auto_jinja_base/makedict/before.json
diff --git a/tests/dictionaries_old/01auto_jinja_base/result/rougail/00-base.yml b/tests/dictionaries_old/01auto_jinja_base/result/rougail/00-base.yml
new file mode 100644
index 000000000..e89682f7f
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_base/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01auto_jinja_base/tiramisu/base.py b/tests/dictionaries_old/01auto_jinja_base/tiramisu/base.py
new file mode 100644
index 000000000..2f05eefab
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_base/tiramisu/base.py
@@ -0,0 +1,60 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ rougail.general.mode_conteneur_actif1 }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), 'rougail.general.mode_conteneur_actif1': ParamOption(option_4)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01auto_jinja_base/tiramisu/multi.py b/tests/dictionaries_old/01auto_jinja_base/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_base/tiramisu/multi.py
rename to tests/dictionaries_old/01auto_jinja_base/tiramisu/multi.py
diff --git a/tests/dictionaries/01auto_jinja_full_path/xml/00-base.xml b/tests/dictionaries_old/01auto_jinja_base/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01auto_jinja_full_path/xml/00-base.xml
rename to tests/dictionaries_old/01auto_jinja_base/xml/00-base.xml
diff --git a/tests/dictionaries/01auto_jinja_base/yml/00-base.yml b/tests/dictionaries_old/01auto_jinja_base/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01auto_jinja_base/yml/00-base.yml
rename to tests/dictionaries_old/01auto_jinja_base/yml/00-base.yml
diff --git a/tests/dictionaries/00load_autofreezeexpert/__init__.py b/tests/dictionaries_old/01auto_jinja_full_path/__init__.py
similarity index 100%
rename from tests/dictionaries/00load_autofreezeexpert/__init__.py
rename to tests/dictionaries_old/01auto_jinja_full_path/__init__.py
diff --git a/tests/dictionaries/01auto_jinja_base/makedict/after.json b/tests/dictionaries_old/01auto_jinja_full_path/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_base/makedict/after.json
rename to tests/dictionaries_old/01auto_jinja_full_path/makedict/after.json
diff --git a/tests/dictionaries/01auto_jinja_base/makedict/base.json b/tests/dictionaries_old/01auto_jinja_full_path/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_base/makedict/base.json
rename to tests/dictionaries_old/01auto_jinja_full_path/makedict/base.json
diff --git a/tests/dictionaries/01auto_jinja_base/makedict/before.json b/tests/dictionaries_old/01auto_jinja_full_path/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_base/makedict/before.json
rename to tests/dictionaries_old/01auto_jinja_full_path/makedict/before.json
diff --git a/tests/dictionaries_old/01auto_jinja_full_path/result/rougail/00-base.yml b/tests/dictionaries_old/01auto_jinja_full_path/result/rougail/00-base.yml
new file mode 100644
index 000000000..e89682f7f
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_full_path/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01auto_jinja_full_path/tiramisu/base.py b/tests/dictionaries_old/01auto_jinja_full_path/tiramisu/base.py
new file mode 100644
index 000000000..2f05eefab
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_full_path/tiramisu/base.py
@@ -0,0 +1,60 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ rougail.general.mode_conteneur_actif1 }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), 'rougail.general.mode_conteneur_actif1': ParamOption(option_4)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01auto_jinja_full_path/tiramisu/multi.py b/tests/dictionaries_old/01auto_jinja_full_path/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_full_path/tiramisu/multi.py
rename to tests/dictionaries_old/01auto_jinja_full_path/tiramisu/multi.py
diff --git a/tests/dictionaries_old/01auto_jinja_full_path/xml/00-base.xml b/tests/dictionaries_old/01auto_jinja_full_path/xml/00-base.xml
new file mode 100644
index 000000000..30112ff77
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_full_path/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
+
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries/01auto_jinja_full_path/yml/00-base.yml b/tests/dictionaries_old/01auto_jinja_full_path/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01auto_jinja_full_path/yml/00-base.yml
rename to tests/dictionaries_old/01auto_jinja_full_path/yml/00-base.yml
diff --git a/tests/dictionaries/00load_autosave/__init__.py b/tests/dictionaries_old/01auto_jinja_if/__init__.py
similarity index 100%
rename from tests/dictionaries/00load_autosave/__init__.py
rename to tests/dictionaries_old/01auto_jinja_if/__init__.py
diff --git a/tests/dictionaries/01auto_jinja_if/makedict/after.json b/tests/dictionaries_old/01auto_jinja_if/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if/makedict/after.json
rename to tests/dictionaries_old/01auto_jinja_if/makedict/after.json
diff --git a/tests/dictionaries/01auto_jinja_if/makedict/base.json b/tests/dictionaries_old/01auto_jinja_if/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if/makedict/base.json
rename to tests/dictionaries_old/01auto_jinja_if/makedict/base.json
diff --git a/tests/dictionaries/01auto_jinja_if/makedict/before.json b/tests/dictionaries_old/01auto_jinja_if/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if/makedict/before.json
rename to tests/dictionaries_old/01auto_jinja_if/makedict/before.json
diff --git a/tests/dictionaries_old/01auto_jinja_if/result/rougail/00-base.yml b/tests/dictionaries_old/01auto_jinja_if/result/rougail/00-base.yml
new file mode 100644
index 000000000..a8591c823
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_if/result/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{% if mode_conteneur_actif1 == ''non'' %}non{% else %}oui{% endif %}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{% if mode_conteneur_actif1 == "non" %}oui{% else %}non{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/01auto_jinja_if/tiramisu/base.py b/tests/dictionaries_old/01auto_jinja_if/tiramisu/base.py
new file mode 100644
index 000000000..e537f17e0
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_if/tiramisu/base.py
@@ -0,0 +1,62 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{% if mode_conteneur_actif1 == 'non' %}non{% else %}oui{% endif %}"
+dict_env['rougail.general.mode_conteneur_actif2'] = "{% if mode_conteneur_actif1 == \"non\" %}oui{% else %}non{% endif %}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01auto_jinja_if/tiramisu/multi.py b/tests/dictionaries_old/01auto_jinja_if/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if/tiramisu/multi.py
rename to tests/dictionaries_old/01auto_jinja_if/tiramisu/multi.py
diff --git a/tests/dictionaries/01auto_jinja_if/xml/00-base.xml b/tests/dictionaries_old/01auto_jinja_if/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if/xml/00-base.xml
rename to tests/dictionaries_old/01auto_jinja_if/xml/00-base.xml
diff --git a/tests/dictionaries/01auto_jinja_if/yml/00-base.yml b/tests/dictionaries_old/01auto_jinja_if/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if/yml/00-base.yml
rename to tests/dictionaries_old/01auto_jinja_if/yml/00-base.yml
diff --git a/tests/dictionaries/00load_autosaveexpert/__init__.py b/tests/dictionaries_old/01auto_jinja_if_bool/__init__.py
similarity index 100%
rename from tests/dictionaries/00load_autosaveexpert/__init__.py
rename to tests/dictionaries_old/01auto_jinja_if_bool/__init__.py
diff --git a/tests/dictionaries/01auto_jinja_if_bool/makedict/after.json b/tests/dictionaries_old/01auto_jinja_if_bool/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_bool/makedict/after.json
rename to tests/dictionaries_old/01auto_jinja_if_bool/makedict/after.json
diff --git a/tests/dictionaries/01auto_jinja_if_bool/makedict/base.json b/tests/dictionaries_old/01auto_jinja_if_bool/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_bool/makedict/base.json
rename to tests/dictionaries_old/01auto_jinja_if_bool/makedict/base.json
diff --git a/tests/dictionaries/01auto_jinja_if_bool/makedict/before.json b/tests/dictionaries_old/01auto_jinja_if_bool/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_bool/makedict/before.json
rename to tests/dictionaries_old/01auto_jinja_if_bool/makedict/before.json
diff --git a/tests/dictionaries_old/01auto_jinja_if_bool/result/rougail/00-base.yml b/tests/dictionaries_old/01auto_jinja_if_bool/result/rougail/00-base.yml
new file mode 100644
index 000000000..37f123850
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_if_bool/result/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ bool:
+ type: boolean
+ multi1:
+ type: boolean
+ multi: true
+ default:
+ type: jinja
+ jinja: '{% if rougail.general.bool %}True,False{% else %}False{% endif %}'
+ multi2:
+ type: boolean
+ multi: true
+ default:
+ type: jinja
+ jinja: '{% if not rougail.general.bool %}True,False{% else %}False{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/01auto_jinja_if_bool/tiramisu/base.py b/tests/dictionaries_old/01auto_jinja_if_bool/tiramisu/base.py
new file mode 100644
index 000000000..15f436cd6
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_if_bool/tiramisu/base.py
@@ -0,0 +1,62 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.multi1'] = "{% if rougail.general.bool %}True,False{% else %}False{% endif %}"
+dict_env['rougail.general.multi2'] = "{% if not rougail.general.bool %}True,False{% else %}False{% endif %}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = BoolOption(name="bool", doc="bool", default=True, properties=frozenset({"mandatory", "normal"}))
+option_4 = BoolOption(name="multi1", doc="multi1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.multi1), '__internal_type': ParamValue(boolean), '__internal_multi': ParamValue(True), 'rougail.general.bool': ParamOption(option_3)})), properties=frozenset({"normal", "notempty"}))
+option_5 = BoolOption(name="multi2", doc="multi2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.multi2), '__internal_type': ParamValue(boolean), '__internal_multi': ParamValue(True), 'rougail.general.bool': ParamOption(option_3)})), properties=frozenset({"normal", "notempty"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01auto_jinja_if_bool/tiramisu/multi.py b/tests/dictionaries_old/01auto_jinja_if_bool/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_bool/tiramisu/multi.py
rename to tests/dictionaries_old/01auto_jinja_if_bool/tiramisu/multi.py
diff --git a/tests/dictionaries_old/01auto_jinja_if_bool/xml/00-base.xml b/tests/dictionaries_old/01auto_jinja_if_bool/xml/00-base.xml
new file mode 100644
index 000000000..505940703
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_if_bool/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+ multi1
+
+
+ multi2
+
+
+
diff --git a/tests/dictionaries/01auto_jinja_if_bool/yml/00-base.yml b/tests/dictionaries_old/01auto_jinja_if_bool/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_bool/yml/00-base.yml
rename to tests/dictionaries_old/01auto_jinja_if_bool/yml/00-base.yml
diff --git a/tests/dictionaries/00load_comment/__init__.py b/tests/dictionaries_old/01auto_jinja_if_int/__init__.py
similarity index 100%
rename from tests/dictionaries/00load_comment/__init__.py
rename to tests/dictionaries_old/01auto_jinja_if_int/__init__.py
diff --git a/tests/dictionaries/01auto_jinja_if_int/makedict/after.json b/tests/dictionaries_old/01auto_jinja_if_int/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_int/makedict/after.json
rename to tests/dictionaries_old/01auto_jinja_if_int/makedict/after.json
diff --git a/tests/dictionaries/01auto_jinja_if_int/makedict/base.json b/tests/dictionaries_old/01auto_jinja_if_int/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_int/makedict/base.json
rename to tests/dictionaries_old/01auto_jinja_if_int/makedict/base.json
diff --git a/tests/dictionaries/01auto_jinja_if_int/makedict/before.json b/tests/dictionaries_old/01auto_jinja_if_int/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_int/makedict/before.json
rename to tests/dictionaries_old/01auto_jinja_if_int/makedict/before.json
diff --git a/tests/dictionaries_old/01auto_jinja_if_int/result/rougail/00-base.yml b/tests/dictionaries_old/01auto_jinja_if_int/result/rougail/00-base.yml
new file mode 100644
index 000000000..09f2bf587
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_if_int/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+bool:
+ type: boolean
+int1:
+ type: number
+ default:
+ type: jinja
+ jinja: '{% if bool %}1{% else %}2{% endif %}'
+int2:
+ type: number
+ default:
+ type: jinja
+ jinja: '{% if not bool %}3{% else %}4{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/01auto_jinja_if_int/tiramisu/base.py b/tests/dictionaries_old/01auto_jinja_if_int/tiramisu/base.py
new file mode 100644
index 000000000..1212e1a48
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_if_int/tiramisu/base.py
@@ -0,0 +1,61 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.int1'] = "{% if bool %}1{% else %}2{% endif %}"
+dict_env['rougail.int2'] = "{% if not bool %}3{% else %}4{% endif %}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_2 = BoolOption(name="bool", doc="bool", default=True, properties=frozenset({"mandatory", "normal"}))
+option_3 = IntOption(name="int1", doc="int1", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.int1), '__internal_type': ParamValue(number), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+option_4 = IntOption(name="int2", doc="int2", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.int2), '__internal_type': ParamValue(number), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01auto_jinja_if_int/tiramisu/multi.py b/tests/dictionaries_old/01auto_jinja_if_int/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_int/tiramisu/multi.py
rename to tests/dictionaries_old/01auto_jinja_if_int/tiramisu/multi.py
diff --git a/tests/dictionaries/01auto_jinja_if_int/xml/00-base.xml b/tests/dictionaries_old/01auto_jinja_if_int/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_int/xml/00-base.xml
rename to tests/dictionaries_old/01auto_jinja_if_int/xml/00-base.xml
diff --git a/tests/dictionaries/01auto_jinja_if_int/yml/00-base.yml b/tests/dictionaries_old/01auto_jinja_if_int/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_int/yml/00-base.yml
rename to tests/dictionaries_old/01auto_jinja_if_int/yml/00-base.yml
diff --git a/tests/dictionaries/01auto_autofreeze/__init__.py b/tests/dictionaries_old/01auto_jinja_set/__init__.py
similarity index 100%
rename from tests/dictionaries/01auto_autofreeze/__init__.py
rename to tests/dictionaries_old/01auto_jinja_set/__init__.py
diff --git a/tests/dictionaries/01auto_jinja_set/makedict/after.json b/tests/dictionaries_old/01auto_jinja_set/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_set/makedict/after.json
rename to tests/dictionaries_old/01auto_jinja_set/makedict/after.json
diff --git a/tests/dictionaries/01auto_jinja_set/makedict/base.json b/tests/dictionaries_old/01auto_jinja_set/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_set/makedict/base.json
rename to tests/dictionaries_old/01auto_jinja_set/makedict/base.json
diff --git a/tests/dictionaries/01auto_jinja_set/makedict/before.json b/tests/dictionaries_old/01auto_jinja_set/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01auto_jinja_set/makedict/before.json
rename to tests/dictionaries_old/01auto_jinja_set/makedict/before.json
diff --git a/tests/dictionaries_old/01auto_jinja_set/result/rougail/00-base.yml b/tests/dictionaries_old/01auto_jinja_set/result/rougail/00-base.yml
new file mode 100644
index 000000000..6bc25540e
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_set/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+bool:
+ type: boolean
+int1:
+ type: number
+ default:
+ type: jinja
+ jinja: '{%set bool1 = bool %}{% if bool1 %}1{% else %}2{% endif %}'
+int2:
+ type: number
+ default:
+ type: jinja
+ jinja: '{%set bool1 = bool %}{% if not bool1 %}3{% else %}4{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/01auto_jinja_set/tiramisu/base.py b/tests/dictionaries_old/01auto_jinja_set/tiramisu/base.py
new file mode 100644
index 000000000..e8e07bcca
--- /dev/null
+++ b/tests/dictionaries_old/01auto_jinja_set/tiramisu/base.py
@@ -0,0 +1,61 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.int1'] = "{%set bool1 = bool %}{% if bool1 %}1{% else %}2{% endif %}"
+dict_env['rougail.int2'] = "{%set bool1 = bool %}{% if not bool1 %}3{% else %}4{% endif %}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_2 = BoolOption(name="bool", doc="bool", default=True, properties=frozenset({"mandatory", "normal"}))
+option_3 = IntOption(name="int1", doc="int1", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.int1), '__internal_type': ParamValue(number), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+option_4 = IntOption(name="int2", doc="int2", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.int2), '__internal_type': ParamValue(number), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01auto_jinja_set/tiramisu/multi.py b/tests/dictionaries_old/01auto_jinja_set/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_set/tiramisu/multi.py
rename to tests/dictionaries_old/01auto_jinja_set/tiramisu/multi.py
diff --git a/tests/dictionaries/01auto_jinja_set/xml/00-base.xml b/tests/dictionaries_old/01auto_jinja_set/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01auto_jinja_set/xml/00-base.xml
rename to tests/dictionaries_old/01auto_jinja_set/xml/00-base.xml
diff --git a/tests/dictionaries/01auto_jinja_set/yml/00-base.yml b/tests/dictionaries_old/01auto_jinja_set/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01auto_jinja_set/yml/00-base.yml
rename to tests/dictionaries_old/01auto_jinja_set/yml/00-base.yml
diff --git a/tests/dictionaries_old/01auto_withoutparam/00-base.xml b/tests/dictionaries_old/01auto_withoutparam/00-base.xml
deleted file mode 100644
index 7c3468376..000000000
--- a/tests/dictionaries_old/01auto_withoutparam/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/01auto_withoutparam/result/rougail/00-base.yml b/tests/dictionaries_old/01auto_withoutparam/result/rougail/00-base.yml
new file mode 100644
index 000000000..6a7b569db
--- /dev/null
+++ b/tests/dictionaries_old/01auto_withoutparam/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ calc_val() }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01auto_withoutparam/tiramisu/base.py b/tests/dictionaries_old/01auto_withoutparam/tiramisu/base.py
index 434055916..32316eeb7 100644
--- a/tests/dictionaries_old/01auto_withoutparam/tiramisu/base.py
+++ b/tests/dictionaries_old/01auto_withoutparam/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params(())), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ calc_val() }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01auto_withoutparam/tiramisu/multi.py b/tests/dictionaries_old/01auto_withoutparam/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01auto_withoutparam/tiramisu/multi.py
rename to tests/dictionaries_old/01auto_withoutparam/tiramisu/multi.py
diff --git a/tests/dictionaries/01auto_withoutparam/xml/00-base.xml b/tests/dictionaries_old/01auto_withoutparam/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01auto_withoutparam/xml/00-base.xml
rename to tests/dictionaries_old/01auto_withoutparam/xml/00-base.xml
diff --git a/tests/dictionaries/01auto_withoutparam/yml/00-base.yml b/tests/dictionaries_old/01auto_withoutparam/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01auto_withoutparam/yml/00-base.yml
rename to tests/dictionaries_old/01auto_withoutparam/yml/00-base.yml
diff --git a/tests/dictionaries/01auto_base/__init__.py b/tests/dictionaries_old/01base_certificate_owner/__init__.py
similarity index 100%
rename from tests/dictionaries/01auto_base/__init__.py
rename to tests/dictionaries_old/01base_certificate_owner/__init__.py
diff --git a/tests/dictionaries/01base_certificate_owner/makedict/after.json b/tests/dictionaries_old/01base_certificate_owner/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner/makedict/after.json
rename to tests/dictionaries_old/01base_certificate_owner/makedict/after.json
diff --git a/tests/dictionaries/01base_certificate_owner/makedict/base.json b/tests/dictionaries_old/01base_certificate_owner/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner/makedict/base.json
rename to tests/dictionaries_old/01base_certificate_owner/makedict/base.json
diff --git a/tests/dictionaries/01base_certificate_owner/makedict/before.json b/tests/dictionaries_old/01base_certificate_owner/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner/makedict/before.json
rename to tests/dictionaries_old/01base_certificate_owner/makedict/before.json
diff --git a/tests/dictionaries_old/01base_certificate_owner/result/rougail/00-base.yml b/tests/dictionaries_old/01base_certificate_owner/result/rougail/00-base.yml
new file mode 100644
index 000000000..4b7a0ceb7
--- /dev/null
+++ b/tests/dictionaries_old/01base_certificate_owner/result/rougail/00-base.yml
@@ -0,0 +1,4 @@
+server_name:
+ type: domainname
+ default: example.net
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_certificate_owner/result/services/00-base.yml b/tests/dictionaries_old/01base_certificate_owner/result/services/00-base.yml
new file mode 100644
index 000000000..185cefe2d
--- /dev/null
+++ b/tests/dictionaries_old/01base_certificate_owner/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ certificates:
+ certificate:
+ authority: authority
+ owner: example
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_certificate_owner/tiramisu/base.py b/tests/dictionaries_old/01base_certificate_owner/tiramisu/base.py
new file mode 100644
index 000000000..6f8c9c283
--- /dev/null
+++ b/tests/dictionaries_old/01base_certificate_owner/tiramisu/base.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = DomainnameOption(name="server_name", doc="server_name", default="example.net", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_7 = StrOption(name="name", doc="name", default="certificate")
+option_8 = UsernameOption(name="owner", doc="owner", default="example")
+option_9 = SymLinkOption(name="domain", opt=option_2)
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_6 = OptionDescription(name="certificate", doc="certificate", children=[option_7, option_8, option_9, option_10])
+optiondescription_6.impl_set_information('authority', "authority")
+optiondescription_6.impl_set_information('format', "cert_key")
+optiondescription_6.impl_set_information('type', "client")
+optiondescription_5 = OptionDescription(name="certificates", doc="certificates", children=[optiondescription_6])
+option_11 = BoolOption(name="activate", doc="activate", default=True)
+option_12 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_4 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_5, option_11, option_12])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/01base_certificate_owner/tiramisu/multi.py b/tests/dictionaries_old/01base_certificate_owner/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner/tiramisu/multi.py
rename to tests/dictionaries_old/01base_certificate_owner/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_certificate_owner/xml/00-base.xml b/tests/dictionaries_old/01base_certificate_owner/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner/xml/00-base.xml
rename to tests/dictionaries_old/01base_certificate_owner/xml/00-base.xml
diff --git a/tests/dictionaries/01base_certificate_owner/yml/00-base.yml b/tests/dictionaries_old/01base_certificate_owner/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner/yml/00-base.yml
rename to tests/dictionaries_old/01base_certificate_owner/yml/00-base.yml
diff --git a/tests/dictionaries/01auto_jinja_base/__init__.py b/tests/dictionaries_old/01base_certificate_owner_variable/__init__.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_base/__init__.py
rename to tests/dictionaries_old/01base_certificate_owner_variable/__init__.py
diff --git a/tests/dictionaries/01base_certificate_owner_variable/makedict/after.json b/tests/dictionaries_old/01base_certificate_owner_variable/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner_variable/makedict/after.json
rename to tests/dictionaries_old/01base_certificate_owner_variable/makedict/after.json
diff --git a/tests/dictionaries/01base_certificate_owner_variable/makedict/base.json b/tests/dictionaries_old/01base_certificate_owner_variable/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner_variable/makedict/base.json
rename to tests/dictionaries_old/01base_certificate_owner_variable/makedict/base.json
diff --git a/tests/dictionaries/01base_certificate_owner_variable/makedict/before.json b/tests/dictionaries_old/01base_certificate_owner_variable/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner_variable/makedict/before.json
rename to tests/dictionaries_old/01base_certificate_owner_variable/makedict/before.json
diff --git a/tests/dictionaries_old/01base_certificate_owner_variable/result/rougail/00-base.yml b/tests/dictionaries_old/01base_certificate_owner_variable/result/rougail/00-base.yml
new file mode 100644
index 000000000..68e2ff806
--- /dev/null
+++ b/tests/dictionaries_old/01base_certificate_owner_variable/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+owner:
+ type: unix_user
+ default: example
+server_name:
+ type: domainname
+ default: example.net
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_certificate_owner_variable/result/services/00-base.yml b/tests/dictionaries_old/01base_certificate_owner_variable/result/services/00-base.yml
new file mode 100644
index 000000000..0b0e158d1
--- /dev/null
+++ b/tests/dictionaries_old/01base_certificate_owner_variable/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ certificates:
+ certificate:
+ authority: authority
+ owner:
+ name: rougail.owner
+ type: variable
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_certificate_owner_variable/tiramisu/base.py b/tests/dictionaries_old/01base_certificate_owner_variable/tiramisu/base.py
new file mode 100644
index 000000000..a8977fd71
--- /dev/null
+++ b/tests/dictionaries_old/01base_certificate_owner_variable/tiramisu/base.py
@@ -0,0 +1,43 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = UsernameOption(name="owner", doc="owner", default="example", properties=frozenset({"mandatory", "normal"}))
+option_3 = DomainnameOption(name="server_name", doc="server_name", default="example.net", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
+option_8 = StrOption(name="name", doc="name", default="certificate")
+option_9 = SymLinkOption(name="owner", opt=option_2)
+option_10 = SymLinkOption(name="domain", opt=option_3)
+option_11 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="certificate", doc="certificate", children=[option_8, option_9, option_10, option_11])
+optiondescription_7.impl_set_information('authority', "authority")
+optiondescription_7.impl_set_information('format', "cert_key")
+optiondescription_7.impl_set_information('type', "client")
+optiondescription_6 = OptionDescription(name="certificates", doc="certificates", children=[optiondescription_7])
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+option_13 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_12, option_13])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/01base_certificate_owner_variable/tiramisu/multi.py b/tests/dictionaries_old/01base_certificate_owner_variable/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner_variable/tiramisu/multi.py
rename to tests/dictionaries_old/01base_certificate_owner_variable/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_certificate_owner_variable/xml/00-base.xml b/tests/dictionaries_old/01base_certificate_owner_variable/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner_variable/xml/00-base.xml
rename to tests/dictionaries_old/01base_certificate_owner_variable/xml/00-base.xml
diff --git a/tests/dictionaries/01base_certificate_owner_variable/yml/00-base.yml b/tests/dictionaries_old/01base_certificate_owner_variable/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner_variable/yml/00-base.yml
rename to tests/dictionaries_old/01base_certificate_owner_variable/yml/00-base.yml
diff --git a/tests/dictionaries_old/01base_domainname/00-base.xml b/tests/dictionaries_old/01base_domainname/00-base.xml
deleted file mode 100644
index 1376bc799..000000000
--- a/tests/dictionaries_old/01base_domainname/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- my.domain.name
-
-
-
-
diff --git a/tests/dictionaries_old/01base_domainname/result/rougail/00-base.yml b/tests/dictionaries_old/01base_domainname/result/rougail/00-base.yml
new file mode 100644
index 000000000..2dd36b636
--- /dev/null
+++ b/tests/dictionaries_old/01base_domainname/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ domain:
+ type: domainname
+ description: Description
+ default: my.domain.name
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_domainname/tiramisu/base.py b/tests/dictionaries_old/01base_domainname/tiramisu/base.py
index 1625bc45f..92e48b6f1 100644
--- a/tests/dictionaries_old/01base_domainname/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_domainname/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = DomainnameOption(name="domain", doc="Description", default="my.domain.name", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_domainname/tiramisu/multi.py b/tests/dictionaries_old/01base_domainname/tiramisu/multi.py
new file mode 100644
index 000000000..45bebd723
--- /dev/null
+++ b/tests/dictionaries_old/01base_domainname/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = DomainnameOption(name="domain", doc="Description", default="my.domain.name", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = DomainnameOption(name="domain", doc="Description", default="my.domain.name", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_domainname/xml/00-base.xml b/tests/dictionaries_old/01base_domainname/xml/00-base.xml
new file mode 100644
index 000000000..0bad0a272
--- /dev/null
+++ b/tests/dictionaries_old/01base_domainname/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ my.domain.name
+
+
+
+
diff --git a/tests/dictionaries_old/01base_domainname/yml/00-base.yml b/tests/dictionaries_old/01base_domainname/yml/00-base.yml
new file mode 100644
index 000000000..6b67a945f
--- /dev/null
+++ b/tests/dictionaries_old/01base_domainname/yml/00-base.yml
@@ -0,0 +1,11 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: domain
+ type: domainname
+ description: Description
+ value:
+ - text: my.domain.name
diff --git a/tests/dictionaries_old/01base_file/00-base.xml b/tests/dictionaries_old/01base_file/00-base.xml
deleted file mode 100644
index 9f2dbf082..000000000
--- a/tests/dictionaries_old/01base_file/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- /etc/file
- /etc/file2
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01base_file/makedict/after.json b/tests/dictionaries_old/01base_file/makedict/after.json
index c8edf346f..c63a8561a 100644
--- a/tests/dictionaries_old/01base_file/makedict/after.json
+++ b/tests/dictionaries_old/01base_file/makedict/after.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/etc/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/01base_file/makedict/base.json b/tests/dictionaries_old/01base_file/makedict/base.json
index c9048468a..3524da356 100644
--- a/tests/dictionaries_old/01base_file/makedict/base.json
+++ b/tests/dictionaries_old/01base_file/makedict/base.json
@@ -1,9 +1,11 @@
{
"rougail.general.mode_conteneur_actif": "non",
- "services.test.files.file.name": "/etc/file",
- "services.test.files.file.activate": true,
- "services.test.files.file2.name": "/etc/file2",
- "services.test.files.file2.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": true,
+ "services.test_service.files.file2.name": "/etc/file2",
+ "services.test_service.files.file2.source": "file2",
+ "services.test_service.files.file2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/01base_file/makedict/before.json b/tests/dictionaries_old/01base_file/makedict/before.json
index c8edf346f..c63a8561a 100644
--- a/tests/dictionaries_old/01base_file/makedict/before.json
+++ b/tests/dictionaries_old/01base_file/makedict/before.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/etc/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/01base_file/result/etc/file b/tests/dictionaries_old/01base_file/result/etc/file
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries_old/01base_file/result/etc/file
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries_old/01base_file/result/etc/file2 b/tests/dictionaries_old/01base_file/result/etc/file2
deleted file mode 100644
index 4089fbcce..000000000
--- a/tests/dictionaries_old/01base_file/result/etc/file2
+++ /dev/null
@@ -1,2 +0,0 @@
-non
-non
diff --git a/tests/dictionaries_old/01base_file/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file/result/rougail/00-base.yml
new file mode 100644
index 000000000..6f06c87e2
--- /dev/null
+++ b/tests/dictionaries_old/01base_file/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file/result/services/00-base.yml b/tests/dictionaries_old/01base_file/result/services/00-base.yml
new file mode 100644
index 000000000..2618c05c4
--- /dev/null
+++ b/tests/dictionaries_old/01base_file/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/file: {}
+ /etc/file2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/01base_file/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 2dab2179e..000000000
--- a/tests/dictionaries_old/01base_file/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-z /etc/file - - - - -
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
-z /etc/file2 - - - - -
diff --git a/tests/dictionaries_old/01base_file/tiramisu/base.py b/tests/dictionaries_old/01base_file/tiramisu/base.py
index 25ad4894b..43f70c975 100644
--- a/tests/dictionaries_old/01base_file/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_file/tiramisu/base.py
@@ -1,31 +1,44 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9])
-option_7.impl_set_information('source', "file")
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12])
-option_10.impl_set_information('engine', "jinja")
-option_10.impl_set_information('source', "file2")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_10])
-option_13 = BoolOption(name="activate", doc="activate", default=True)
-option_14 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_13, option_14])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/file2")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/file2")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="file2", doc="file2", children=[option_12, option_13, option_14])
+optiondescription_11.impl_set_information('engine', "jinja")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_16 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_15, option_16])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/01base_file/tiramisu/multi.py b/tests/dictionaries_old/01base_file/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file/xml/00-base.xml b/tests/dictionaries_old/01base_file/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file/xml/00-base.xml
rename to tests/dictionaries_old/01base_file/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file/yml/00-base.yml b/tests/dictionaries_old/01base_file/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file/yml/00-base.yml
rename to tests/dictionaries_old/01base_file/yml/00-base.yml
diff --git a/tests/dictionaries/01auto_jinja_full_path/__init__.py b/tests/dictionaries_old/01base_file_disabled/__init__.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_full_path/__init__.py
rename to tests/dictionaries_old/01base_file_disabled/__init__.py
diff --git a/tests/dictionaries/01base_file_disabled/makedict/after.json b/tests/dictionaries_old/01base_file_disabled/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_file_disabled/makedict/after.json
rename to tests/dictionaries_old/01base_file_disabled/makedict/after.json
diff --git a/tests/dictionaries/01base_file_disabled/makedict/base.json b/tests/dictionaries_old/01base_file_disabled/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_file_disabled/makedict/base.json
rename to tests/dictionaries_old/01base_file_disabled/makedict/base.json
diff --git a/tests/dictionaries/01base_file_disabled/makedict/before.json b/tests/dictionaries_old/01base_file_disabled/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_file_disabled/makedict/before.json
rename to tests/dictionaries_old/01base_file_disabled/makedict/before.json
diff --git a/tests/dictionaries_old/01base_file_disabled/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file_disabled/result/rougail/00-base.yml
new file mode 100644
index 000000000..6f06c87e2
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_disabled/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_disabled/result/services/00-base.yml b/tests/dictionaries_old/01base_file_disabled/result/services/00-base.yml
new file mode 100644
index 000000000..1a0c56e41
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_disabled/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /etc/file: {}
+ /etc/file2:
+ engine: jinja
+ /etc/file3:
+ disabled: true
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_disabled/tiramisu/base.py b/tests/dictionaries_old/01base_file_disabled/tiramisu/base.py
new file mode 100644
index 000000000..6f8e3035a
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_disabled/tiramisu/base.py
@@ -0,0 +1,48 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_9 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/file2")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/file2")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="file2", doc="file2", children=[option_12, option_13, option_14])
+optiondescription_11.impl_set_information('engine', "jinja")
+option_16 = FilenameOption(name="name", doc="name", default="/etc/file3")
+option_17 = FilenameOption(name="source", doc="source", default="/etc/file3")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_15 = OptionDescription(name="file3", doc="file3", children=[option_16, option_17, option_18])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11, optiondescription_15])
+option_19 = BoolOption(name="activate", doc="activate", default=True)
+option_20 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_19, option_20])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/01base_file_disabled/tiramisu/multi.py b/tests/dictionaries_old/01base_file_disabled/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_disabled/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_disabled/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file/tmpl/file b/tests/dictionaries_old/01base_file_disabled/tmpl/file
similarity index 100%
rename from tests/dictionaries/01base_file/tmpl/file
rename to tests/dictionaries_old/01base_file_disabled/tmpl/file
diff --git a/tests/dictionaries/01base_file/tmpl/file2 b/tests/dictionaries_old/01base_file_disabled/tmpl/file2
similarity index 100%
rename from tests/dictionaries/01base_file/tmpl/file2
rename to tests/dictionaries_old/01base_file_disabled/tmpl/file2
diff --git a/tests/dictionaries/01base_file_disabled/xml/00-base.xml b/tests/dictionaries_old/01base_file_disabled/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_disabled/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_disabled/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_disabled/yml/00-base.yml b/tests/dictionaries_old/01base_file_disabled/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_disabled/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_disabled/yml/00-base.yml
diff --git a/tests/dictionaries_old/01base_file_include/00-base.xml b/tests/dictionaries_old/01base_file_include/00-base.xml
deleted file mode 100644
index 9f2dbf082..000000000
--- a/tests/dictionaries_old/01base_file_include/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- /etc/file
- /etc/file2
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01base_file_include/makedict/after.json b/tests/dictionaries_old/01base_file_include/makedict/after.json
index c8edf346f..c63a8561a 100644
--- a/tests/dictionaries_old/01base_file_include/makedict/after.json
+++ b/tests/dictionaries_old/01base_file_include/makedict/after.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/etc/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/01base_file_include/makedict/base.json b/tests/dictionaries_old/01base_file_include/makedict/base.json
index c9048468a..3524da356 100644
--- a/tests/dictionaries_old/01base_file_include/makedict/base.json
+++ b/tests/dictionaries_old/01base_file_include/makedict/base.json
@@ -1,9 +1,11 @@
{
"rougail.general.mode_conteneur_actif": "non",
- "services.test.files.file.name": "/etc/file",
- "services.test.files.file.activate": true,
- "services.test.files.file2.name": "/etc/file2",
- "services.test.files.file2.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": true,
+ "services.test_service.files.file2.name": "/etc/file2",
+ "services.test_service.files.file2.source": "file2",
+ "services.test_service.files.file2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/01base_file_include/makedict/before.json b/tests/dictionaries_old/01base_file_include/makedict/before.json
index c8edf346f..c63a8561a 100644
--- a/tests/dictionaries_old/01base_file_include/makedict/before.json
+++ b/tests/dictionaries_old/01base_file_include/makedict/before.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/etc/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/01base_file_include/result/etc/file b/tests/dictionaries_old/01base_file_include/result/etc/file
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries_old/01base_file_include/result/etc/file
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/01base_file_include/result/etc/file2 b/tests/dictionaries_old/01base_file_include/result/etc/file2
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries_old/01base_file_include/result/etc/file2
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/01base_file_include/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file_include/result/rougail/00-base.yml
new file mode 100644
index 000000000..6f06c87e2
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_include/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_include/result/services/00-base.yml b/tests/dictionaries_old/01base_file_include/result/services/00-base.yml
new file mode 100644
index 000000000..2618c05c4
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_include/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/file: {}
+ /etc/file2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_include/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/01base_file_include/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 2dab2179e..000000000
--- a/tests/dictionaries_old/01base_file_include/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-z /etc/file - - - - -
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
-z /etc/file2 - - - - -
diff --git a/tests/dictionaries_old/01base_file_include/tiramisu/base.py b/tests/dictionaries_old/01base_file_include/tiramisu/base.py
index 25ad4894b..43f70c975 100644
--- a/tests/dictionaries_old/01base_file_include/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_file_include/tiramisu/base.py
@@ -1,31 +1,44 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9])
-option_7.impl_set_information('source', "file")
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12])
-option_10.impl_set_information('engine', "jinja")
-option_10.impl_set_information('source', "file2")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_10])
-option_13 = BoolOption(name="activate", doc="activate", default=True)
-option_14 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_13, option_14])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/file2")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/file2")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="file2", doc="file2", children=[option_12, option_13, option_14])
+optiondescription_11.impl_set_information('engine', "jinja")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_16 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_15, option_16])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/01base_file_include/tiramisu/multi.py b/tests/dictionaries_old/01base_file_include/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_include/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_include/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_include/xml/00-base.xml b/tests/dictionaries_old/01base_file_include/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_include/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_include/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_include/yml/00-base.yml b/tests/dictionaries_old/01base_file_include/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_include/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_include/yml/00-base.yml
diff --git a/tests/dictionaries_old/01base_file_include_content/00-base.xml b/tests/dictionaries_old/01base_file_include_content/00-base.xml
deleted file mode 100644
index ef7b6bd58..000000000
--- a/tests/dictionaries_old/01base_file_include_content/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- /etc/file
- /etc/file2
- /etc/dir/incfile
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01base_file_include_content/makedict/after.json b/tests/dictionaries_old/01base_file_include_content/makedict/after.json
index 0f9e1770d..e3d3f7cd8 100644
--- a/tests/dictionaries_old/01base_file_include_content/makedict/after.json
+++ b/tests/dictionaries_old/01base_file_include_content/makedict/after.json
@@ -3,35 +3,47 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/etc/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.files.incfile.name": {
+ "services.test_service.files.incfile.name": {
"owner": "default",
"value": "/etc/dir/incfile"
},
- "services.test.files.incfile.activate": {
+ "services.test_service.files.incfile.source": {
+ "owner": "default",
+ "value": "incfile"
+ },
+ "services.test_service.files.incfile.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/01base_file_include_content/makedict/base.json b/tests/dictionaries_old/01base_file_include_content/makedict/base.json
index 68409c43a..c4573ab6b 100644
--- a/tests/dictionaries_old/01base_file_include_content/makedict/base.json
+++ b/tests/dictionaries_old/01base_file_include_content/makedict/base.json
@@ -1,11 +1,14 @@
{
"rougail.general.mode_conteneur_actif": "non",
- "services.test.files.file.name": "/etc/file",
- "services.test.files.file.activate": true,
- "services.test.files.file2.name": "/etc/file2",
- "services.test.files.file2.activate": true,
- "services.test.files.incfile.name": "/etc/dir/incfile",
- "services.test.files.incfile.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": true,
+ "services.test_service.files.file2.name": "/etc/file2",
+ "services.test_service.files.file2.source": "file2",
+ "services.test_service.files.file2.activate": true,
+ "services.test_service.files.incfile.name": "/etc/dir/incfile",
+ "services.test_service.files.incfile.source": "incfile",
+ "services.test_service.files.incfile.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/01base_file_include_content/makedict/before.json b/tests/dictionaries_old/01base_file_include_content/makedict/before.json
index 0f9e1770d..e3d3f7cd8 100644
--- a/tests/dictionaries_old/01base_file_include_content/makedict/before.json
+++ b/tests/dictionaries_old/01base_file_include_content/makedict/before.json
@@ -3,35 +3,47 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/etc/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.files.incfile.name": {
+ "services.test_service.files.incfile.name": {
"owner": "default",
"value": "/etc/dir/incfile"
},
- "services.test.files.incfile.activate": {
+ "services.test_service.files.incfile.source": {
+ "owner": "default",
+ "value": "incfile"
+ },
+ "services.test_service.files.incfile.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/01base_file_include_content/result/etc/dir/incfile b/tests/dictionaries_old/01base_file_include_content/result/etc/dir/incfile
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries_old/01base_file_include_content/result/etc/dir/incfile
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/01base_file_include_content/result/etc/file b/tests/dictionaries_old/01base_file_include_content/result/etc/file
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries_old/01base_file_include_content/result/etc/file
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/01base_file_include_content/result/etc/file2 b/tests/dictionaries_old/01base_file_include_content/result/etc/file2
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries_old/01base_file_include_content/result/etc/file2
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/01base_file_include_content/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file_include_content/result/rougail/00-base.yml
new file mode 100644
index 000000000..6f06c87e2
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_include_content/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_include_content/result/services/00-base.yml b/tests/dictionaries_old/01base_file_include_content/result/services/00-base.yml
new file mode 100644
index 000000000..363958155
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_include_content/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /etc/file: {}
+ /etc/file2:
+ engine: jinja
+ /etc/dir/incfile:
+ included: content
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_include_content/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/01base_file_include_content/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 2dab2179e..000000000
--- a/tests/dictionaries_old/01base_file_include_content/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-z /etc/file - - - - -
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
-z /etc/file2 - - - - -
diff --git a/tests/dictionaries_old/01base_file_include_content/tiramisu/base.py b/tests/dictionaries_old/01base_file_include_content/tiramisu/base.py
index fed176886..6034587e1 100644
--- a/tests/dictionaries_old/01base_file_include_content/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_file_include_content/tiramisu/base.py
@@ -1,36 +1,49 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9])
-option_7.impl_set_information('source', "file")
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12])
-option_10.impl_set_information('engine', "jinja")
-option_10.impl_set_information('source', "file2")
-option_14 = FilenameOption(name="name", doc="name", default="/etc/dir/incfile")
-option_15 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = OptionDescription(name="incfile", doc="incfile", children=[option_14, option_15])
-option_13.impl_set_information('included', "content")
-option_13.impl_set_information('source', "incfile")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_10, option_13])
-option_16 = BoolOption(name="activate", doc="activate", default=True)
-option_17 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_16, option_17])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/file2")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/file2")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="file2", doc="file2", children=[option_12, option_13, option_14])
+optiondescription_11.impl_set_information('engine', "jinja")
+option_16 = FilenameOption(name="name", doc="name", default="/etc/dir/incfile")
+option_17 = FilenameOption(name="source", doc="source", default="/etc/dir/incfile")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_15 = OptionDescription(name="incfile", doc="incfile", children=[option_16, option_17, option_18])
+optiondescription_15.impl_set_information('included', "content")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11, optiondescription_15])
+option_19 = BoolOption(name="activate", doc="activate", default=True)
+option_20 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_19, option_20])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/01base_file_include_content/tiramisu/multi.py b/tests/dictionaries_old/01base_file_include_content/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_include_content/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_include_content/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_include_content/xml/00-base.xml b/tests/dictionaries_old/01base_file_include_content/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_include_content/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_include_content/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_include_content/yml/00-base.yml b/tests/dictionaries_old/01base_file_include_content/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_include_content/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_include_content/yml/00-base.yml
diff --git a/tests/dictionaries_old/01base_file_include_name/00-base.xml b/tests/dictionaries_old/01base_file_include_name/00-base.xml
deleted file mode 100644
index 70a5a3f74..000000000
--- a/tests/dictionaries_old/01base_file_include_name/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- /etc/file
- /etc/file2
- /etc/dir/incfile
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01base_file_include_name/makedict/after.json b/tests/dictionaries_old/01base_file_include_name/makedict/after.json
index 0f9e1770d..e3d3f7cd8 100644
--- a/tests/dictionaries_old/01base_file_include_name/makedict/after.json
+++ b/tests/dictionaries_old/01base_file_include_name/makedict/after.json
@@ -3,35 +3,47 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/etc/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.files.incfile.name": {
+ "services.test_service.files.incfile.name": {
"owner": "default",
"value": "/etc/dir/incfile"
},
- "services.test.files.incfile.activate": {
+ "services.test_service.files.incfile.source": {
+ "owner": "default",
+ "value": "incfile"
+ },
+ "services.test_service.files.incfile.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/01base_file_include_name/makedict/base.json b/tests/dictionaries_old/01base_file_include_name/makedict/base.json
index 68409c43a..c4573ab6b 100644
--- a/tests/dictionaries_old/01base_file_include_name/makedict/base.json
+++ b/tests/dictionaries_old/01base_file_include_name/makedict/base.json
@@ -1,11 +1,14 @@
{
"rougail.general.mode_conteneur_actif": "non",
- "services.test.files.file.name": "/etc/file",
- "services.test.files.file.activate": true,
- "services.test.files.file2.name": "/etc/file2",
- "services.test.files.file2.activate": true,
- "services.test.files.incfile.name": "/etc/dir/incfile",
- "services.test.files.incfile.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": true,
+ "services.test_service.files.file2.name": "/etc/file2",
+ "services.test_service.files.file2.source": "file2",
+ "services.test_service.files.file2.activate": true,
+ "services.test_service.files.incfile.name": "/etc/dir/incfile",
+ "services.test_service.files.incfile.source": "incfile",
+ "services.test_service.files.incfile.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/01base_file_include_name/makedict/before.json b/tests/dictionaries_old/01base_file_include_name/makedict/before.json
index 0f9e1770d..e3d3f7cd8 100644
--- a/tests/dictionaries_old/01base_file_include_name/makedict/before.json
+++ b/tests/dictionaries_old/01base_file_include_name/makedict/before.json
@@ -3,35 +3,47 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/etc/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.files.incfile.name": {
+ "services.test_service.files.incfile.name": {
"owner": "default",
"value": "/etc/dir/incfile"
},
- "services.test.files.incfile.activate": {
+ "services.test_service.files.incfile.source": {
+ "owner": "default",
+ "value": "incfile"
+ },
+ "services.test_service.files.incfile.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/01base_file_include_name/result/etc/dir/incfile b/tests/dictionaries_old/01base_file_include_name/result/etc/dir/incfile
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries_old/01base_file_include_name/result/etc/dir/incfile
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/01base_file_include_name/result/etc/file b/tests/dictionaries_old/01base_file_include_name/result/etc/file
deleted file mode 100644
index 1ac4955d8..000000000
--- a/tests/dictionaries_old/01base_file_include_name/result/etc/file
+++ /dev/null
@@ -1 +0,0 @@
-include /etc/dir/incfile
diff --git a/tests/dictionaries_old/01base_file_include_name/result/etc/file2 b/tests/dictionaries_old/01base_file_include_name/result/etc/file2
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries_old/01base_file_include_name/result/etc/file2
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/01base_file_include_name/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file_include_name/result/rougail/00-base.yml
new file mode 100644
index 000000000..6f06c87e2
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_include_name/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_include_name/result/services/00-base.yml b/tests/dictionaries_old/01base_file_include_name/result/services/00-base.yml
new file mode 100644
index 000000000..50189df9c
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_include_name/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /etc/file: {}
+ /etc/file2:
+ engine: jinja
+ /etc/dir/incfile:
+ included: name
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_include_name/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/01base_file_include_name/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 245eb456b..000000000
--- a/tests/dictionaries_old/01base_file_include_name/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-z /etc/file - - - - -
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
-z /etc/file2 - - - - -
-C /etc/dir/incfile 0644 root root - /usr/local/lib/etc/dir/incfile
-z /etc/dir/incfile - - - - -
diff --git a/tests/dictionaries_old/01base_file_include_name/tiramisu/base.py b/tests/dictionaries_old/01base_file_include_name/tiramisu/base.py
index 9acc98c40..8f8957318 100644
--- a/tests/dictionaries_old/01base_file_include_name/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_file_include_name/tiramisu/base.py
@@ -1,36 +1,49 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9])
-option_7.impl_set_information('source', "file")
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12])
-option_10.impl_set_information('engine', "jinja")
-option_10.impl_set_information('source', "file2")
-option_14 = FilenameOption(name="name", doc="name", default="/etc/dir/incfile")
-option_15 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = OptionDescription(name="incfile", doc="incfile", children=[option_14, option_15])
-option_13.impl_set_information('included', "name")
-option_13.impl_set_information('source', "incfile")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_10, option_13])
-option_16 = BoolOption(name="activate", doc="activate", default=True)
-option_17 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_16, option_17])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/file2")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/file2")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="file2", doc="file2", children=[option_12, option_13, option_14])
+optiondescription_11.impl_set_information('engine', "jinja")
+option_16 = FilenameOption(name="name", doc="name", default="/etc/dir/incfile")
+option_17 = FilenameOption(name="source", doc="source", default="/etc/dir/incfile")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_15 = OptionDescription(name="incfile", doc="incfile", children=[option_16, option_17, option_18])
+optiondescription_15.impl_set_information('included', "name")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11, optiondescription_15])
+option_19 = BoolOption(name="activate", doc="activate", default=True)
+option_20 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_19, option_20])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/01base_file_include_name/tiramisu/multi.py b/tests/dictionaries_old/01base_file_include_name/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_include_name/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_include_name/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_include_name/xml/00-base.xml b/tests/dictionaries_old/01base_file_include_name/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_include_name/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_include_name/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_include_name/yml/00-base.yml b/tests/dictionaries_old/01base_file_include_name/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_include_name/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_include_name/yml/00-base.yml
diff --git a/tests/dictionaries/01auto_jinja_if/__init__.py b/tests/dictionaries_old/01base_file_mode/__init__.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if/__init__.py
rename to tests/dictionaries_old/01base_file_mode/__init__.py
diff --git a/tests/dictionaries/01base_file_mode/makedict/after.json b/tests/dictionaries_old/01base_file_mode/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_file_mode/makedict/after.json
rename to tests/dictionaries_old/01base_file_mode/makedict/after.json
diff --git a/tests/dictionaries/01base_file_mode/makedict/base.json b/tests/dictionaries_old/01base_file_mode/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_file_mode/makedict/base.json
rename to tests/dictionaries_old/01base_file_mode/makedict/base.json
diff --git a/tests/dictionaries/01base_file_mode/makedict/before.json b/tests/dictionaries_old/01base_file_mode/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_file_mode/makedict/before.json
rename to tests/dictionaries_old/01base_file_mode/makedict/before.json
diff --git a/tests/dictionaries_old/01base_file_mode/result/services/00-base.yml b/tests/dictionaries_old/01base_file_mode/result/services/00-base.yml
new file mode 100644
index 000000000..c4f595db4
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_mode/result/services/00-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ files:
+ /etc/file:
+ mode: 755
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_mode/tiramisu/base.py b/tests/dictionaries_old/01base_file_mode/tiramisu/base.py
new file mode 100644
index 000000000..083b14471
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_mode/tiramisu/base.py
@@ -0,0 +1,37 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_5 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_6 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_7 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_4 = OptionDescription(name="file", doc="file", children=[option_5, option_6, option_7])
+optiondescription_4.impl_set_information('mode', 755)
+optiondescription_3 = OptionDescription(name="files", doc="files", children=[optiondescription_4])
+option_8 = BoolOption(name="activate", doc="activate", default=True)
+option_9 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_2 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_3, option_8, option_9])
+optiondescription_2.impl_set_information('type', "service")
+optiondescription_1 = OptionDescription(name="services", doc="services", children=[optiondescription_2], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_file_mode/tiramisu/multi.py b/tests/dictionaries_old/01base_file_mode/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_mode/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_mode/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_mode/result/etc/file b/tests/dictionaries_old/01base_file_mode/tmpl/file
similarity index 100%
rename from tests/dictionaries/01base_file_mode/result/etc/file
rename to tests/dictionaries_old/01base_file_mode/tmpl/file
diff --git a/tests/dictionaries/01base_file_mode/xml/00-base.xml b/tests/dictionaries_old/01base_file_mode/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_mode/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_mode/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_mode/yml/00-base.yml b/tests/dictionaries_old/01base_file_mode/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_mode/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_mode/yml/00-base.yml
diff --git a/tests/dictionaries/01auto_jinja_if_bool/__init__.py b/tests/dictionaries_old/01base_file_mode2/__init__.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_bool/__init__.py
rename to tests/dictionaries_old/01base_file_mode2/__init__.py
diff --git a/tests/dictionaries/01base_file_mode2/makedict/after.json b/tests/dictionaries_old/01base_file_mode2/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_file_mode2/makedict/after.json
rename to tests/dictionaries_old/01base_file_mode2/makedict/after.json
diff --git a/tests/dictionaries/01base_file_mode2/makedict/base.json b/tests/dictionaries_old/01base_file_mode2/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_file_mode2/makedict/base.json
rename to tests/dictionaries_old/01base_file_mode2/makedict/base.json
diff --git a/tests/dictionaries/01base_file_mode2/makedict/before.json b/tests/dictionaries_old/01base_file_mode2/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_file_mode2/makedict/before.json
rename to tests/dictionaries_old/01base_file_mode2/makedict/before.json
diff --git a/tests/dictionaries_old/01base_file_mode2/result/services/00-base.yml b/tests/dictionaries_old/01base_file_mode2/result/services/00-base.yml
new file mode 100644
index 000000000..813215ef7
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_mode2/result/services/00-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ files:
+ /etc/file:
+ mode: 1755
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_mode2/tiramisu/base.py b/tests/dictionaries_old/01base_file_mode2/tiramisu/base.py
new file mode 100644
index 000000000..ca5effc37
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_mode2/tiramisu/base.py
@@ -0,0 +1,37 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_5 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_6 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_7 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_4 = OptionDescription(name="file", doc="file", children=[option_5, option_6, option_7])
+optiondescription_4.impl_set_information('mode', 1755)
+optiondescription_3 = OptionDescription(name="files", doc="files", children=[optiondescription_4])
+option_8 = BoolOption(name="activate", doc="activate", default=True)
+option_9 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_2 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_3, option_8, option_9])
+optiondescription_2.impl_set_information('type', "service")
+optiondescription_1 = OptionDescription(name="services", doc="services", children=[optiondescription_2], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_file_mode2/tiramisu/multi.py b/tests/dictionaries_old/01base_file_mode2/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_mode2/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_mode2/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_mode/tmpl/file b/tests/dictionaries_old/01base_file_mode2/tmpl/file
similarity index 100%
rename from tests/dictionaries/01base_file_mode/tmpl/file
rename to tests/dictionaries_old/01base_file_mode2/tmpl/file
diff --git a/tests/dictionaries/01base_file_mode2/xml/00-base.xml b/tests/dictionaries_old/01base_file_mode2/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_mode2/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_mode2/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_mode2/yml/00-base.yml b/tests/dictionaries_old/01base_file_mode2/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_mode2/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_mode2/yml/00-base.yml
diff --git a/tests/dictionaries/01auto_jinja_if_int/__init__.py b/tests/dictionaries_old/01base_file_owner/__init__.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_if_int/__init__.py
rename to tests/dictionaries_old/01base_file_owner/__init__.py
diff --git a/tests/dictionaries/01base_file_owner/makedict/after.json b/tests/dictionaries_old/01base_file_owner/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_file_owner/makedict/after.json
rename to tests/dictionaries_old/01base_file_owner/makedict/after.json
diff --git a/tests/dictionaries/01base_file_owner/makedict/base.json b/tests/dictionaries_old/01base_file_owner/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_file_owner/makedict/base.json
rename to tests/dictionaries_old/01base_file_owner/makedict/base.json
diff --git a/tests/dictionaries/01base_file_owner/makedict/before.json b/tests/dictionaries_old/01base_file_owner/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_file_owner/makedict/before.json
rename to tests/dictionaries_old/01base_file_owner/makedict/before.json
diff --git a/tests/dictionaries/01base_file_owner/no_base b/tests/dictionaries_old/01base_file_owner/no_base
similarity index 100%
rename from tests/dictionaries/01base_file_owner/no_base
rename to tests/dictionaries_old/01base_file_owner/no_base
diff --git a/tests/dictionaries_old/01base_file_owner/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file_owner/result/rougail/00-base.yml
new file mode 100644
index 000000000..6f06c87e2
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_owner/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_owner/result/services/00-base.yml b/tests/dictionaries_old/01base_file_owner/result/services/00-base.yml
new file mode 100644
index 000000000..cfe723bef
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_owner/result/services/00-base.yml
@@ -0,0 +1,10 @@
+test.service:
+ files:
+ /etc/file:
+ owner: nobody
+ group: nobody
+ /etc/file2:
+ owner: nobody
+ group: nobody
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_owner/tiramisu/base.py b/tests/dictionaries_old/01base_file_owner/tiramisu/base.py
new file mode 100644
index 000000000..79f68867f
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_owner/tiramisu/base.py
@@ -0,0 +1,48 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_9 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_10 = UsernameOption(name="owner", doc="owner", default="nobody")
+option_11 = UsernameOption(name="group", doc="group", default="nobody")
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10, option_11, option_12])
+option_14 = FilenameOption(name="name", doc="name", default="/etc/file2")
+option_15 = FilenameOption(name="source", doc="source", default="/etc/file2")
+option_16 = UsernameOption(name="owner", doc="owner", default="nobody")
+option_17 = UsernameOption(name="group", doc="group", default="nobody")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_13 = OptionDescription(name="file2", doc="file2", children=[option_14, option_15, option_16, option_17, option_18])
+optiondescription_13.impl_set_information('engine', "jinja")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_13])
+option_19 = BoolOption(name="activate", doc="activate", default=True)
+option_20 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_19, option_20])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/01base_file_owner/tiramisu/multi.py b/tests/dictionaries_old/01base_file_owner/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_owner/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_owner/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_disabled/tmpl/file b/tests/dictionaries_old/01base_file_owner/tmpl/file
similarity index 100%
rename from tests/dictionaries/01base_file_disabled/tmpl/file
rename to tests/dictionaries_old/01base_file_owner/tmpl/file
diff --git a/tests/dictionaries/01base_file_disabled/tmpl/file2 b/tests/dictionaries_old/01base_file_owner/tmpl/file2
similarity index 100%
rename from tests/dictionaries/01base_file_disabled/tmpl/file2
rename to tests/dictionaries_old/01base_file_owner/tmpl/file2
diff --git a/tests/dictionaries/01base_file_owner/xml/00-base.xml b/tests/dictionaries_old/01base_file_owner/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_owner/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_owner/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_owner/yml/00-base.yml b/tests/dictionaries_old/01base_file_owner/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_owner/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_owner/yml/00-base.yml
diff --git a/tests/dictionaries/01auto_jinja_set/__init__.py b/tests/dictionaries_old/01base_file_owner_variable/__init__.py
similarity index 100%
rename from tests/dictionaries/01auto_jinja_set/__init__.py
rename to tests/dictionaries_old/01base_file_owner_variable/__init__.py
diff --git a/tests/dictionaries/01base_file_owner_variable/makedict/after.json b/tests/dictionaries_old/01base_file_owner_variable/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_file_owner_variable/makedict/after.json
rename to tests/dictionaries_old/01base_file_owner_variable/makedict/after.json
diff --git a/tests/dictionaries/01base_file_owner_variable/makedict/base.json b/tests/dictionaries_old/01base_file_owner_variable/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_file_owner_variable/makedict/base.json
rename to tests/dictionaries_old/01base_file_owner_variable/makedict/base.json
diff --git a/tests/dictionaries/01base_file_owner_variable/makedict/before.json b/tests/dictionaries_old/01base_file_owner_variable/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_file_owner_variable/makedict/before.json
rename to tests/dictionaries_old/01base_file_owner_variable/makedict/before.json
diff --git a/tests/dictionaries/01base_file_owner_variable/no_base b/tests/dictionaries_old/01base_file_owner_variable/no_base
similarity index 100%
rename from tests/dictionaries/01base_file_owner_variable/no_base
rename to tests/dictionaries_old/01base_file_owner_variable/no_base
diff --git a/tests/dictionaries_old/01base_file_owner_variable/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file_owner_variable/result/rougail/00-base.yml
new file mode 100644
index 000000000..0b6263999
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_owner_variable/result/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+ owner:
+ type: unix_user
+ default: nobody
+ group:
+ type: unix_user
+ default: nobody
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_owner_variable/result/services/00-base.yml b/tests/dictionaries_old/01base_file_owner_variable/result/services/00-base.yml
new file mode 100644
index 000000000..9361c0441
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_owner_variable/result/services/00-base.yml
@@ -0,0 +1,18 @@
+test.service:
+ files:
+ /etc/file:
+ owner:
+ name: rougail.general.owner
+ type: variable
+ group:
+ name: rougail.general.group
+ type: variable
+ /etc/file2:
+ owner:
+ name: rougail.general.owner
+ type: variable
+ group:
+ name: rougail.general.group
+ type: variable
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_owner_variable/tiramisu/base.py b/tests/dictionaries_old/01base_file_owner_variable/tiramisu/base.py
new file mode 100644
index 000000000..e19d29101
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_owner_variable/tiramisu/base.py
@@ -0,0 +1,50 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = UsernameOption(name="owner", doc="owner", default="nobody", properties=frozenset({"mandatory", "normal"}))
+option_5 = UsernameOption(name="group", doc="group", default="nobody", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_10 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_11 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_12 = SymLinkOption(name="owner", opt=option_4)
+option_13 = SymLinkOption(name="group", opt=option_5)
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12, option_13, option_14])
+option_16 = FilenameOption(name="name", doc="name", default="/etc/file2")
+option_17 = FilenameOption(name="source", doc="source", default="/etc/file2")
+option_18 = SymLinkOption(name="owner", opt=option_4)
+option_19 = SymLinkOption(name="group", opt=option_5)
+option_20 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_15 = OptionDescription(name="file2", doc="file2", children=[option_16, option_17, option_18, option_19, option_20])
+optiondescription_15.impl_set_information('engine', "jinja")
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9, optiondescription_15])
+option_21 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_21, option_22])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries/01base_file_owner_variable/tiramisu/multi.py b/tests/dictionaries_old/01base_file_owner_variable/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_owner_variable/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_owner_variable/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_owner/tmpl/file b/tests/dictionaries_old/01base_file_owner_variable/tmpl/file
similarity index 100%
rename from tests/dictionaries/01base_file_owner/tmpl/file
rename to tests/dictionaries_old/01base_file_owner_variable/tmpl/file
diff --git a/tests/dictionaries/01base_file_owner/tmpl/file2 b/tests/dictionaries_old/01base_file_owner_variable/tmpl/file2
similarity index 100%
rename from tests/dictionaries/01base_file_owner/tmpl/file2
rename to tests/dictionaries_old/01base_file_owner_variable/tmpl/file2
diff --git a/tests/dictionaries/01base_file_owner_variable/xml/00-base.xml b/tests/dictionaries_old/01base_file_owner_variable/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_owner_variable/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_owner_variable/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_owner_variable/yml/00-base.yml b/tests/dictionaries_old/01base_file_owner_variable/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_owner_variable/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_owner_variable/yml/00-base.yml
diff --git a/tests/dictionaries_old/01base_file_patch/00-base.xml b/tests/dictionaries_old/01base_file_patch/00-base.xml
deleted file mode 100644
index 9f2dbf082..000000000
--- a/tests/dictionaries_old/01base_file_patch/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- /etc/file
- /etc/file2
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01base_file_patch/makedict/after.json b/tests/dictionaries_old/01base_file_patch/makedict/after.json
index c8edf346f..c63a8561a 100644
--- a/tests/dictionaries_old/01base_file_patch/makedict/after.json
+++ b/tests/dictionaries_old/01base_file_patch/makedict/after.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/etc/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/01base_file_patch/makedict/base.json b/tests/dictionaries_old/01base_file_patch/makedict/base.json
index c9048468a..3524da356 100644
--- a/tests/dictionaries_old/01base_file_patch/makedict/base.json
+++ b/tests/dictionaries_old/01base_file_patch/makedict/base.json
@@ -1,9 +1,11 @@
{
"rougail.general.mode_conteneur_actif": "non",
- "services.test.files.file.name": "/etc/file",
- "services.test.files.file.activate": true,
- "services.test.files.file2.name": "/etc/file2",
- "services.test.files.file2.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": true,
+ "services.test_service.files.file2.name": "/etc/file2",
+ "services.test_service.files.file2.source": "file2",
+ "services.test_service.files.file2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/01base_file_patch/makedict/before.json b/tests/dictionaries_old/01base_file_patch/makedict/before.json
index c8edf346f..c63a8561a 100644
--- a/tests/dictionaries_old/01base_file_patch/makedict/before.json
+++ b/tests/dictionaries_old/01base_file_patch/makedict/before.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/etc/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/01base_file_patch/result/etc/file b/tests/dictionaries_old/01base_file_patch/result/etc/file
deleted file mode 100644
index 893adcd31..000000000
--- a/tests/dictionaries_old/01base_file_patch/result/etc/file
+++ /dev/null
@@ -1 +0,0 @@
-patched
diff --git a/tests/dictionaries_old/01base_file_patch/result/etc/file2 b/tests/dictionaries_old/01base_file_patch/result/etc/file2
deleted file mode 100644
index 893adcd31..000000000
--- a/tests/dictionaries_old/01base_file_patch/result/etc/file2
+++ /dev/null
@@ -1 +0,0 @@
-patched
diff --git a/tests/dictionaries_old/01base_file_patch/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file_patch/result/rougail/00-base.yml
new file mode 100644
index 000000000..6f06c87e2
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_patch/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_patch/result/services/00-base.yml b/tests/dictionaries_old/01base_file_patch/result/services/00-base.yml
new file mode 100644
index 000000000..2618c05c4
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_patch/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/file: {}
+ /etc/file2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_patch/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/01base_file_patch/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 2dab2179e..000000000
--- a/tests/dictionaries_old/01base_file_patch/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-z /etc/file - - - - -
-C /etc/file2 0644 root root - /usr/local/lib/etc/file2
-z /etc/file2 - - - - -
diff --git a/tests/dictionaries_old/01base_file_patch/tiramisu/base.py b/tests/dictionaries_old/01base_file_patch/tiramisu/base.py
index 25ad4894b..43f70c975 100644
--- a/tests/dictionaries_old/01base_file_patch/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_file_patch/tiramisu/base.py
@@ -1,31 +1,44 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9])
-option_7.impl_set_information('source', "file")
-option_11 = FilenameOption(name="name", doc="name", default="/etc/file2")
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = OptionDescription(name="file2", doc="file2", children=[option_11, option_12])
-option_10.impl_set_information('engine', "jinja")
-option_10.impl_set_information('source', "file2")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_10])
-option_13 = BoolOption(name="activate", doc="activate", default=True)
-option_14 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_13, option_14])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/file2")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/file2")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="file2", doc="file2", children=[option_12, option_13, option_14])
+optiondescription_11.impl_set_information('engine', "jinja")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_16 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_15, option_16])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/01base_file_patch/tiramisu/multi.py b/tests/dictionaries_old/01base_file_patch/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_patch/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_patch/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_patch/xml/00-base.xml b/tests/dictionaries_old/01base_file_patch/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_patch/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_patch/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_patch/yml/00-base.yml b/tests/dictionaries_old/01base_file_patch/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_patch/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_patch/yml/00-base.yml
diff --git a/tests/dictionaries/01auto_withoutparam/__init__.py b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/__init__.py
similarity index 100%
rename from tests/dictionaries/01auto_withoutparam/__init__.py
rename to tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/__init__.py
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/file_tmpfiles_delete_before_create b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/file_tmpfiles_delete_before_create
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_delete_before_create/file_tmpfiles_delete_before_create
rename to tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/file_tmpfiles_delete_before_create
diff --git a/tests/dictionaries/01base_file/makedict/after.json b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_file/makedict/after.json
rename to tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/makedict/after.json
diff --git a/tests/dictionaries/01base_file/makedict/base.json b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_file/makedict/base.json
rename to tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/makedict/base.json
diff --git a/tests/dictionaries/01base_file/makedict/before.json b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_file/makedict/before.json
rename to tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/makedict/before.json
diff --git a/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/result/rougail/00-base.yml
new file mode 100644
index 000000000..6f06c87e2
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/result/services/00-base.yml b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/result/services/00-base.yml
new file mode 100644
index 000000000..2618c05c4
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/file: {}
+ /etc/file2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/tiramisu/base.py b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/tiramisu/base.py
new file mode 100644
index 000000000..43f70c975
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/tiramisu/base.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_9 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/file2")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/file2")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="file2", doc="file2", children=[option_12, option_13, option_14])
+optiondescription_11.impl_set_information('engine', "jinja")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_16 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_15, option_16])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/tiramisu/multi.py b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_delete_before_create/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_owner_variable/tmpl/file b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/tmpl/file
similarity index 100%
rename from tests/dictionaries/01base_file_owner_variable/tmpl/file
rename to tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/tmpl/file
diff --git a/tests/dictionaries/01base_file_owner_variable/tmpl/file2 b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/tmpl/file2
similarity index 100%
rename from tests/dictionaries/01base_file_owner_variable/tmpl/file2
rename to tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/tmpl/file2
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/xml/00-base.xml b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_delete_before_create/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/yml/00-base.yml b/tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_delete_before_create/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_tmpfiles_delete_before_create/yml/00-base.yml
diff --git a/tests/dictionaries/01base_certificate_owner/__init__.py b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner/__init__.py
rename to tests/dictionaries_old/01base_file_tmpfiles_factory_dir/__init__.py
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/file_tmpfiles_factory_dir b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/file_tmpfiles_factory_dir
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_factory_dir/file_tmpfiles_factory_dir
rename to tests/dictionaries_old/01base_file_tmpfiles_factory_dir/file_tmpfiles_factory_dir
diff --git a/tests/dictionaries/01base_file_include/makedict/after.json b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_file_include/makedict/after.json
rename to tests/dictionaries_old/01base_file_tmpfiles_factory_dir/makedict/after.json
diff --git a/tests/dictionaries/01base_file_include/makedict/base.json b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_file_include/makedict/base.json
rename to tests/dictionaries_old/01base_file_tmpfiles_factory_dir/makedict/base.json
diff --git a/tests/dictionaries/01base_file_include/makedict/before.json b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_file_include/makedict/before.json
rename to tests/dictionaries_old/01base_file_tmpfiles_factory_dir/makedict/before.json
diff --git a/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/result/rougail/00-base.yml
new file mode 100644
index 000000000..6f06c87e2
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/result/services/00-base.yml b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/result/services/00-base.yml
new file mode 100644
index 000000000..2618c05c4
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/file: {}
+ /etc/file2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/tiramisu/base.py b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/tiramisu/base.py
new file mode 100644
index 000000000..43f70c975
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/tiramisu/base.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_9 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/file2")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/file2")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="file2", doc="file2", children=[option_12, option_13, option_14])
+optiondescription_11.impl_set_information('engine', "jinja")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_16 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_15, option_16])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/tiramisu/multi.py b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_factory_dir/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_tmpfiles_factory_dir/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/tmpl/file b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/tmpl/file
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_delete_before_create/tmpl/file
rename to tests/dictionaries_old/01base_file_tmpfiles_factory_dir/tmpl/file
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/tmpl/file2 b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/tmpl/file2
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_delete_before_create/tmpl/file2
rename to tests/dictionaries_old/01base_file_tmpfiles_factory_dir/tmpl/file2
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/xml/00-base.xml b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_factory_dir/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_tmpfiles_factory_dir/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/yml/00-base.yml b/tests/dictionaries_old/01base_file_tmpfiles_factory_dir/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_factory_dir/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_tmpfiles_factory_dir/yml/00-base.yml
diff --git a/tests/dictionaries_old/01base_file_utfchar/00-base.xml b/tests/dictionaries_old/01base_file_utfchar/00-base.xml
deleted file mode 100644
index 9d943bdbc..000000000
--- a/tests/dictionaries_old/01base_file_utfchar/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- /etc/systemd-makefs@dev-disk-by\x2dpartlabel
- /etc/systemd-makefs@dev-disk-by\x2dpartlabel2
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01base_file_utfchar/makedict/after.json b/tests/dictionaries_old/01base_file_utfchar/makedict/after.json
index 443ae7426..752041c16 100644
--- a/tests/dictionaries_old/01base_file_utfchar/makedict/after.json
+++ b/tests/dictionaries_old/01base_file_utfchar/makedict/after.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "non"
},
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel.name": {
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.name": {
"owner": "default",
"value": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel"
},
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel.activate": {
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.source": {
+ "owner": "default",
+ "value": "systemd-makefs@dev-disk-by\\x2dpartlabel"
+ },
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.activate": {
"owner": "default",
"value": true
},
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.name": {
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.name": {
"owner": "default",
"value": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2"
},
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.activate": {
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.source": {
+ "owner": "default",
+ "value": "systemd-makefs@dev-disk-by\\x2dpartlabel2"
+ },
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/01base_file_utfchar/makedict/base.json b/tests/dictionaries_old/01base_file_utfchar/makedict/base.json
index 2ae7cd2f7..f07f3ac16 100644
--- a/tests/dictionaries_old/01base_file_utfchar/makedict/base.json
+++ b/tests/dictionaries_old/01base_file_utfchar/makedict/base.json
@@ -1,9 +1,11 @@
{
"rougail.general.mode_conteneur_actif": "non",
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel.name": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel",
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel.activate": true,
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.name": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2",
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.name": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel",
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.source": "systemd-makefs@dev-disk-by\\x2dpartlabel",
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.activate": true,
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.name": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2",
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.source": "systemd-makefs@dev-disk-by\\x2dpartlabel2",
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/01base_file_utfchar/makedict/before.json b/tests/dictionaries_old/01base_file_utfchar/makedict/before.json
index 443ae7426..752041c16 100644
--- a/tests/dictionaries_old/01base_file_utfchar/makedict/before.json
+++ b/tests/dictionaries_old/01base_file_utfchar/makedict/before.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "non"
},
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel.name": {
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.name": {
"owner": "default",
"value": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel"
},
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel.activate": {
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.source": {
+ "owner": "default",
+ "value": "systemd-makefs@dev-disk-by\\x2dpartlabel"
+ },
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel.activate": {
"owner": "default",
"value": true
},
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.name": {
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.name": {
"owner": "default",
"value": "/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2"
},
- "services.test.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.activate": {
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.source": {
+ "owner": "default",
+ "value": "systemd-makefs@dev-disk-by\\x2dpartlabel2"
+ },
+ "services.test_service.files.systemd_makefs@dev_disk_by\\x2dpartlabel2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git "a/tests/dictionaries_old/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel" "b/tests/dictionaries_old/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel"
deleted file mode 100644
index d907505b5..000000000
--- "a/tests/dictionaries_old/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel"
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git "a/tests/dictionaries_old/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2" "b/tests/dictionaries_old/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2"
deleted file mode 100644
index d907505b5..000000000
--- "a/tests/dictionaries_old/01base_file_utfchar/result/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2"
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/01base_file_utfchar/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file_utfchar/result/rougail/00-base.yml
new file mode 100644
index 000000000..6f06c87e2
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_utfchar/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_utfchar/result/services/00-base.yml b/tests/dictionaries_old/01base_file_utfchar/result/services/00-base.yml
new file mode 100644
index 000000000..3b7573b55
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_utfchar/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/systemd-makefs@dev-disk-by\x2dpartlabel: {}
+ /etc/systemd-makefs@dev-disk-by\x2dpartlabel2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_utfchar/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/01base_file_utfchar/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 23f97d816..000000000
--- a/tests/dictionaries_old/01base_file_utfchar/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-C /etc/systemd-makefs@dev-disk-by\x2dpartlabel 0644 root root - /usr/local/lib/etc/systemd-makefs@dev-disk-by\x2dpartlabel
-z /etc/systemd-makefs@dev-disk-by\x2dpartlabel - - - - -
-C /etc/systemd-makefs@dev-disk-by\x2dpartlabel2 0644 root root - /usr/local/lib/etc/systemd-makefs@dev-disk-by\x2dpartlabel2
-z /etc/systemd-makefs@dev-disk-by\x2dpartlabel2 - - - - -
diff --git a/tests/dictionaries_old/01base_file_utfchar/tiramisu/base.py b/tests/dictionaries_old/01base_file_utfchar/tiramisu/base.py
index c671d23cf..6e7a711c9 100644
--- a/tests/dictionaries_old/01base_file_utfchar/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_file_utfchar/tiramisu/base.py
@@ -1,31 +1,44 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/systemd-makefs@dev-disk-by\\x2dpartlabel")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="systemd_makefs@dev_disk_by\\x2dpartlabel", doc="systemd-makefs@dev-disk-by\\x2dpartlabel", children=[option_8, option_9])
-option_7.impl_set_information('source', "systemd-makefs@dev-disk-by\\x2dpartlabel")
-option_11 = FilenameOption(name="name", doc="name", default="/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2")
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = OptionDescription(name="systemd_makefs@dev_disk_by\\x2dpartlabel2", doc="systemd-makefs@dev-disk-by\\x2dpartlabel2", children=[option_11, option_12])
-option_10.impl_set_information('engine', "jinja")
-option_10.impl_set_information('source', "systemd-makefs@dev-disk-by\\x2dpartlabel2")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_10])
-option_13 = BoolOption(name="activate", doc="activate", default=True)
-option_14 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_13, option_14])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/systemd-makefs@dev-disk-by\\x2dpartlabel")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="systemd_makefs@dev_disk_by\\x2dpartlabel", doc="systemd_makefs@dev_disk_by\\x2dpartlabel", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/systemd-makefs@dev-disk-by\\x2dpartlabel2")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="systemd_makefs@dev_disk_by\\x2dpartlabel2", doc="systemd_makefs@dev_disk_by\\x2dpartlabel2", children=[option_12, option_13, option_14])
+optiondescription_11.impl_set_information('engine', "jinja")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_16 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_15, option_16])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/01base_file_utfchar/tiramisu/multi.py b/tests/dictionaries_old/01base_file_utfchar/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_utfchar/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_utfchar/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_utfchar/xml/00-base.xml b/tests/dictionaries_old/01base_file_utfchar/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_utfchar/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_utfchar/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_utfchar/yml/00-base.yml b/tests/dictionaries_old/01base_file_utfchar/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_utfchar/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_utfchar/yml/00-base.yml
diff --git a/tests/dictionaries/01base_certificate_owner_variable/__init__.py b/tests/dictionaries_old/01base_file_var_source/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_certificate_owner_variable/__init__.py
rename to tests/dictionaries_old/01base_file_var_source/__init__.py
diff --git a/tests/dictionaries/01base_file_var_source/makedict/after.json b/tests/dictionaries_old/01base_file_var_source/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_file_var_source/makedict/after.json
rename to tests/dictionaries_old/01base_file_var_source/makedict/after.json
diff --git a/tests/dictionaries/01base_file_var_source/makedict/base.json b/tests/dictionaries_old/01base_file_var_source/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_file_var_source/makedict/base.json
rename to tests/dictionaries_old/01base_file_var_source/makedict/base.json
diff --git a/tests/dictionaries/01base_file_var_source/makedict/before.json b/tests/dictionaries_old/01base_file_var_source/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_file_var_source/makedict/before.json
rename to tests/dictionaries_old/01base_file_var_source/makedict/before.json
diff --git a/tests/dictionaries_old/01base_file_var_source/result/rougail/00-base.yml b/tests/dictionaries_old/01base_file_var_source/result/rougail/00-base.yml
new file mode 100644
index 000000000..9d8f6ecf8
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_var_source/result/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ source_var:
+ type: string
+ description: Description
+ default: file
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_var_source/result/services/00-base.yml b/tests/dictionaries_old/01base_file_var_source/result/services/00-base.yml
new file mode 100644
index 000000000..3edbf08d8
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_var_source/result/services/00-base.yml
@@ -0,0 +1,7 @@
+test.service:
+ files:
+ /etc/file:
+ source:
+ name: rougail.general.source_var
+ type: variable
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_file_var_source/tiramisu/base.py b/tests/dictionaries_old/01base_file_var_source/tiramisu/base.py
new file mode 100644
index 000000000..d99f5cb80
--- /dev/null
+++ b/tests/dictionaries_old/01base_file_var_source/tiramisu/base.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="source_var", doc="Description", default="file", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_9 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_10 = SymLinkOption(name="source", opt=option_3)
+option_11 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_8 = OptionDescription(name="rougail_general_source_var", doc="rougail_general_source_var", children=[option_9, option_10, option_11])
+optiondescription_7 = OptionDescription(name="files", doc="files", children=[optiondescription_8])
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+option_13 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_6 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_7, option_12, option_13])
+optiondescription_6.impl_set_information('type', "service")
+optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries/01base_file_var_source/tiramisu/multi.py b/tests/dictionaries_old/01base_file_var_source/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_file_var_source/tiramisu/multi.py
rename to tests/dictionaries_old/01base_file_var_source/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/tmpl/file b/tests/dictionaries_old/01base_file_var_source/tmpl/file
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_factory_dir/tmpl/file
rename to tests/dictionaries_old/01base_file_var_source/tmpl/file
diff --git a/tests/dictionaries/01base_file_var_source/xml/00-base.xml b/tests/dictionaries_old/01base_file_var_source/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_file_var_source/xml/00-base.xml
rename to tests/dictionaries_old/01base_file_var_source/xml/00-base.xml
diff --git a/tests/dictionaries/01base_file_var_source/yml/00-base.yml b/tests/dictionaries_old/01base_file_var_source/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_file_var_source/yml/00-base.yml
rename to tests/dictionaries_old/01base_file_var_source/yml/00-base.yml
diff --git a/tests/dictionaries_old/01base_float/00-base.xml b/tests/dictionaries_old/01base_float/00-base.xml
deleted file mode 100644
index e775553e7..000000000
--- a/tests/dictionaries_old/01base_float/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- 0.527
-
-
- 0.527
-
-
-
-
diff --git a/tests/dictionaries_old/01base_float/result/rougail/00-base.yml b/tests/dictionaries_old/01base_float/result/rougail/00-base.yml
new file mode 100644
index 000000000..aa39818c0
--- /dev/null
+++ b/tests/dictionaries_old/01base_float/result/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ float:
+ type: float
+ description: Description
+ default: 0.527
+ float_multi:
+ type: float
+ description: Description
+ multi: true
+ default:
+ - 0.527
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_float/tiramisu/base.py b/tests/dictionaries_old/01base_float/tiramisu/base.py
index 0d3409738..1179d223c 100644
--- a/tests/dictionaries_old/01base_float/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_float/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = FloatOption(name="float", doc="Description", default=0.527, properties=frozenset({"mandatory", "normal"}))
option_4 = FloatOption(name="float_multi", doc="Description", multi=True, default=[0.527], default_multi=0.527, properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_float/tiramisu/multi.py b/tests/dictionaries_old/01base_float/tiramisu/multi.py
new file mode 100644
index 000000000..6d87b4433
--- /dev/null
+++ b/tests/dictionaries_old/01base_float/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = FloatOption(name="float", doc="Description", default=0.527, properties=frozenset({"mandatory", "normal"}))
+option_3 = FloatOption(name="float_multi", doc="Description", multi=True, default=[0.527], default_multi=0.527, properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = FloatOption(name="float", doc="Description", default=0.527, properties=frozenset({"mandatory", "normal"}))
+option_6 = FloatOption(name="float_multi", doc="Description", multi=True, default=[0.527], default_multi=0.527, properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/01base_float/xml/00-base.xml b/tests/dictionaries_old/01base_float/xml/00-base.xml
new file mode 100644
index 000000000..955470484
--- /dev/null
+++ b/tests/dictionaries_old/01base_float/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ 0.527
+
+
+ 0.527
+
+
+
+
diff --git a/tests/dictionaries_old/01base_float/yml/00-base.yml b/tests/dictionaries_old/01base_float/yml/00-base.yml
new file mode 100644
index 000000000..4d8be7c00
--- /dev/null
+++ b/tests/dictionaries_old/01base_float/yml/00-base.yml
@@ -0,0 +1,17 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: float
+ type: float
+ description: Description
+ value:
+ - text: 0.527
+ - name: float_multi
+ type: float
+ description: Description
+ multi: true
+ value:
+ - text: 0.527
diff --git a/tests/dictionaries_old/01base_help_quote/00-base.xml b/tests/dictionaries_old/01base_help_quote/00-base.xml
deleted file mode 100644
index 43c3fdae1..000000000
--- a/tests/dictionaries_old/01base_help_quote/00-base.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/01base_help_quote/result/rougail/00-base.yml b/tests/dictionaries_old/01base_help_quote/result/rougail/00-base.yml
new file mode 100644
index 000000000..11a0cbd92
--- /dev/null
+++ b/tests/dictionaries_old/01base_help_quote/result/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ help: message with '
+ mode_conteneur_actif1:
+ type: string
+ description: Redefine description
+ help: message with "
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_help_quote/tiramisu/base.py b/tests/dictionaries_old/01base_help_quote/tiramisu/base.py
index 36f00605d..932fe99be 100644
--- a/tests/dictionaries_old/01base_help_quote/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_help_quote/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", properties=frozenset({"normal"}))
option_3.impl_set_information('help', "message with '")
option_4 = StrOption(name="mode_conteneur_actif1", doc="Redefine description", properties=frozenset({"normal"}))
option_4.impl_set_information('help', "message with \"")
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_help_quote/tiramisu/multi.py b/tests/dictionaries_old/01base_help_quote/tiramisu/multi.py
new file mode 100644
index 000000000..1ca1981b0
--- /dev/null
+++ b/tests/dictionaries_old/01base_help_quote/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", properties=frozenset({"normal"}))
+option_2.impl_set_information('help', "message with '")
+option_3 = StrOption(name="mode_conteneur_actif1", doc="Redefine description", properties=frozenset({"normal"}))
+option_3.impl_set_information('help', "message with \"")
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="mode_conteneur_actif", doc="Redefine description", properties=frozenset({"normal"}))
+option_5.impl_set_information('help', "message with '")
+option_6 = StrOption(name="mode_conteneur_actif1", doc="Redefine description", properties=frozenset({"normal"}))
+option_6.impl_set_information('help', "message with \"")
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/01base_help_quote/xml/00-base.xml b/tests/dictionaries_old/01base_help_quote/xml/00-base.xml
new file mode 100644
index 000000000..dacddfcf5
--- /dev/null
+++ b/tests/dictionaries_old/01base_help_quote/xml/00-base.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/01base_help_quote/yml/00-base.yml b/tests/dictionaries_old/01base_help_quote/yml/00-base.yml
new file mode 100644
index 000000000..854057c0a
--- /dev/null
+++ b/tests/dictionaries_old/01base_help_quote/yml/00-base.yml
@@ -0,0 +1,14 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ help: message with '
+ - name: mode_conteneur_actif1
+ type: string
+ description: Redefine description
+ help: message with "
diff --git a/tests/dictionaries_old/01base_multi/00-base.xml b/tests/dictionaries_old/01base_multi/00-base.xml
deleted file mode 100644
index 67ec9b798..000000000
--- a/tests/dictionaries_old/01base_multi/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01base_multi/result/rougail/00-base.yml b/tests/dictionaries_old/01base_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..13a77c762
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ default:
+ - non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_multi/tiramisu/base.py b/tests/dictionaries_old/01base_multi/tiramisu/base.py
index 79e3d3436..73ee68ca0 100644
--- a/tests/dictionaries_old/01base_multi/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_multi/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_multi/tiramisu/multi.py b/tests/dictionaries_old/01base_multi/tiramisu/multi.py
new file mode 100644
index 000000000..4b92ec1d2
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_multi/xml/00-base.xml b/tests/dictionaries_old/01base_multi/xml/00-base.xml
new file mode 100644
index 000000000..c6c0f6075
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/01base_multi/yml/00-base.yml b/tests/dictionaries_old/01base_multi/yml/00-base.yml
new file mode 100644
index 000000000..fcf4de66e
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi/yml/00-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ value:
+ - text: non
diff --git a/tests/dictionaries/01base_file/__init__.py b/tests/dictionaries_old/01base_multi_notuniq/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file/__init__.py
rename to tests/dictionaries_old/01base_multi_notuniq/__init__.py
diff --git a/tests/dictionaries_old/01base_multi_notuniq/makedict/after.json b/tests/dictionaries_old/01base_multi_notuniq/makedict/after.json
new file mode 100644
index 000000000..cfec4b1fc
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_notuniq/makedict/after.json
@@ -0,0 +1,8 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": [
+ "non"
+ ]
+ }
+}
diff --git a/tests/dictionaries_old/01base_multi_notuniq/makedict/base.json b/tests/dictionaries_old/01base_multi_notuniq/makedict/base.json
new file mode 100644
index 000000000..feedadc62
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_notuniq/makedict/base.json
@@ -0,0 +1,5 @@
+{
+ "rougail.general.mode_conteneur_actif": [
+ "non"
+ ]
+}
diff --git a/tests/dictionaries_old/01base_multi_notuniq/makedict/before.json b/tests/dictionaries_old/01base_multi_notuniq/makedict/before.json
new file mode 100644
index 000000000..cfec4b1fc
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_notuniq/makedict/before.json
@@ -0,0 +1,8 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": [
+ "non"
+ ]
+ }
+}
diff --git a/tests/dictionaries_old/01base_multi_notuniq/result/rougail/00-base.yml b/tests/dictionaries_old/01base_multi_notuniq/result/rougail/00-base.yml
new file mode 100644
index 000000000..c86588600
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_notuniq/result/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ unique: false
+ default:
+ - non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_multi_notuniq/tiramisu/base.py b/tests/dictionaries_old/01base_multi_notuniq/tiramisu/base.py
new file mode 100644
index 000000000..056d7966b
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_notuniq/tiramisu/base.py
@@ -0,0 +1,29 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", "notunique"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_multi_notuniq/tiramisu/multi.py b/tests/dictionaries_old/01base_multi_notuniq/tiramisu/multi.py
new file mode 100644
index 000000000..98b0fa649
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_notuniq/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", "notunique"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", "notunique"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_multi_notuniq/xml/00-base.xml b/tests/dictionaries_old/01base_multi_notuniq/xml/00-base.xml
new file mode 100644
index 000000000..357f16593
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_notuniq/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/01base_multi_notuniq/yml/00-base.yml b/tests/dictionaries_old/01base_multi_notuniq/yml/00-base.yml
new file mode 100644
index 000000000..5a412f602
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_notuniq/yml/00-base.yml
@@ -0,0 +1,14 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ unique: false
+ value:
+ - text: non
diff --git a/tests/dictionaries/01base_file_disabled/__init__.py b/tests/dictionaries_old/01base_multi_uniq/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_disabled/__init__.py
rename to tests/dictionaries_old/01base_multi_uniq/__init__.py
diff --git a/tests/dictionaries_old/01base_multi_uniq/makedict/after.json b/tests/dictionaries_old/01base_multi_uniq/makedict/after.json
new file mode 100644
index 000000000..cfec4b1fc
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_uniq/makedict/after.json
@@ -0,0 +1,8 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": [
+ "non"
+ ]
+ }
+}
diff --git a/tests/dictionaries_old/01base_multi_uniq/makedict/base.json b/tests/dictionaries_old/01base_multi_uniq/makedict/base.json
new file mode 100644
index 000000000..feedadc62
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_uniq/makedict/base.json
@@ -0,0 +1,5 @@
+{
+ "rougail.general.mode_conteneur_actif": [
+ "non"
+ ]
+}
diff --git a/tests/dictionaries_old/01base_multi_uniq/makedict/before.json b/tests/dictionaries_old/01base_multi_uniq/makedict/before.json
new file mode 100644
index 000000000..cfec4b1fc
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_uniq/makedict/before.json
@@ -0,0 +1,8 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": [
+ "non"
+ ]
+ }
+}
diff --git a/tests/dictionaries_old/01base_multi_uniq/result/rougail/00-base.yml b/tests/dictionaries_old/01base_multi_uniq/result/rougail/00-base.yml
new file mode 100644
index 000000000..a40a48624
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_uniq/result/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ unique: true
+ default:
+ - non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_multi_uniq/tiramisu/base.py b/tests/dictionaries_old/01base_multi_uniq/tiramisu/base.py
new file mode 100644
index 000000000..7230b7375
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_uniq/tiramisu/base.py
@@ -0,0 +1,29 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", "unique"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_multi_uniq/tiramisu/multi.py b/tests/dictionaries_old/01base_multi_uniq/tiramisu/multi.py
new file mode 100644
index 000000000..7984527c6
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_uniq/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", "unique"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", "unique"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_multi_uniq/xml/00-base.xml b/tests/dictionaries_old/01base_multi_uniq/xml/00-base.xml
new file mode 100644
index 000000000..baded8a93
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_uniq/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/01base_multi_uniq/yml/00-base.yml b/tests/dictionaries_old/01base_multi_uniq/yml/00-base.yml
new file mode 100644
index 000000000..347045a07
--- /dev/null
+++ b/tests/dictionaries_old/01base_multi_uniq/yml/00-base.yml
@@ -0,0 +1,14 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ unique: true
+ value:
+ - text: non
diff --git a/tests/dictionaries/01base_file_include/__init__.py b/tests/dictionaries_old/01base_provider/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_include/__init__.py
rename to tests/dictionaries_old/01base_provider/__init__.py
diff --git a/tests/dictionaries/01base_provider/makedict/after.json b/tests/dictionaries_old/01base_provider/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_provider/makedict/after.json
rename to tests/dictionaries_old/01base_provider/makedict/after.json
diff --git a/tests/dictionaries/01base_provider/makedict/base.json b/tests/dictionaries_old/01base_provider/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_provider/makedict/base.json
rename to tests/dictionaries_old/01base_provider/makedict/base.json
diff --git a/tests/dictionaries/01base_provider/makedict/before.json b/tests/dictionaries_old/01base_provider/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_provider/makedict/before.json
rename to tests/dictionaries_old/01base_provider/makedict/before.json
diff --git a/tests/dictionaries_old/01base_provider/result/rougail/00-base.yml b/tests/dictionaries_old/01base_provider/result/rougail/00-base.yml
new file mode 100644
index 000000000..404c4d132
--- /dev/null
+++ b/tests/dictionaries_old/01base_provider/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ float:
+ type: float
+ description: Description
+ provider: float
+ default: 0.527
+ float_multi:
+ type: float
+ description: Description
+ multi: true
+ default:
+ - 0.527
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_provider/tiramisu/base.py b/tests/dictionaries_old/01base_provider/tiramisu/base.py
new file mode 100644
index 000000000..1179d223c
--- /dev/null
+++ b/tests/dictionaries_old/01base_provider/tiramisu/base.py
@@ -0,0 +1,30 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = FloatOption(name="float", doc="Description", default=0.527, properties=frozenset({"mandatory", "normal"}))
+option_4 = FloatOption(name="float_multi", doc="Description", multi=True, default=[0.527], default_multi=0.527, properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_provider/tiramisu/multi.py b/tests/dictionaries_old/01base_provider/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_provider/tiramisu/multi.py
rename to tests/dictionaries_old/01base_provider/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_provider/xml/00-base.xml b/tests/dictionaries_old/01base_provider/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_provider/xml/00-base.xml
rename to tests/dictionaries_old/01base_provider/xml/00-base.xml
diff --git a/tests/dictionaries/01base_provider/yml/00-base.yml b/tests/dictionaries_old/01base_provider/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_provider/yml/00-base.yml
rename to tests/dictionaries_old/01base_provider/yml/00-base.yml
diff --git a/tests/dictionaries/01base_file_include_content/__init__.py b/tests/dictionaries_old/01base_provider_extra/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_include_content/__init__.py
rename to tests/dictionaries_old/01base_provider_extra/__init__.py
diff --git a/tests/dictionaries/01base_provider_extra/makedict/after.json b/tests/dictionaries_old/01base_provider_extra/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_provider_extra/makedict/after.json
rename to tests/dictionaries_old/01base_provider_extra/makedict/after.json
diff --git a/tests/dictionaries/01base_provider_extra/makedict/base.json b/tests/dictionaries_old/01base_provider_extra/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_provider_extra/makedict/base.json
rename to tests/dictionaries_old/01base_provider_extra/makedict/base.json
diff --git a/tests/dictionaries/01base_provider_extra/makedict/before.json b/tests/dictionaries_old/01base_provider_extra/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_provider_extra/makedict/before.json
rename to tests/dictionaries_old/01base_provider_extra/makedict/before.json
diff --git a/tests/dictionaries_old/01base_provider_extra/result/extra/00-base.yml b/tests/dictionaries_old/01base_provider_extra/result/extra/00-base.yml
new file mode 100644
index 000000000..b3747cb48
--- /dev/null
+++ b/tests/dictionaries_old/01base_provider_extra/result/extra/00-base.yml
@@ -0,0 +1,5 @@
+example:
+ description:
+ type: string
+ provider: example
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_provider_extra/result/rougail/00-base.yml b/tests/dictionaries_old/01base_provider_extra/result/rougail/00-base.yml
new file mode 100644
index 000000000..4432e8bf9
--- /dev/null
+++ b/tests/dictionaries_old/01base_provider_extra/result/rougail/00-base.yml
@@ -0,0 +1,4 @@
+float:
+ type: float
+ description: Description
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_provider_extra/tiramisu/base.py b/tests/dictionaries_old/01base_provider_extra/tiramisu/base.py
new file mode 100644
index 000000000..2164ae76c
--- /dev/null
+++ b/tests/dictionaries_old/01base_provider_extra/tiramisu/base.py
@@ -0,0 +1,31 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = FloatOption(name="float", doc="Description", properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_5 = StrOption(name="description", doc="description", properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="example", doc="example", children=[option_5], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/01base_provider_extra/tiramisu/multi.py b/tests/dictionaries_old/01base_provider_extra/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_provider_extra/tiramisu/multi.py
rename to tests/dictionaries_old/01base_provider_extra/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_provider_extra/xml/00-base.xml b/tests/dictionaries_old/01base_provider_extra/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_provider_extra/xml/00-base.xml
rename to tests/dictionaries_old/01base_provider_extra/xml/00-base.xml
diff --git a/tests/dictionaries/01base_provider_extra/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/01base_provider_extra/xml/extra_dirs/extra/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_provider_extra/xml/extra_dirs/extra/00-base.xml
rename to tests/dictionaries_old/01base_provider_extra/xml/extra_dirs/extra/00-base.xml
diff --git a/tests/dictionaries/01base_provider_extra/yml/00-base.yml b/tests/dictionaries_old/01base_provider_extra/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_provider_extra/yml/00-base.yml
rename to tests/dictionaries_old/01base_provider_extra/yml/00-base.yml
diff --git a/tests/dictionaries/01base_provider_extra/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/01base_provider_extra/yml/extra_dirs/extra/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_provider_extra/yml/extra_dirs/extra/00-base.yml
rename to tests/dictionaries_old/01base_provider_extra/yml/extra_dirs/extra/00-base.yml
diff --git a/tests/dictionaries/01base_file_include_name/__init__.py b/tests/dictionaries_old/01base_provider_hidden/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_include_name/__init__.py
rename to tests/dictionaries_old/01base_provider_hidden/__init__.py
diff --git a/tests/dictionaries/01base_provider_hidden/makedict/after.json b/tests/dictionaries_old/01base_provider_hidden/makedict/after.json
similarity index 100%
rename from tests/dictionaries/01base_provider_hidden/makedict/after.json
rename to tests/dictionaries_old/01base_provider_hidden/makedict/after.json
diff --git a/tests/dictionaries/01base_provider_hidden/makedict/base.json b/tests/dictionaries_old/01base_provider_hidden/makedict/base.json
similarity index 100%
rename from tests/dictionaries/01base_provider_hidden/makedict/base.json
rename to tests/dictionaries_old/01base_provider_hidden/makedict/base.json
diff --git a/tests/dictionaries/01base_provider_hidden/makedict/before.json b/tests/dictionaries_old/01base_provider_hidden/makedict/before.json
similarity index 100%
rename from tests/dictionaries/01base_provider_hidden/makedict/before.json
rename to tests/dictionaries_old/01base_provider_hidden/makedict/before.json
diff --git a/tests/dictionaries_old/01base_provider_hidden/result/rougail/00-base.yml b/tests/dictionaries_old/01base_provider_hidden/result/rougail/00-base.yml
new file mode 100644
index 000000000..0601452d9
--- /dev/null
+++ b/tests/dictionaries_old/01base_provider_hidden/result/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ float:
+ type: float
+ description: Description
+ provider: float
+ hidden: true
+ default: 0.527
+ float_multi:
+ type: float
+ description: Description
+ multi: true
+ default:
+ - 0.527
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_provider_hidden/tiramisu/base.py b/tests/dictionaries_old/01base_provider_hidden/tiramisu/base.py
new file mode 100644
index 000000000..1d450b0bd
--- /dev/null
+++ b/tests/dictionaries_old/01base_provider_hidden/tiramisu/base.py
@@ -0,0 +1,30 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = FloatOption(name="float", doc="Description", default=0.527, properties=frozenset({"hidden", "mandatory", "normal"}))
+option_4 = FloatOption(name="float_multi", doc="Description", multi=True, default=[0.527], default_multi=0.527, properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01base_provider_hidden/tiramisu/multi.py b/tests/dictionaries_old/01base_provider_hidden/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01base_provider_hidden/tiramisu/multi.py
rename to tests/dictionaries_old/01base_provider_hidden/tiramisu/multi.py
diff --git a/tests/dictionaries/01base_provider_hidden/xml/00-base.xml b/tests/dictionaries_old/01base_provider_hidden/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01base_provider_hidden/xml/00-base.xml
rename to tests/dictionaries_old/01base_provider_hidden/xml/00-base.xml
diff --git a/tests/dictionaries/01base_provider_hidden/yml/00-base.yml b/tests/dictionaries_old/01base_provider_hidden/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01base_provider_hidden/yml/00-base.yml
rename to tests/dictionaries_old/01base_provider_hidden/yml/00-base.yml
diff --git a/tests/dictionaries_old/01base_value_doublequote/00-base.xml b/tests/dictionaries_old/01base_value_doublequote/00-base.xml
deleted file mode 100644
index df1c54f3a..000000000
--- a/tests/dictionaries_old/01base_value_doublequote/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- quote"
-
-
-
-
diff --git a/tests/dictionaries_old/01base_value_doublequote/result/rougail/00-base.yml b/tests/dictionaries_old/01base_value_doublequote/result/rougail/00-base.yml
new file mode 100644
index 000000000..ee8d8e599
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: quote"
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_value_doublequote/tiramisu/base.py b/tests/dictionaries_old/01base_value_doublequote/tiramisu/base.py
index fcaa24d15..7adc0220a 100644
--- a/tests/dictionaries_old/01base_value_doublequote/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_value_doublequote/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_value_doublequote/tiramisu/multi.py b/tests/dictionaries_old/01base_value_doublequote/tiramisu/multi.py
new file mode 100644
index 000000000..4f866735a
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_value_doublequote/xml/00-base.xml b/tests/dictionaries_old/01base_value_doublequote/xml/00-base.xml
new file mode 100644
index 000000000..f9e317735
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ quote"
+
+
+
+
diff --git a/tests/dictionaries_old/01base_value_doublequote/yml/00-base.yml b/tests/dictionaries_old/01base_value_doublequote/yml/00-base.yml
new file mode 100644
index 000000000..4addfc03c
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ value:
+ - text: quote"
diff --git a/tests/dictionaries_old/01base_value_doublequote2/00-base.xml b/tests/dictionaries_old/01base_value_doublequote2/00-base.xml
deleted file mode 100644
index 8f2faae96..000000000
--- a/tests/dictionaries_old/01base_value_doublequote2/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- quote'"
-
-
-
-
diff --git a/tests/dictionaries_old/01base_value_doublequote2/result/rougail/00-base.yml b/tests/dictionaries_old/01base_value_doublequote2/result/rougail/00-base.yml
new file mode 100644
index 000000000..3071f1a08
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote2/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: quote'"
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_value_doublequote2/tiramisu/base.py b/tests/dictionaries_old/01base_value_doublequote2/tiramisu/base.py
index a04bf77d7..209370a5e 100644
--- a/tests/dictionaries_old/01base_value_doublequote2/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_value_doublequote2/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote'\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_value_doublequote2/tiramisu/multi.py b/tests/dictionaries_old/01base_value_doublequote2/tiramisu/multi.py
new file mode 100644
index 000000000..5fefb986c
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote2/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote'\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote'\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_value_doublequote2/xml/00-base.xml b/tests/dictionaries_old/01base_value_doublequote2/xml/00-base.xml
new file mode 100644
index 000000000..dc3f93934
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote2/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ quote'"
+
+
+
+
diff --git a/tests/dictionaries_old/01base_value_doublequote2/yml/00-base.yml b/tests/dictionaries_old/01base_value_doublequote2/yml/00-base.yml
new file mode 100644
index 000000000..f09fc64b8
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote2/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ value:
+ - text: quote'"
diff --git a/tests/dictionaries_old/01base_value_doublequote3/00-base.xml b/tests/dictionaries_old/01base_value_doublequote3/00-base.xml
deleted file mode 100644
index 97070d9f4..000000000
--- a/tests/dictionaries_old/01base_value_doublequote3/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- quote\"\'
-
-
-
-
diff --git a/tests/dictionaries_old/01base_value_doublequote3/result/rougail/00-base.yml b/tests/dictionaries_old/01base_value_doublequote3/result/rougail/00-base.yml
new file mode 100644
index 000000000..7df61e911
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote3/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: quote\"\'
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_value_doublequote3/tiramisu/base.py b/tests/dictionaries_old/01base_value_doublequote3/tiramisu/base.py
index ba928d14d..93653a537 100644
--- a/tests/dictionaries_old/01base_value_doublequote3/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_value_doublequote3/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote\\\"\\'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_value_doublequote3/tiramisu/multi.py b/tests/dictionaries_old/01base_value_doublequote3/tiramisu/multi.py
new file mode 100644
index 000000000..97fd85c73
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote3/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote\\\"\\'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote\\\"\\'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_value_doublequote3/xml/00-base.xml b/tests/dictionaries_old/01base_value_doublequote3/xml/00-base.xml
new file mode 100644
index 000000000..fb2e6e0bd
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote3/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ quote\"\'
+
+
+
+
diff --git a/tests/dictionaries_old/01base_value_doublequote3/yml/00-base.yml b/tests/dictionaries_old/01base_value_doublequote3/yml/00-base.yml
new file mode 100644
index 000000000..4940603b0
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_doublequote3/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ value:
+ - text: quote\"\'
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote/00-base.xml b/tests/dictionaries_old/01base_value_multi_doublequote/00-base.xml
deleted file mode 100644
index 6f8b0f9ba..000000000
--- a/tests/dictionaries_old/01base_value_multi_doublequote/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- quote"
-
-
-
-
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote/result/rougail/00-base.yml b/tests/dictionaries_old/01base_value_multi_doublequote/result/rougail/00-base.yml
new file mode 100644
index 000000000..ca0dc5158
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_doublequote/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ default:
+ - quote"
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote/tiramisu/base.py b/tests/dictionaries_old/01base_value_multi_doublequote/tiramisu/base.py
index cb6728980..db7e5397a 100644
--- a/tests/dictionaries_old/01base_value_multi_doublequote/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_value_multi_doublequote/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['quote"'], default_multi="quote\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote/tiramisu/multi.py b/tests/dictionaries_old/01base_value_multi_doublequote/tiramisu/multi.py
new file mode 100644
index 000000000..2f6fb0031
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_doublequote/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['quote"'], default_multi="quote\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['quote"'], default_multi="quote\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote/xml/00-base.xml b/tests/dictionaries_old/01base_value_multi_doublequote/xml/00-base.xml
new file mode 100644
index 000000000..da0614e0f
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_doublequote/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ quote"
+
+
+
+
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote/yml/00-base.yml b/tests/dictionaries_old/01base_value_multi_doublequote/yml/00-base.yml
new file mode 100644
index 000000000..3adea7a9a
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_doublequote/yml/00-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ value:
+ - text: quote"
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote2/00-base.xml b/tests/dictionaries_old/01base_value_multi_doublequote2/00-base.xml
deleted file mode 100644
index cc6ed95ec..000000000
--- a/tests/dictionaries_old/01base_value_multi_doublequote2/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- quote'"
-
-
-
-
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote2/result/rougail/00-base.yml b/tests/dictionaries_old/01base_value_multi_doublequote2/result/rougail/00-base.yml
new file mode 100644
index 000000000..d09865f89
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_doublequote2/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ default:
+ - quote'"
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote2/tiramisu/base.py b/tests/dictionaries_old/01base_value_multi_doublequote2/tiramisu/base.py
index c95d5892f..346b242d4 100644
--- a/tests/dictionaries_old/01base_value_multi_doublequote2/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_value_multi_doublequote2/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['quote\'"'], default_multi="quote'\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote2/tiramisu/multi.py b/tests/dictionaries_old/01base_value_multi_doublequote2/tiramisu/multi.py
new file mode 100644
index 000000000..993e150d5
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_doublequote2/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['quote\'"'], default_multi="quote'\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['quote\'"'], default_multi="quote'\"", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote2/xml/00-base.xml b/tests/dictionaries_old/01base_value_multi_doublequote2/xml/00-base.xml
new file mode 100644
index 000000000..35851b772
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_doublequote2/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ quote'"
+
+
+
+
diff --git a/tests/dictionaries_old/01base_value_multi_doublequote2/yml/00-base.yml b/tests/dictionaries_old/01base_value_multi_doublequote2/yml/00-base.yml
new file mode 100644
index 000000000..cd4790091
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_doublequote2/yml/00-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ value:
+ - text: quote'"
diff --git a/tests/dictionaries_old/01base_value_multi_quote/00-base.xml b/tests/dictionaries_old/01base_value_multi_quote/00-base.xml
deleted file mode 100644
index a2a33d6db..000000000
--- a/tests/dictionaries_old/01base_value_multi_quote/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- quote'
-
-
-
-
diff --git a/tests/dictionaries_old/01base_value_multi_quote/result/rougail/00-base.yml b/tests/dictionaries_old/01base_value_multi_quote/result/rougail/00-base.yml
new file mode 100644
index 000000000..f998e9268
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_quote/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ default:
+ - quote'
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_value_multi_quote/tiramisu/base.py b/tests/dictionaries_old/01base_value_multi_quote/tiramisu/base.py
index c62b6670e..fbc54e930 100644
--- a/tests/dictionaries_old/01base_value_multi_quote/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_value_multi_quote/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=["quote'"], default_multi="quote'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_value_multi_quote/tiramisu/multi.py b/tests/dictionaries_old/01base_value_multi_quote/tiramisu/multi.py
new file mode 100644
index 000000000..4f660b8b5
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_quote/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=["quote'"], default_multi="quote'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=["quote'"], default_multi="quote'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_value_multi_quote/xml/00-base.xml b/tests/dictionaries_old/01base_value_multi_quote/xml/00-base.xml
new file mode 100644
index 000000000..e61e305cd
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_quote/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ quote'
+
+
+
+
diff --git a/tests/dictionaries_old/01base_value_multi_quote/yml/00-base.yml b/tests/dictionaries_old/01base_value_multi_quote/yml/00-base.yml
new file mode 100644
index 000000000..51be55312
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_multi_quote/yml/00-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ multi: true
+ value:
+ - text: quote'
diff --git a/tests/dictionaries_old/01base_value_quote/00-base.xml b/tests/dictionaries_old/01base_value_quote/00-base.xml
deleted file mode 100644
index 1b8d7272c..000000000
--- a/tests/dictionaries_old/01base_value_quote/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- quote'
-
-
-
-
diff --git a/tests/dictionaries_old/01base_value_quote/result/rougail/00-base.yml b/tests/dictionaries_old/01base_value_quote/result/rougail/00-base.yml
new file mode 100644
index 000000000..d602e8e26
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_quote/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: quote'
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_value_quote/tiramisu/base.py b/tests/dictionaries_old/01base_value_quote/tiramisu/base.py
index 3a40d246d..60e250fed 100644
--- a/tests/dictionaries_old/01base_value_quote/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_value_quote/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_value_quote/tiramisu/multi.py b/tests/dictionaries_old/01base_value_quote/tiramisu/multi.py
new file mode 100644
index 000000000..0be7f55c8
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_quote/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine description", default="quote'", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_value_quote/xml/00-base.xml b/tests/dictionaries_old/01base_value_quote/xml/00-base.xml
new file mode 100644
index 000000000..17be48831
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_quote/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ quote'
+
+
+
+
diff --git a/tests/dictionaries_old/01base_value_quote/yml/00-base.yml b/tests/dictionaries_old/01base_value_quote/yml/00-base.yml
new file mode 100644
index 000000000..6819d2627
--- /dev/null
+++ b/tests/dictionaries_old/01base_value_quote/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ value:
+ - text: quote'
diff --git a/tests/dictionaries_old/01base_var_name_same_family/00-base.xml b/tests/dictionaries_old/01base_var_name_same_family/00-base.xml
deleted file mode 100644
index 7d8e62da1..000000000
--- a/tests/dictionaries_old/01base_var_name_same_family/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01base_var_name_same_family/result/rougail/00-base.yml b/tests/dictionaries_old/01base_var_name_same_family/result/rougail/00-base.yml
new file mode 100644
index 000000000..0a73fd775
--- /dev/null
+++ b/tests/dictionaries_old/01base_var_name_same_family/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ general:
+ type: string
+ description: description
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01base_var_name_same_family/tiramisu/base.py b/tests/dictionaries_old/01base_var_name_same_family/tiramisu/base.py
index 24c6c6c46..3198cc49d 100644
--- a/tests/dictionaries_old/01base_var_name_same_family/tiramisu/base.py
+++ b/tests/dictionaries_old/01base_var_name_same_family/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="general", doc="description", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01base_var_name_same_family/tiramisu/multi.py b/tests/dictionaries_old/01base_var_name_same_family/tiramisu/multi.py
new file mode 100644
index 000000000..c57e08b13
--- /dev/null
+++ b/tests/dictionaries_old/01base_var_name_same_family/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="general", doc="description", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="general", doc="description", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01base_var_name_same_family/xml/00-base.xml b/tests/dictionaries_old/01base_var_name_same_family/xml/00-base.xml
new file mode 100644
index 000000000..da0749bb6
--- /dev/null
+++ b/tests/dictionaries_old/01base_var_name_same_family/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/01base_var_name_same_family/yml/00-base.yml b/tests/dictionaries_old/01base_var_name_same_family/yml/00-base.yml
new file mode 100644
index 000000000..9e1545873
--- /dev/null
+++ b/tests/dictionaries_old/01base_var_name_same_family/yml/00-base.yml
@@ -0,0 +1,11 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: general
+ type: string
+ description: description
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/01boolean_no_mandatory/00-base.xml b/tests/dictionaries_old/01boolean_no_mandatory/00-base.xml
deleted file mode 100644
index f17d73cdc..000000000
--- a/tests/dictionaries_old/01boolean_no_mandatory/00-base.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/01boolean_no_mandatory/result/rougail/00-base.yml b/tests/dictionaries_old/01boolean_no_mandatory/result/rougail/00-base.yml
new file mode 100644
index 000000000..456cb907f
--- /dev/null
+++ b/tests/dictionaries_old/01boolean_no_mandatory/result/rougail/00-base.yml
@@ -0,0 +1,4 @@
+my_variable:
+ type: boolean
+ mandatory: false
+version: '1.0'
diff --git a/tests/dictionaries_old/01boolean_no_mandatory/tiramisu/base.py b/tests/dictionaries_old/01boolean_no_mandatory/tiramisu/base.py
index 60c2c0722..29befc534 100644
--- a/tests/dictionaries_old/01boolean_no_mandatory/tiramisu/base.py
+++ b/tests/dictionaries_old/01boolean_no_mandatory/tiramisu/base.py
@@ -1,16 +1,28 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = BoolOption(name="my_variable", doc="my_variable", default=True, properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01boolean_no_mandatory/tiramisu/multi.py b/tests/dictionaries_old/01boolean_no_mandatory/tiramisu/multi.py
new file mode 100644
index 000000000..81f238db0
--- /dev/null
+++ b/tests/dictionaries_old/01boolean_no_mandatory/tiramisu/multi.py
@@ -0,0 +1,32 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = BoolOption(name="my_variable", doc="my_variable", default=True, properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="1", doc="1", children=[optiondescription_4])
+option_2 = BoolOption(name="my_variable", doc="my_variable", default=True, properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="2", doc="2", children=[optiondescription_6])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3, optiondescription_5])
diff --git a/tests/dictionaries_old/01boolean_no_mandatory/xml/00-base.xml b/tests/dictionaries_old/01boolean_no_mandatory/xml/00-base.xml
new file mode 100644
index 000000000..ec14adb90
--- /dev/null
+++ b/tests/dictionaries_old/01boolean_no_mandatory/xml/00-base.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/01boolean_no_mandatory/yml/00-base.yml b/tests/dictionaries_old/01boolean_no_mandatory/yml/00-base.yml
new file mode 100644
index 000000000..9c5e14c23
--- /dev/null
+++ b/tests/dictionaries_old/01boolean_no_mandatory/yml/00-base.yml
@@ -0,0 +1,6 @@
+version: '0.10'
+variables:
+- variable:
+ - name: my_variable
+ type: boolean
+ mandatory: false
diff --git a/tests/dictionaries_old/01family_description/00-base.xml b/tests/dictionaries_old/01family_description/00-base.xml
deleted file mode 100644
index d43898234..000000000
--- a/tests/dictionaries_old/01family_description/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01family_description/result/rougail/00-base.yml b/tests/dictionaries_old/01family_description/result/rougail/00-base.yml
new file mode 100644
index 000000000..737ff62b9
--- /dev/null
+++ b/tests/dictionaries_old/01family_description/result/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ description: Other description
+ mode_conteneur_actif:
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01family_description/tiramisu/base.py b/tests/dictionaries_old/01family_description/tiramisu/base.py
index 0c2c6ac95..0b8e8bfaa 100644
--- a/tests/dictionaries_old/01family_description/tiramisu/base.py
+++ b/tests/dictionaries_old/01family_description/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="Other description", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="Other description", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01family_description/tiramisu/multi.py b/tests/dictionaries_old/01family_description/tiramisu/multi.py
new file mode 100644
index 000000000..0038de8de
--- /dev/null
+++ b/tests/dictionaries_old/01family_description/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="Other description", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="Other description", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01family_description/xml/00-base.xml b/tests/dictionaries_old/01family_description/xml/00-base.xml
new file mode 100644
index 000000000..bb32a55af
--- /dev/null
+++ b/tests/dictionaries_old/01family_description/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/01family_description/yml/00-base.yml b/tests/dictionaries_old/01family_description/yml/00-base.yml
new file mode 100644
index 000000000..d564de6f8
--- /dev/null
+++ b/tests/dictionaries_old/01family_description/yml/00-base.yml
@@ -0,0 +1,10 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: Other description
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/01fill_autofreeze/00-base.xml b/tests/dictionaries_old/01fill_autofreeze/00-base.xml
deleted file mode 100644
index a1f99cdee..000000000
--- a/tests/dictionaries_old/01fill_autofreeze/00-base.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- no
-
-
- no
-
-
- False
-
-
-
-
- my_var2
- my_var1
-
-
-
diff --git a/tests/dictionaries_old/01fill_autofreeze/result/rougail/00-base.yml b/tests/dictionaries_old/01fill_autofreeze/result/rougail/00-base.yml
new file mode 100644
index 000000000..7fafd05a6
--- /dev/null
+++ b/tests/dictionaries_old/01fill_autofreeze/result/rougail/00-base.yml
@@ -0,0 +1,11 @@
+my_var1:
+ type: string
+ default:
+ type: jinja
+ jinja: '{{ rougail.my_var2 | calc_val }}'
+my_var2:
+ default: 'no'
+server_deployed:
+ type: boolean
+ default: false
+version: '1.0'
diff --git a/tests/dictionaries_old/01fill_autofreeze/tiramisu/base.py b/tests/dictionaries_old/01fill_autofreeze/tiramisu/base.py
index 66f5ebe81..8c6fc94fd 100644
--- a/tests/dictionaries_old/01fill_autofreeze/tiramisu/base.py
+++ b/tests/dictionaries_old/01fill_autofreeze/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.my_var1'] = "{{ rougail.my_var2 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="my_var2", doc="my_var2", default="no", properties=frozenset({"mandatory", "normal"}))
+option_2 = StrOption(name="my_var1", doc="my_var1", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.my_var1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), 'rougail.my_var2': ParamOption(option_3)})), properties=frozenset({"normal"}))
option_4 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_2 = StrOption(name="my_var1", doc="my_var1", default=Calculation(func.calc_val, Params((ParamOption(option_3)))), properties=frozenset({"basic", "force_store_value", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue(True)}))}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01fill_autofreeze/tiramisu/multi.py b/tests/dictionaries_old/01fill_autofreeze/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01fill_autofreeze/tiramisu/multi.py
rename to tests/dictionaries_old/01fill_autofreeze/tiramisu/multi.py
diff --git a/tests/dictionaries_old/01fill_autofreeze/xml/00-base.xml b/tests/dictionaries_old/01fill_autofreeze/xml/00-base.xml
new file mode 100644
index 000000000..0be0ea322
--- /dev/null
+++ b/tests/dictionaries_old/01fill_autofreeze/xml/00-base.xml
@@ -0,0 +1,20 @@
+
+
+
+
+ no
+
+
+ no
+
+
+ False
+
+
+
+
+ my_var2
+ my_var1
+
+
+
diff --git a/tests/dictionaries/01fill_autofreeze/yml/00-base.yml b/tests/dictionaries_old/01fill_autofreeze/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01fill_autofreeze/yml/00-base.yml
rename to tests/dictionaries_old/01fill_autofreeze/yml/00-base.yml
diff --git a/tests/dictionaries_old/01fill_autosave/00-base.xml b/tests/dictionaries_old/01fill_autosave/00-base.xml
deleted file mode 100644
index b5bbda902..000000000
--- a/tests/dictionaries_old/01fill_autosave/00-base.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/01fill_autosave/result/rougail/00-base.yml b/tests/dictionaries_old/01fill_autosave/result/rougail/00-base.yml
new file mode 100644
index 000000000..b16c01b70
--- /dev/null
+++ b/tests/dictionaries_old/01fill_autosave/result/rougail/00-base.yml
@@ -0,0 +1,15 @@
+server_deployed:
+ type: boolean
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ auto_save: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01fill_autosave/tiramisu/base.py b/tests/dictionaries_old/01fill_autosave/tiramisu/base.py
index ea7a82c5b..89a5ce6d5 100644
--- a/tests/dictionaries_old/01fill_autosave/tiramisu/base.py
+++ b/tests/dictionaries_old/01fill_autosave/tiramisu/base.py
@@ -1,19 +1,61 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ rougail.general.mode_conteneur_actif1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_2 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamOption(option_5)))), properties=frozenset({"basic", "force_store_value"}))
-option_3 = OptionDescription(name="general", doc="general", children=[option_4, option_5], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), 'rougail.general.mode_conteneur_actif1': ParamOption(option_5)})), properties=frozenset({"basic", "force_store_value"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4, option_5], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01fill_autosave/tiramisu/multi.py b/tests/dictionaries_old/01fill_autosave/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01fill_autosave/tiramisu/multi.py
rename to tests/dictionaries_old/01fill_autosave/tiramisu/multi.py
diff --git a/tests/dictionaries/01fill_autosave/xml/00-base.xml b/tests/dictionaries_old/01fill_autosave/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01fill_autosave/xml/00-base.xml
rename to tests/dictionaries_old/01fill_autosave/xml/00-base.xml
diff --git a/tests/dictionaries/01fill_autosave/yml/00-base.yml b/tests/dictionaries_old/01fill_autosave/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01fill_autosave/yml/00-base.yml
rename to tests/dictionaries_old/01fill_autosave/yml/00-base.yml
diff --git a/tests/dictionaries_old/01fill_base/00-base.xml b/tests/dictionaries_old/01fill_base/00-base.xml
deleted file mode 100644
index a8241336e..000000000
--- a/tests/dictionaries_old/01fill_base/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/01fill_base/result/rougail/00-base.yml b/tests/dictionaries_old/01fill_base/result/rougail/00-base.yml
new file mode 100644
index 000000000..ab500946e
--- /dev/null
+++ b/tests/dictionaries_old/01fill_base/result/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01fill_base/tiramisu/base.py b/tests/dictionaries_old/01fill_base/tiramisu/base.py
index 9969def5a..158f117b5 100644
--- a/tests/dictionaries_old/01fill_base/tiramisu/base.py
+++ b/tests/dictionaries_old/01fill_base/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ rougail.general.mode_conteneur_actif1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamOption(option_4)))), properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), 'rougail.general.mode_conteneur_actif1': ParamOption(option_4)})), properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01fill_base/tiramisu/multi.py b/tests/dictionaries_old/01fill_base/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01fill_base/tiramisu/multi.py
rename to tests/dictionaries_old/01fill_base/tiramisu/multi.py
diff --git a/tests/dictionaries/01fill_base/xml/00-base.xml b/tests/dictionaries_old/01fill_base/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01fill_base/xml/00-base.xml
rename to tests/dictionaries_old/01fill_base/xml/00-base.xml
diff --git a/tests/dictionaries/01fill_base/yml/00-base.yml b/tests/dictionaries_old/01fill_base/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01fill_base/yml/00-base.yml
rename to tests/dictionaries_old/01fill_base/yml/00-base.yml
diff --git a/tests/dictionaries_old/01fill_mandatory/00-base.xml b/tests/dictionaries_old/01fill_mandatory/00-base.xml
deleted file mode 100644
index ac83f20e7..000000000
--- a/tests/dictionaries_old/01fill_mandatory/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/01fill_mandatory/result/rougail/00-base.yml b/tests/dictionaries_old/01fill_mandatory/result/rougail/00-base.yml
new file mode 100644
index 000000000..5e2ffd6b4
--- /dev/null
+++ b/tests/dictionaries_old/01fill_mandatory/result/rougail/00-base.yml
@@ -0,0 +1,15 @@
+general:
+ mode: basic
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ mandatory: true
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01fill_mandatory/tiramisu/base.py b/tests/dictionaries_old/01fill_mandatory/tiramisu/base.py
index 05cbc54ea..2b5348e1d 100644
--- a/tests/dictionaries_old/01fill_mandatory/tiramisu/base.py
+++ b/tests/dictionaries_old/01fill_mandatory/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ rougail.general.mode_conteneur_actif1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"basic", "mandatory"}))
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamOption(option_4)))), properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), 'rougail.general.mode_conteneur_actif1': ParamOption(option_4)})), properties=frozenset({"expert", "mandatory"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01fill_mandatory/tiramisu/multi.py b/tests/dictionaries_old/01fill_mandatory/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01fill_mandatory/tiramisu/multi.py
rename to tests/dictionaries_old/01fill_mandatory/tiramisu/multi.py
diff --git a/tests/dictionaries/01fill_mandatory/xml/00-base.xml b/tests/dictionaries_old/01fill_mandatory/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01fill_mandatory/xml/00-base.xml
rename to tests/dictionaries_old/01fill_mandatory/xml/00-base.xml
diff --git a/tests/dictionaries/01fill_mandatory/yml/00-base.yml b/tests/dictionaries_old/01fill_mandatory/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01fill_mandatory/yml/00-base.yml
rename to tests/dictionaries_old/01fill_mandatory/yml/00-base.yml
diff --git a/tests/dictionaries_old/01fill_number/00-base.xml b/tests/dictionaries_old/01fill_number/00-base.xml
deleted file mode 100644
index ee2e4094b..000000000
--- a/tests/dictionaries_old/01fill_number/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
-
- 3
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/01fill_number/result/rougail/00-base.yml b/tests/dictionaries_old/01fill_number/result/rougail/00-base.yml
new file mode 100644
index 000000000..d8c520b53
--- /dev/null
+++ b/tests/dictionaries_old/01fill_number/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: number
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ 3 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01fill_number/tiramisu/base.py b/tests/dictionaries_old/01fill_number/tiramisu/base.py
index ff65ea85b..31cd38a59 100644
--- a/tests/dictionaries_old/01fill_number/tiramisu/base.py
+++ b/tests/dictionaries_old/01fill_number/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = IntOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue(3)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ 3 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = IntOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(number), '__internal_multi': ParamValue(False)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01fill_number/tiramisu/multi.py b/tests/dictionaries_old/01fill_number/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01fill_number/tiramisu/multi.py
rename to tests/dictionaries_old/01fill_number/tiramisu/multi.py
diff --git a/tests/dictionaries/01fill_number/xml/00-base.xml b/tests/dictionaries_old/01fill_number/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01fill_number/xml/00-base.xml
rename to tests/dictionaries_old/01fill_number/xml/00-base.xml
diff --git a/tests/dictionaries/01fill_number/yml/00-base.yml b/tests/dictionaries_old/01fill_number/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01fill_number/yml/00-base.yml
rename to tests/dictionaries_old/01fill_number/yml/00-base.yml
diff --git a/tests/dictionaries_old/01fill_only_optional/00-base.xml b/tests/dictionaries_old/01fill_only_optional/00-base.xml
deleted file mode 100644
index 10fef3065..000000000
--- a/tests/dictionaries_old/01fill_only_optional/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- mode_conteneur_actif4
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/01fill_only_optional/result/rougail/00-base.yml b/tests/dictionaries_old/01fill_only_optional/result/rougail/00-base.yml
new file mode 100644
index 000000000..ef2de4eb8
--- /dev/null
+++ b/tests/dictionaries_old/01fill_only_optional/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ __mode_conteneur_actif4 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01fill_only_optional/tiramisu/base.py b/tests/dictionaries_old/01fill_only_optional/tiramisu/base.py
index 434055916..d6983d97e 100644
--- a/tests/dictionaries_old/01fill_only_optional/tiramisu/base.py
+++ b/tests/dictionaries_old/01fill_only_optional/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params(())), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ __mode_conteneur_actif4 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01fill_only_optional/tiramisu/multi.py b/tests/dictionaries_old/01fill_only_optional/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/01fill_only_optional/tiramisu/multi.py
rename to tests/dictionaries_old/01fill_only_optional/tiramisu/multi.py
diff --git a/tests/dictionaries/01fill_only_optional/xml/00-base.xml b/tests/dictionaries_old/01fill_only_optional/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/01fill_only_optional/xml/00-base.xml
rename to tests/dictionaries_old/01fill_only_optional/xml/00-base.xml
diff --git a/tests/dictionaries/01fill_only_optional/yml/00-base.yml b/tests/dictionaries_old/01fill_only_optional/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/01fill_only_optional/yml/00-base.yml
rename to tests/dictionaries_old/01fill_only_optional/yml/00-base.yml
diff --git a/tests/dictionaries_old/01fill_optional/00-base.xml b/tests/dictionaries_old/01fill_optional/00-base.xml
deleted file mode 100644
index 6382ce450..000000000
--- a/tests/dictionaries_old/01fill_optional/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- mode_conteneur_actif4
- mode_conteneur_actif1
- mode_conteneur_actif3
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/01fill_optional/result/rougail/00-base.yml b/tests/dictionaries_old/01fill_optional/result/rougail/00-base.yml
new file mode 100644
index 000000000..eae9f060f
--- /dev/null
+++ b/tests/dictionaries_old/01fill_optional/result/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ __mode_conteneur_actif4 | calc_val(rougail.general.mode_conteneur_actif1,
+ __mode_conteneur_actif3) }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01fill_optional/tiramisu/base.py b/tests/dictionaries_old/01fill_optional/tiramisu/base.py
index 27b086b6d..dc8f7e784 100644
--- a/tests/dictionaries_old/01fill_optional/tiramisu/base.py
+++ b/tests/dictionaries_old/01fill_optional/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ __mode_conteneur_actif4 | calc_val(rougail.general.mode_conteneur_actif1, __mode_conteneur_actif3) }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamOption(option_4)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), 'rougail.general.mode_conteneur_actif1': ParamOption(option_4)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01fill_optional/tiramisu/multi.py b/tests/dictionaries_old/01fill_optional/tiramisu/multi.py
new file mode 100644
index 000000000..f0173e877
--- /dev/null
+++ b/tests/dictionaries_old/01fill_optional/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamOption(option_3)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_6 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/01fill_optional/xml/00-base.xml b/tests/dictionaries_old/01fill_optional/xml/00-base.xml
new file mode 100644
index 000000000..4fd16348a
--- /dev/null
+++ b/tests/dictionaries_old/01fill_optional/xml/00-base.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
+
+ mode_conteneur_actif4
+ mode_conteneur_actif1
+ mode_conteneur_actif3
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/01fill_optional/yml/00-base.yml b/tests/dictionaries_old/01fill_optional/yml/00-base.yml
new file mode 100644
index 000000000..131c518bb
--- /dev/null
+++ b/tests/dictionaries_old/01fill_optional/yml/00-base.yml
@@ -0,0 +1,31 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: variable
+ optional: true
+ text: mode_conteneur_actif4
+ - type: variable
+ text: mode_conteneur_actif1
+ - type: variable
+ optional: true
+ text: mode_conteneur_actif3
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/01fill_quote/00-base.xml b/tests/dictionaries_old/01fill_quote/00-base.xml
deleted file mode 100644
index 155af2703..000000000
--- a/tests/dictionaries_old/01fill_quote/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- quote'
- mode_conteneur_actif
-
-
- quote"
- mode_conteneur_actif1
-
-
- quote"'
- mode_conteneur_actif2
-
-
- quote"\'
- mode_conteneur_actif3
-
-
-
diff --git a/tests/dictionaries_old/01fill_quote/result/rougail/00-base.yml b/tests/dictionaries_old/01fill_quote/result/rougail/00-base.yml
new file mode 100644
index 000000000..fe8245e01
--- /dev/null
+++ b/tests/dictionaries_old/01fill_quote/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "quote''" | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "quote\"" | calc_val }}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "quote\"''" | calc_val }}'
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "quote\"\\''" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/01fill_quote/tiramisu/base.py b/tests/dictionaries_old/01fill_quote/tiramisu/base.py
index c6040cf1f..f2ab4078a 100644
--- a/tests/dictionaries_old/01fill_quote/tiramisu/base.py
+++ b/tests/dictionaries_old/01fill_quote/tiramisu/base.py
@@ -1,20 +1,65 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote'")))), properties=frozenset({"normal"}))
-option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote\"")))), properties=frozenset({"normal"}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote\"'")))), properties=frozenset({"normal"}))
-option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote\"\\'")))), properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ \"quote'\" | calc_val }}"
+dict_env['rougail.general.mode_conteneur_actif1'] = "{{ \"quote\\\"\" | calc_val }}"
+dict_env['rougail.general.mode_conteneur_actif2'] = "{{ \"quote\\\"'\" | calc_val }}"
+dict_env['rougail.general.mode_conteneur_actif3'] = "{{ \"quote\\\"\\\\'\" | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif3), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01fill_quote/tiramisu/multi.py b/tests/dictionaries_old/01fill_quote/tiramisu/multi.py
new file mode 100644
index 000000000..ff40769e5
--- /dev/null
+++ b/tests/dictionaries_old/01fill_quote/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote'")))), properties=frozenset({"normal"}))
+option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote\"")))), properties=frozenset({"normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote\"'")))), properties=frozenset({"normal"}))
+option_5 = StrOption(name="mode_conteneur_actif3", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote\"\\'")))), properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote'")))), properties=frozenset({"normal"}))
+option_8 = StrOption(name="mode_conteneur_actif1", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote\"")))), properties=frozenset({"normal"}))
+option_9 = StrOption(name="mode_conteneur_actif2", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote\"'")))), properties=frozenset({"normal"}))
+option_10 = StrOption(name="mode_conteneur_actif3", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("quote\"\\'")))), properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7, option_8, option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/01fill_quote/xml/00-base.xml b/tests/dictionaries_old/01fill_quote/xml/00-base.xml
new file mode 100644
index 000000000..058554ac8
--- /dev/null
+++ b/tests/dictionaries_old/01fill_quote/xml/00-base.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ quote'
+ mode_conteneur_actif
+
+
+ quote"
+ mode_conteneur_actif1
+
+
+ quote"'
+ mode_conteneur_actif2
+
+
+ quote"\'
+ mode_conteneur_actif3
+
+
+
diff --git a/tests/dictionaries_old/01fill_quote/yml/00-base.yml b/tests/dictionaries_old/01fill_quote/yml/00-base.yml
new file mode 100644
index 000000000..dd1ced227
--- /dev/null
+++ b/tests/dictionaries_old/01fill_quote/yml/00-base.yml
@@ -0,0 +1,40 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ - name: mode_conteneur_actif3
+ type: string
+ description: No change
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - text: quote'
+ target:
+ - text: mode_conteneur_actif
+ - name: calc_val
+ param:
+ - text: quote"
+ target:
+ - text: mode_conteneur_actif1
+ - name: calc_val
+ param:
+ - text: quote"'
+ target:
+ - text: mode_conteneur_actif2
+ - name: calc_val
+ param:
+ - text: quote"\'
+ target:
+ - text: mode_conteneur_actif3
diff --git a/tests/dictionaries_old/01fill_target_optional/00-base.xml b/tests/dictionaries_old/01fill_target_optional/00-base.xml
deleted file mode 100644
index d2421162b..000000000
--- a/tests/dictionaries_old/01fill_target_optional/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/01fill_target_optional/result/rougail/00-base.yml b/tests/dictionaries_old/01fill_target_optional/result/rougail/00-base.yml
new file mode 100644
index 000000000..8d14352b8
--- /dev/null
+++ b/tests/dictionaries_old/01fill_target_optional/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01fill_target_optional/tiramisu/base.py b/tests/dictionaries_old/01fill_target_optional/tiramisu/base.py
index cb5556e93..a743fa264 100644
--- a/tests/dictionaries_old/01fill_target_optional/tiramisu/base.py
+++ b/tests/dictionaries_old/01fill_target_optional/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01fill_target_optional/tiramisu/multi.py b/tests/dictionaries_old/01fill_target_optional/tiramisu/multi.py
new file mode 100644
index 000000000..4b80c9e95
--- /dev/null
+++ b/tests/dictionaries_old/01fill_target_optional/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01fill_target_optional/xml/00-base.xml b/tests/dictionaries_old/01fill_target_optional/xml/00-base.xml
new file mode 100644
index 000000000..7dbd36d93
--- /dev/null
+++ b/tests/dictionaries_old/01fill_target_optional/xml/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ non
+
+
+
+
+
+ mode_conteneur_actif1
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/01fill_target_optional/yml/00-base.yml b/tests/dictionaries_old/01fill_target_optional/yml/00-base.yml
new file mode 100644
index 000000000..79ae7fc08
--- /dev/null
+++ b/tests/dictionaries_old/01fill_target_optional/yml/00-base.yml
@@ -0,0 +1,20 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: variable
+ text: mode_conteneur_actif1
+ target:
+ - optional: true
+ text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/01hidden_if_in_autofreeze/00-base.xml b/tests/dictionaries_old/01hidden_if_in_autofreeze/00-base.xml
deleted file mode 100644
index 2626d61c4..000000000
--- a/tests/dictionaries_old/01hidden_if_in_autofreeze/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
- False
-
-
- no
-
-
-
-
- yes
- my_var
-
-
- True
- my_var
-
-
-
diff --git a/tests/dictionaries_old/01hidden_if_in_autofreeze/result/rougail/00-base.yml b/tests/dictionaries_old/01hidden_if_in_autofreeze/result/rougail/00-base.yml
new file mode 100644
index 000000000..5ceedf641
--- /dev/null
+++ b/tests/dictionaries_old/01hidden_if_in_autofreeze/result/rougail/00-base.yml
@@ -0,0 +1,12 @@
+server_deployed:
+ type: boolean
+ default: false
+my_var:
+ type: string
+ default:
+ type: jinja
+ jinja: '{{ "yes" | calc_val }}'
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.server_deployed == true %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/01hidden_if_in_autofreeze/tiramisu/base.py b/tests/dictionaries_old/01hidden_if_in_autofreeze/tiramisu/base.py
index d9396d4c9..1a2b81fff 100644
--- a/tests/dictionaries_old/01hidden_if_in_autofreeze/tiramisu/base.py
+++ b/tests/dictionaries_old/01hidden_if_in_autofreeze/tiramisu/base.py
@@ -1,17 +1,59 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.my_var'] = "{{ \"yes\" | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_2 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="my_var", doc="my_var", default=Calculation(func.calc_val, Params((ParamValue("yes")))), properties=frozenset({"basic", "force_store_value", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, todict=True, notraisepropertyerror=True), 'expected': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, todict=True, notraisepropertyerror=True), 'expected': ParamValue(True)}))}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_3 = StrOption(name="my_var", doc="my_var", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.my_var), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01hidden_if_in_autofreeze/tiramisu/multi.py b/tests/dictionaries_old/01hidden_if_in_autofreeze/tiramisu/multi.py
new file mode 100644
index 000000000..aa8e5f523
--- /dev/null
+++ b/tests/dictionaries_old/01hidden_if_in_autofreeze/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
+option_2 = StrOption(name="my_var", doc="my_var", default=Calculation(func.calc_val, Params((ParamValue("yes")))), properties=frozenset({"basic", "force_store_value", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_1, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_1, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"basic"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_3 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="my_var", doc="my_var", default=Calculation(func.calc_val, Params((ParamValue("yes")))), properties=frozenset({"basic", "force_store_value", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_3, option_4], properties=frozenset({"basic"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01hidden_if_in_autofreeze/xml/00-base.xml b/tests/dictionaries_old/01hidden_if_in_autofreeze/xml/00-base.xml
new file mode 100644
index 000000000..7876bac30
--- /dev/null
+++ b/tests/dictionaries_old/01hidden_if_in_autofreeze/xml/00-base.xml
@@ -0,0 +1,21 @@
+
+
+
+
+ False
+
+
+ no
+
+
+
+
+ yes
+ my_var
+
+
+ True
+ my_var
+
+
+
diff --git a/tests/dictionaries_old/01hidden_if_in_autofreeze/yml/00-base.yml b/tests/dictionaries_old/01hidden_if_in_autofreeze/yml/00-base.yml
new file mode 100644
index 000000000..dc9bbbef1
--- /dev/null
+++ b/tests/dictionaries_old/01hidden_if_in_autofreeze/yml/00-base.yml
@@ -0,0 +1,27 @@
+version: '0.10'
+variables:
+- variable:
+ - name: server_deployed
+ type: boolean
+ value:
+ - text: false
+ - name: my_var
+ type: string
+ auto_freeze: true
+ value:
+ - text: 'no'
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - text: 'yes'
+ target:
+ - text: my_var
+ condition:
+ - name: hidden_if_in
+ source: server_deployed
+ param:
+ - text: true
+ target:
+ - type: variable
+ text: my_var
diff --git a/tests/dictionaries_old/01test/00-base.xml b/tests/dictionaries_old/01test/00-base.xml
deleted file mode 100644
index a3d9a16c7..000000000
--- a/tests/dictionaries_old/01test/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01test/result/rougail/00-base.yml b/tests/dictionaries_old/01test/result/rougail/00-base.yml
new file mode 100644
index 000000000..4de529c64
--- /dev/null
+++ b/tests/dictionaries_old/01test/result/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ test: test
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01test/tiramisu/base.py b/tests/dictionaries_old/01test/tiramisu/base.py
index bf9b948e4..b26ca5455 100644
--- a/tests/dictionaries_old/01test/tiramisu/base.py
+++ b/tests/dictionaries_old/01test/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
option_3.impl_set_information('test', ('test',))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01test/tiramisu/multi.py b/tests/dictionaries_old/01test/tiramisu/multi.py
new file mode 100644
index 000000000..d42e8e1be
--- /dev/null
+++ b/tests/dictionaries_old/01test/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+option_2.impl_set_information('test', ('test',))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4.impl_set_information('test', ('test',))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01test/xml/00-base.xml b/tests/dictionaries_old/01test/xml/00-base.xml
new file mode 100644
index 000000000..4c938a147
--- /dev/null
+++ b/tests/dictionaries_old/01test/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/01test/yml/00-base.yml b/tests/dictionaries_old/01test/yml/00-base.yml
new file mode 100644
index 000000000..78ebff891
--- /dev/null
+++ b/tests/dictionaries_old/01test/yml/00-base.yml
@@ -0,0 +1,10 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ test: test
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/01test_multi/00-base.xml b/tests/dictionaries_old/01test_multi/00-base.xml
deleted file mode 100644
index 3fbe4b855..000000000
--- a/tests/dictionaries_old/01test_multi/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01test_multi/result/rougail/00-base.yml b/tests/dictionaries_old/01test_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..919812d53
--- /dev/null
+++ b/tests/dictionaries_old/01test_multi/result/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ test: test1|test2
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01test_multi/tiramisu/base.py b/tests/dictionaries_old/01test_multi/tiramisu/base.py
index d87841f98..e61c42aae 100644
--- a/tests/dictionaries_old/01test_multi/tiramisu/base.py
+++ b/tests/dictionaries_old/01test_multi/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
option_3.impl_set_information('test', ('test1', 'test2'))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01test_multi/tiramisu/multi.py b/tests/dictionaries_old/01test_multi/tiramisu/multi.py
new file mode 100644
index 000000000..109837eda
--- /dev/null
+++ b/tests/dictionaries_old/01test_multi/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+option_2.impl_set_information('test', ('test1', 'test2'))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4.impl_set_information('test', ('test1', 'test2'))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01test_multi/xml/00-base.xml b/tests/dictionaries_old/01test_multi/xml/00-base.xml
new file mode 100644
index 000000000..971cd5145
--- /dev/null
+++ b/tests/dictionaries_old/01test_multi/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/01test_multi/yml/00-base.yml b/tests/dictionaries_old/01test_multi/yml/00-base.yml
new file mode 100644
index 000000000..e9fd0c671
--- /dev/null
+++ b/tests/dictionaries_old/01test_multi/yml/00-base.yml
@@ -0,0 +1,10 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ test: test1|test2
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/01test_multi_none/00-base.xml b/tests/dictionaries_old/01test_multi_none/00-base.xml
deleted file mode 100644
index eef0cf6ea..000000000
--- a/tests/dictionaries_old/01test_multi_none/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01test_multi_none/result/rougail/00-base.yml b/tests/dictionaries_old/01test_multi_none/result/rougail/00-base.yml
new file mode 100644
index 000000000..dd3e216f1
--- /dev/null
+++ b/tests/dictionaries_old/01test_multi_none/result/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ test: '|test1|test2'
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01test_multi_none/tiramisu/base.py b/tests/dictionaries_old/01test_multi_none/tiramisu/base.py
index 36479fd75..51451bf7d 100644
--- a/tests/dictionaries_old/01test_multi_none/tiramisu/base.py
+++ b/tests/dictionaries_old/01test_multi_none/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
option_3.impl_set_information('test', (None, 'test1', 'test2'))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01test_multi_none/tiramisu/multi.py b/tests/dictionaries_old/01test_multi_none/tiramisu/multi.py
new file mode 100644
index 000000000..3a45a6a56
--- /dev/null
+++ b/tests/dictionaries_old/01test_multi_none/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+option_2.impl_set_information('test', (None, 'test1', 'test2'))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4.impl_set_information('test', (None, 'test1', 'test2'))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01test_multi_none/xml/00-base.xml b/tests/dictionaries_old/01test_multi_none/xml/00-base.xml
new file mode 100644
index 000000000..9afd80f7e
--- /dev/null
+++ b/tests/dictionaries_old/01test_multi_none/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/01test_multi_none/yml/00-base.yml b/tests/dictionaries_old/01test_multi_none/yml/00-base.yml
new file mode 100644
index 000000000..a66c8494d
--- /dev/null
+++ b/tests/dictionaries_old/01test_multi_none/yml/00-base.yml
@@ -0,0 +1,10 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ test: '|test1|test2'
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/01test_redefine/00-base.xml b/tests/dictionaries_old/01test_redefine/00-base.xml
deleted file mode 100644
index a3d9a16c7..000000000
--- a/tests/dictionaries_old/01test_redefine/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01test_redefine/10-base.xml b/tests/dictionaries_old/01test_redefine/10-base.xml
deleted file mode 100644
index 131db74ef..000000000
--- a/tests/dictionaries_old/01test_redefine/10-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/01test_redefine/result/rougail/00-base.yml b/tests/dictionaries_old/01test_redefine/result/rougail/00-base.yml
new file mode 100644
index 000000000..4de529c64
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine/result/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ test: test
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01test_redefine/result/rougail/10-base.yml b/tests/dictionaries_old/01test_redefine/result/rougail/10-base.yml
new file mode 100644
index 000000000..ac50fe5cb
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine/result/rougail/10-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ test: test1
+version: '1.0'
diff --git a/tests/dictionaries_old/01test_redefine/tiramisu/base.py b/tests/dictionaries_old/01test_redefine/tiramisu/base.py
index 43bb1a12e..ab83c872a 100644
--- a/tests/dictionaries_old/01test_redefine/tiramisu/base.py
+++ b/tests/dictionaries_old/01test_redefine/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
option_3.impl_set_information('test', ('test1',))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01test_redefine/tiramisu/multi.py b/tests/dictionaries_old/01test_redefine/tiramisu/multi.py
new file mode 100644
index 000000000..0e732dd8b
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+option_2.impl_set_information('test', ('test1',))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4.impl_set_information('test', ('test1',))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01test_redefine/xml/00-base.xml b/tests/dictionaries_old/01test_redefine/xml/00-base.xml
new file mode 100644
index 000000000..4c938a147
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/01test_redefine/xml/10-base.xml b/tests/dictionaries_old/01test_redefine/xml/10-base.xml
new file mode 100644
index 000000000..dd8ef7513
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine/xml/10-base.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/01test_redefine/yml/00-base.yml b/tests/dictionaries_old/01test_redefine/yml/00-base.yml
new file mode 100644
index 000000000..78ebff891
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine/yml/00-base.yml
@@ -0,0 +1,10 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ test: test
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/01test_redefine/yml/10-base.yml b/tests/dictionaries_old/01test_redefine/yml/10-base.yml
new file mode 100644
index 000000000..e0ce84314
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine/yml/10-base.yml
@@ -0,0 +1,9 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ test: test1
diff --git a/tests/dictionaries_old/01test_redefine_base/00-base.xml b/tests/dictionaries_old/01test_redefine_base/00-base.xml
deleted file mode 100644
index 51e932bfa..000000000
--- a/tests/dictionaries_old/01test_redefine_base/00-base.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/01test_redefine_base/10-base.xml b/tests/dictionaries_old/01test_redefine_base/10-base.xml
deleted file mode 100644
index ca929f577..000000000
--- a/tests/dictionaries_old/01test_redefine_base/10-base.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/01test_redefine_base/result/rougail/00-base.yml b/tests/dictionaries_old/01test_redefine_base/result/rougail/00-base.yml
new file mode 100644
index 000000000..e5a393622
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_base/result/rougail/00-base.yml
@@ -0,0 +1,3 @@
+my_variable:
+ type: string
+version: '1.0'
diff --git a/tests/dictionaries_old/01test_redefine_base/result/rougail/10-base.yml b/tests/dictionaries_old/01test_redefine_base/result/rougail/10-base.yml
new file mode 100644
index 000000000..d058528c0
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_base/result/rougail/10-base.yml
@@ -0,0 +1,4 @@
+my_variable:
+ redefine: true
+ test: test1
+version: '1.0'
diff --git a/tests/dictionaries_old/01test_redefine_base/tiramisu/base.py b/tests/dictionaries_old/01test_redefine_base/tiramisu/base.py
index 98beb8cf2..036f803af 100644
--- a/tests/dictionaries_old/01test_redefine_base/tiramisu/base.py
+++ b/tests/dictionaries_old/01test_redefine_base/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = StrOption(name="my_variable", doc="my_variable", properties=frozenset({"normal"}))
option_2.impl_set_information('test', ('test1',))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01test_redefine_base/tiramisu/multi.py b/tests/dictionaries_old/01test_redefine_base/tiramisu/multi.py
new file mode 100644
index 000000000..d005f51e4
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_base/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = StrOption(name="my_variable", doc="my_variable", properties=frozenset({"normal"}))
+option_1.impl_set_information('test', ('test1',))
+optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="1", doc="1", children=[optiondescription_4])
+option_2 = StrOption(name="my_variable", doc="my_variable", properties=frozenset({"normal"}))
+option_2.impl_set_information('test', ('test1',))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="2", doc="2", children=[optiondescription_6])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3, optiondescription_5])
diff --git a/tests/dictionaries_old/01test_redefine_base/xml/00-base.xml b/tests/dictionaries_old/01test_redefine_base/xml/00-base.xml
new file mode 100644
index 000000000..6d227190e
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_base/xml/00-base.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/01test_redefine_base/xml/10-base.xml b/tests/dictionaries_old/01test_redefine_base/xml/10-base.xml
new file mode 100644
index 000000000..2446a70e0
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_base/xml/10-base.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/01test_redefine_base/yml/00-base.yml b/tests/dictionaries_old/01test_redefine_base/yml/00-base.yml
new file mode 100644
index 000000000..f01edd4ed
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_base/yml/00-base.yml
@@ -0,0 +1,4 @@
+version: '0.10'
+variables:
+- variable:
+ - name: my_variable
diff --git a/tests/dictionaries_old/01test_redefine_base/yml/10-base.yml b/tests/dictionaries_old/01test_redefine_base/yml/10-base.yml
new file mode 100644
index 000000000..77908cc9c
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_base/yml/10-base.yml
@@ -0,0 +1,6 @@
+version: '0.10'
+variables:
+- variable:
+ - name: my_variable
+ redefine: true
+ test: test1
diff --git a/tests/dictionaries_old/01test_redefine_remove/00-base.xml b/tests/dictionaries_old/01test_redefine_remove/00-base.xml
deleted file mode 100644
index a3d9a16c7..000000000
--- a/tests/dictionaries_old/01test_redefine_remove/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/01test_redefine_remove/10-base.xml b/tests/dictionaries_old/01test_redefine_remove/10-base.xml
deleted file mode 100644
index b1c129959..000000000
--- a/tests/dictionaries_old/01test_redefine_remove/10-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/01test_redefine_remove/result/rougail/00-base.yml b/tests/dictionaries_old/01test_redefine_remove/result/rougail/00-base.yml
new file mode 100644
index 000000000..4de529c64
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_remove/result/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ test: test
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/01test_redefine_remove/result/rougail/10-base.yml b/tests/dictionaries_old/01test_redefine_remove/result/rougail/10-base.yml
new file mode 100644
index 000000000..a0619cf79
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_remove/result/rougail/10-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ test: ''
+version: '1.0'
diff --git a/tests/dictionaries_old/01test_redefine_remove/tiramisu/base.py b/tests/dictionaries_old/01test_redefine_remove/tiramisu/base.py
index ed5b96cd3..44692aef9 100644
--- a/tests/dictionaries_old/01test_redefine_remove/tiramisu/base.py
+++ b/tests/dictionaries_old/01test_redefine_remove/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/01test_redefine_remove/tiramisu/multi.py b/tests/dictionaries_old/01test_redefine_remove/tiramisu/multi.py
new file mode 100644
index 000000000..1326f247d
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_remove/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="mode_conteneur_actif", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/01test_redefine_remove/xml/00-base.xml b/tests/dictionaries_old/01test_redefine_remove/xml/00-base.xml
new file mode 100644
index 000000000..4c938a147
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_remove/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/01test_redefine_remove/xml/10-base.xml b/tests/dictionaries_old/01test_redefine_remove/xml/10-base.xml
new file mode 100644
index 000000000..3a1e3e60e
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_remove/xml/10-base.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/01test_redefine_remove/yml/00-base.yml b/tests/dictionaries_old/01test_redefine_remove/yml/00-base.yml
new file mode 100644
index 000000000..78ebff891
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_remove/yml/00-base.yml
@@ -0,0 +1,10 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ test: test
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/01test_redefine_remove/yml/10-base.yml b/tests/dictionaries_old/01test_redefine_remove/yml/10-base.yml
new file mode 100644
index 000000000..56ce4295a
--- /dev/null
+++ b/tests/dictionaries_old/01test_redefine_remove/yml/10-base.yml
@@ -0,0 +1,9 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ test: ''
diff --git a/tests/dictionaries_old/02autosave_hidden_frozenifin/00-base.xml b/tests/dictionaries_old/02autosave_hidden_frozenifin/00-base.xml
deleted file mode 100644
index 6f811c347..000000000
--- a/tests/dictionaries_old/02autosave_hidden_frozenifin/00-base.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
-
-
- oui
- autosavevar
-
-
- oui
- autosavevar
-
-
-
diff --git a/tests/dictionaries_old/02autosave_hidden_frozenifin/result/rougail/00-base.yml b/tests/dictionaries_old/02autosave_hidden_frozenifin/result/rougail/00-base.yml
new file mode 100644
index 000000000..fe6b77e4b
--- /dev/null
+++ b/tests/dictionaries_old/02autosave_hidden_frozenifin/result/rougail/00-base.yml
@@ -0,0 +1,21 @@
+server_deployed:
+ type: boolean
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ autosavevar:
+ type: string
+ description: autosave variable
+ auto_save: true
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.mode_conteneur_actif == "oui" %}true{% else %}false{%
+ endif %}'
+ default:
+ type: jinja
+ jinja: '{{ "oui" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/02autosave_hidden_frozenifin/tiramisu/base.py b/tests/dictionaries_old/02autosave_hidden_frozenifin/tiramisu/base.py
index f5fbacc37..7ab5c21a6 100644
--- a/tests/dictionaries_old/02autosave_hidden_frozenifin/tiramisu/base.py
+++ b/tests/dictionaries_old/02autosave_hidden_frozenifin/tiramisu/base.py
@@ -1,19 +1,61 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.autosavevar'] = "{{ \"oui\" | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_2 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_5 = StrOption(name="autosavevar", doc="autosave variable", default=Calculation(func.calc_val, Params((ParamValue("oui")))), properties=frozenset({"basic", "force_store_value", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_3 = OptionDescription(name="general", doc="général", children=[option_4, option_5], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="autosavevar", doc="autosave variable", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.autosavevar), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"basic", "force_store_value"}))
+optiondescription_3 = OptionDescription(name="general", doc="général", children=[option_4, option_5], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/02autosave_hidden_frozenifin/tiramisu/multi.py b/tests/dictionaries_old/02autosave_hidden_frozenifin/tiramisu/multi.py
new file mode 100644
index 000000000..c57213e05
--- /dev/null
+++ b/tests/dictionaries_old/02autosave_hidden_frozenifin/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="autosavevar", doc="autosave variable", default=Calculation(func.calc_val, Params((ParamValue("oui")))), properties=frozenset({"basic", "force_store_value", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"basic"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, optiondescription_2], properties=frozenset({"basic"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_5 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_8 = StrOption(name="autosavevar", doc="autosave variable", default=Calculation(func.calc_val, Params((ParamValue("oui")))), properties=frozenset({"basic", "force_store_value", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_6 = OptionDescription(name="general", doc="général", children=[option_7, option_8], properties=frozenset({"basic"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[option_5, optiondescription_6], properties=frozenset({"basic"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/02autosave_hidden_frozenifin/xml/00-base.xml b/tests/dictionaries_old/02autosave_hidden_frozenifin/xml/00-base.xml
new file mode 100644
index 000000000..99fb291ed
--- /dev/null
+++ b/tests/dictionaries_old/02autosave_hidden_frozenifin/xml/00-base.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+ non
+
+
+
+
+
+
+ oui
+ autosavevar
+
+
+ oui
+ autosavevar
+
+
+
diff --git a/tests/dictionaries_old/02autosave_hidden_frozenifin/yml/00-base.yml b/tests/dictionaries_old/02autosave_hidden_frozenifin/yml/00-base.yml
new file mode 100644
index 000000000..a9fdb56ac
--- /dev/null
+++ b/tests/dictionaries_old/02autosave_hidden_frozenifin/yml/00-base.yml
@@ -0,0 +1,35 @@
+version: '0.10'
+variables:
+- variable:
+ - name: server_deployed
+ type: boolean
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: autosavevar
+ type: string
+ description: autosave variable
+ auto_save: true
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - text: oui
+ target:
+ - text: autosavevar
+ condition:
+ - name: hidden_if_in
+ source: mode_conteneur_actif
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: autosavevar
diff --git a/tests/dictionaries_old/02fill_multi_calc_val/00-base.xml b/tests/dictionaries_old/02fill_multi_calc_val/00-base.xml
deleted file mode 100644
index 66876828b..000000000
--- a/tests/dictionaries_old/02fill_multi_calc_val/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- no
-
-
-
-
-
- var1
- True
- var2
-
-
-
diff --git a/tests/dictionaries_old/02fill_multi_calc_val/result/rougail/00-base.yml b/tests/dictionaries_old/02fill_multi_calc_val/result/rougail/00-base.yml
new file mode 100644
index 000000000..d3ce889e6
--- /dev/null
+++ b/tests/dictionaries_old/02fill_multi_calc_val/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+var1:
+ default: 'no'
+var2:
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.var1 | calc_value(multi=true) }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/02fill_multi_calc_val/tiramisu/base.py b/tests/dictionaries_old/02fill_multi_calc_val/tiramisu/base.py
index 465b97530..ccead7fe4 100644
--- a/tests/dictionaries_old/02fill_multi_calc_val/tiramisu/base.py
+++ b/tests/dictionaries_old/02fill_multi_calc_val/tiramisu/base.py
@@ -1,17 +1,59 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.var2'] = "{{ rougail.var1 | calc_value(multi=true) }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_2 = StrOption(name="var1", doc="var1", default="no", properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="var2", doc="var2", multi=True, default=Calculation(func.calc_value, Params((ParamOption(option_2)), kwargs={'multi': ParamValue(True)})), properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_3 = StrOption(name="var2", doc="var2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.var2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.var1': ParamOption(option_2)})), properties=frozenset({"normal", "notempty"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/02fill_multi_calc_val/tiramisu/multi.py b/tests/dictionaries_old/02fill_multi_calc_val/tiramisu/multi.py
new file mode 100644
index 000000000..e507f4ad1
--- /dev/null
+++ b/tests/dictionaries_old/02fill_multi_calc_val/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = StrOption(name="var1", doc="var1", default="no", properties=frozenset({"mandatory", "normal"}))
+option_2 = StrOption(name="var2", doc="var2", multi=True, default=Calculation(func.calc_value, Params((ParamOption(option_1)), kwargs={'multi': ParamValue(True)})), properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_3 = StrOption(name="var1", doc="var1", default="no", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="var2", doc="var2", multi=True, default=Calculation(func.calc_value, Params((ParamOption(option_3)), kwargs={'multi': ParamValue(True)})), properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/02fill_multi_calc_val/xml/00-base.xml b/tests/dictionaries_old/02fill_multi_calc_val/xml/00-base.xml
new file mode 100644
index 000000000..1f15a1228
--- /dev/null
+++ b/tests/dictionaries_old/02fill_multi_calc_val/xml/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ no
+
+
+
+
+
+ var1
+ True
+ var2
+
+
+
diff --git a/tests/dictionaries_old/02fill_multi_calc_val/yml/00-base.yml b/tests/dictionaries_old/02fill_multi_calc_val/yml/00-base.yml
new file mode 100644
index 000000000..65fdbc059
--- /dev/null
+++ b/tests/dictionaries_old/02fill_multi_calc_val/yml/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- variable:
+ - name: var1
+ value:
+ - text: 'no'
+ - name: var2
+ multi: true
+constraints:
+- fill:
+ - name: calc_value
+ param:
+ - type: variable
+ text: var1
+ - type: boolean
+ name: multi
+ text: true
+ target:
+ - text: var2
diff --git a/tests/dictionaries_old/02fill_multi_calc_val_multi/00-base.xml b/tests/dictionaries_old/02fill_multi_calc_val_multi/00-base.xml
deleted file mode 100644
index f260758ab..000000000
--- a/tests/dictionaries_old/02fill_multi_calc_val_multi/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- no
- yes
- maybe
-
-
-
-
-
- var1
- var2
-
-
-
diff --git a/tests/dictionaries_old/02fill_multi_calc_val_multi/result/rougail/00-base.yml b/tests/dictionaries_old/02fill_multi_calc_val_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..e18965929
--- /dev/null
+++ b/tests/dictionaries_old/02fill_multi_calc_val_multi/result/rougail/00-base.yml
@@ -0,0 +1,12 @@
+var1:
+ multi: true
+ default:
+ - 'no'
+ - 'yes'
+ - maybe
+var2:
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.var1 | calc_value }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/02fill_multi_calc_val_multi/tiramisu/base.py b/tests/dictionaries_old/02fill_multi_calc_val_multi/tiramisu/base.py
index 0026e9405..35a091b9e 100644
--- a/tests/dictionaries_old/02fill_multi_calc_val_multi/tiramisu/base.py
+++ b/tests/dictionaries_old/02fill_multi_calc_val_multi/tiramisu/base.py
@@ -1,17 +1,59 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.var2'] = "{{ rougail.var1 | calc_value }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_2 = StrOption(name="var1", doc="var1", multi=True, default=['no', 'yes', 'maybe'], default_multi="no", properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="var2", doc="var2", multi=True, default=Calculation(func.calc_value, Params((ParamOption(option_2)))), properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_3 = StrOption(name="var2", doc="var2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.var2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.var1': ParamOption(option_2)})), properties=frozenset({"normal", "notempty"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/02fill_multi_calc_val_multi/tiramisu/multi.py b/tests/dictionaries_old/02fill_multi_calc_val_multi/tiramisu/multi.py
new file mode 100644
index 000000000..bd9114025
--- /dev/null
+++ b/tests/dictionaries_old/02fill_multi_calc_val_multi/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = StrOption(name="var1", doc="var1", multi=True, default=['no', 'yes', 'maybe'], default_multi="no", properties=frozenset({"mandatory", "normal"}))
+option_2 = StrOption(name="var2", doc="var2", multi=True, default=Calculation(func.calc_value, Params((ParamOption(option_1)))), properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_3 = StrOption(name="var1", doc="var1", multi=True, default=['no', 'yes', 'maybe'], default_multi="no", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="var2", doc="var2", multi=True, default=Calculation(func.calc_value, Params((ParamOption(option_3)))), properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/02fill_multi_calc_val_multi/xml/00-base.xml b/tests/dictionaries_old/02fill_multi_calc_val_multi/xml/00-base.xml
new file mode 100644
index 000000000..889202bf0
--- /dev/null
+++ b/tests/dictionaries_old/02fill_multi_calc_val_multi/xml/00-base.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ no
+ yes
+ maybe
+
+
+
+
+
+ var1
+ var2
+
+
+
diff --git a/tests/dictionaries_old/02fill_multi_calc_val_multi/yml/00-base.yml b/tests/dictionaries_old/02fill_multi_calc_val_multi/yml/00-base.yml
new file mode 100644
index 000000000..011cf1da0
--- /dev/null
+++ b/tests/dictionaries_old/02fill_multi_calc_val_multi/yml/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- variable:
+ - name: var1
+ multi: true
+ value:
+ - text: 'no'
+ - text: 'yes'
+ - text: maybe
+ - name: var2
+ multi: true
+constraints:
+- fill:
+ - name: calc_value
+ param:
+ - type: variable
+ text: var1
+ target:
+ - text: var2
diff --git a/tests/dictionaries_old/10autosave_hidden/00-base.xml b/tests/dictionaries_old/10autosave_hidden/00-base.xml
deleted file mode 100644
index f3248ec3f..000000000
--- a/tests/dictionaries_old/10autosave_hidden/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
-
-
- oui
- autosavevar
-
-
-
diff --git a/tests/dictionaries_old/10autosave_hidden/result/rougail/00-base.yml b/tests/dictionaries_old/10autosave_hidden/result/rougail/00-base.yml
new file mode 100644
index 000000000..a00889e96
--- /dev/null
+++ b/tests/dictionaries_old/10autosave_hidden/result/rougail/00-base.yml
@@ -0,0 +1,18 @@
+server_deployed:
+ type: boolean
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ autosavevar:
+ type: string
+ description: autosave variable
+ hidden: true
+ auto_save: true
+ default:
+ type: jinja
+ jinja: '{{ "oui" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10autosave_hidden/tiramisu/base.py b/tests/dictionaries_old/10autosave_hidden/tiramisu/base.py
index 6764b226c..7ec142734 100644
--- a/tests/dictionaries_old/10autosave_hidden/tiramisu/base.py
+++ b/tests/dictionaries_old/10autosave_hidden/tiramisu/base.py
@@ -1,19 +1,61 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.autosavevar'] = "{{ \"oui\" | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_2 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_5 = StrOption(name="autosavevar", doc="autosave variable", default=Calculation(func.calc_val, Params((ParamValue("oui")))), properties=frozenset({"basic", "force_store_value", "frozen", "hidden"}))
-option_3 = OptionDescription(name="general", doc="général", children=[option_4, option_5], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="autosavevar", doc="autosave variable", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.autosavevar), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"basic", "force_store_value", "frozen", "hidden"}))
+optiondescription_3 = OptionDescription(name="general", doc="général", children=[option_4, option_5], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10autosave_hidden/tiramisu/multi.py b/tests/dictionaries_old/10autosave_hidden/tiramisu/multi.py
new file mode 100644
index 000000000..576f87cff
--- /dev/null
+++ b/tests/dictionaries_old/10autosave_hidden/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="autosavevar", doc="autosave variable", default=Calculation(func.calc_val, Params((ParamValue("oui")))), properties=frozenset({"basic", "force_store_value", "frozen", "hidden"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"basic"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, optiondescription_2], properties=frozenset({"basic"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_5 = BoolOption(name="server_deployed", doc="server_deployed", default=True, properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_8 = StrOption(name="autosavevar", doc="autosave variable", default=Calculation(func.calc_val, Params((ParamValue("oui")))), properties=frozenset({"basic", "force_store_value", "frozen", "hidden"}))
+optiondescription_6 = OptionDescription(name="general", doc="général", children=[option_7, option_8], properties=frozenset({"basic"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[option_5, optiondescription_6], properties=frozenset({"basic"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10autosave_hidden/xml/00-base.xml b/tests/dictionaries_old/10autosave_hidden/xml/00-base.xml
new file mode 100644
index 000000000..23d47d401
--- /dev/null
+++ b/tests/dictionaries_old/10autosave_hidden/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+ non
+
+
+
+
+
+
+ oui
+ autosavevar
+
+
+
diff --git a/tests/dictionaries_old/10autosave_hidden/yml/00-base.yml b/tests/dictionaries_old/10autosave_hidden/yml/00-base.yml
new file mode 100644
index 000000000..6cb247ebc
--- /dev/null
+++ b/tests/dictionaries_old/10autosave_hidden/yml/00-base.yml
@@ -0,0 +1,28 @@
+version: '0.10'
+variables:
+- variable:
+ - name: server_deployed
+ type: boolean
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: autosavevar
+ type: string
+ description: autosave variable
+ hidden: true
+ auto_save: true
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - text: oui
+ target:
+ - text: autosavevar
diff --git a/tests/dictionaries/01base_file_mode/__init__.py b/tests/dictionaries_old/10base_certificate_list/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_mode/__init__.py
rename to tests/dictionaries_old/10base_certificate_list/__init__.py
diff --git a/tests/dictionaries_old/10base_certificate_list/makedict/after.json b/tests/dictionaries_old/10base_certificate_list/makedict/after.json
new file mode 100644
index 000000000..98eea53be
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list/makedict/after.json
@@ -0,0 +1,30 @@
+{
+ "rougail.server_name": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.domain": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.name": {
+ "owner": "default",
+ "value": "certificate"
+ },
+ "services.test_service.certificates.certificate.owner": {
+ "owner": "default",
+ "value": "example"
+ },
+ "services.test_service.certificates.certificate.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/10base_certificate_list/makedict/base.json b/tests/dictionaries_old/10base_certificate_list/makedict/base.json
new file mode 100644
index 000000000..6cbe8ce5d
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list/makedict/base.json
@@ -0,0 +1,9 @@
+{
+ "rougail.server_name": "example.net",
+ "services.test_service.certificates.certificate.domain": "example.net",
+ "services.test_service.certificates.certificate.name": "certificate",
+ "services.test_service.certificates.certificate.owner": "example",
+ "services.test_service.certificates.certificate.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
+}
diff --git a/tests/dictionaries_old/10base_certificate_list/makedict/before.json b/tests/dictionaries_old/10base_certificate_list/makedict/before.json
new file mode 100644
index 000000000..98eea53be
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list/makedict/before.json
@@ -0,0 +1,30 @@
+{
+ "rougail.server_name": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.domain": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.name": {
+ "owner": "default",
+ "value": "certificate"
+ },
+ "services.test_service.certificates.certificate.owner": {
+ "owner": "default",
+ "value": "example"
+ },
+ "services.test_service.certificates.certificate.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/10base_certificate_list/result/rougail/00-base.yml b/tests/dictionaries_old/10base_certificate_list/result/rougail/00-base.yml
new file mode 100644
index 000000000..4b7a0ceb7
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list/result/rougail/00-base.yml
@@ -0,0 +1,4 @@
+server_name:
+ type: domainname
+ default: example.net
+version: '1.0'
diff --git a/tests/dictionaries_old/10base_certificate_list/result/services/00-base.yml b/tests/dictionaries_old/10base_certificate_list/result/services/00-base.yml
new file mode 100644
index 000000000..9b0a63501
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list/result/services/00-base.yml
@@ -0,0 +1,10 @@
+test.service:
+ certificates:
+ certificate:
+ authority: authority
+ owner: example
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.server_name == "example1.net" %}true{% else %}false{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10base_certificate_list/tiramisu/base.py b/tests/dictionaries_old/10base_certificate_list/tiramisu/base.py
new file mode 100644
index 000000000..6f8c9c283
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list/tiramisu/base.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = DomainnameOption(name="server_name", doc="server_name", default="example.net", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_7 = StrOption(name="name", doc="name", default="certificate")
+option_8 = UsernameOption(name="owner", doc="owner", default="example")
+option_9 = SymLinkOption(name="domain", opt=option_2)
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_6 = OptionDescription(name="certificate", doc="certificate", children=[option_7, option_8, option_9, option_10])
+optiondescription_6.impl_set_information('authority', "authority")
+optiondescription_6.impl_set_information('format', "cert_key")
+optiondescription_6.impl_set_information('type', "client")
+optiondescription_5 = OptionDescription(name="certificates", doc="certificates", children=[optiondescription_6])
+option_11 = BoolOption(name="activate", doc="activate", default=True)
+option_12 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_4 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_5, option_11, option_12])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries_old/10base_certificate_list/tiramisu/multi.py b/tests/dictionaries_old/10base_certificate_list/tiramisu/multi.py
new file mode 100644
index 000000000..f658e1e04
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list/tiramisu/multi.py
@@ -0,0 +1,60 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = DomainnameOption(name="server_name", doc="server_name", default="example.net", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
+option_7 = SymLinkOption(name="domain", opt=option_1)
+option_8 = StrOption(name="name", doc="name", default="certificate")
+option_9 = UsernameOption(name="owner", doc="owner", default="example")
+option_6 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_1, notraisepropertyerror=True), 'expected_0': ParamValue("example1.net")})))
+optiondescription_5 = OptionDescription(name="certificate", doc="certificate", children=[option_7, option_8, option_9, option_6])
+optiondescription_5.impl_set_information('authority', "authority")
+optiondescription_5.impl_set_information('format', "cert_key")
+optiondescription_5.impl_set_information('type', "client")
+optiondescription_4 = OptionDescription(name="certificates", doc="certificates", children=[optiondescription_5])
+option_3 = BoolOption(name="activate", doc="activate", default=True)
+option_10 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_22 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_10])
+optiondescription_22.impl_set_information('type', "service")
+optiondescription_21 = OptionDescription(name="services", doc="services", children=[optiondescription_22], properties=frozenset({"hidden"}))
+optiondescription_19 = OptionDescription(name="1", doc="1", children=[optiondescription_20, optiondescription_21])
+option_2 = DomainnameOption(name="server_name", doc="server_name", default="example.net", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[option_2], properties=frozenset({"normal"}))
+option_15 = SymLinkOption(name="domain", opt=option_2)
+option_16 = StrOption(name="name", doc="name", default="certificate")
+option_17 = UsernameOption(name="owner", doc="owner", default="example")
+option_14 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("example1.net")})))
+optiondescription_13 = OptionDescription(name="certificate", doc="certificate", children=[option_15, option_16, option_17, option_14])
+optiondescription_13.impl_set_information('authority', "authority")
+optiondescription_13.impl_set_information('format', "cert_key")
+optiondescription_13.impl_set_information('type', "client")
+optiondescription_12 = OptionDescription(name="certificates", doc="certificates", children=[optiondescription_13])
+option_11 = BoolOption(name="activate", doc="activate", default=True)
+option_18 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_12, option_11, option_18])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="2", doc="2", children=[optiondescription_24, optiondescription_25])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_19, optiondescription_23])
diff --git a/tests/dictionaries_old/10base_certificate_list/xml/00-base.xml b/tests/dictionaries_old/10base_certificate_list/xml/00-base.xml
new file mode 100644
index 000000000..dedb0a091
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ certificate
+
+
+
+
+ example.net
+
+
+
+
+ example1.net
+ certlist
+
+
+
diff --git a/tests/dictionaries_old/10base_certificate_list/yml/00-base.yml b/tests/dictionaries_old/10base_certificate_list/yml/00-base.yml
new file mode 100644
index 000000000..c186d58af
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list/yml/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ certificate:
+ - authority: authority
+ owner: example
+ certificatelist: certlist
+ text: certificate
+variables:
+- variable:
+ - name: server_name
+ type: domainname
+ value:
+ - text: example.net
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: server_name
+ param:
+ - text: example1.net
+ target:
+ - type: certificatelist
+ text: certlist
diff --git a/tests/dictionaries/01base_file_mode2/__init__.py b/tests/dictionaries_old/10base_certificate_list_disabled/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_mode2/__init__.py
rename to tests/dictionaries_old/10base_certificate_list_disabled/__init__.py
diff --git a/tests/dictionaries_old/10base_certificate_list_disabled/makedict/after.json b/tests/dictionaries_old/10base_certificate_list_disabled/makedict/after.json
new file mode 100644
index 000000000..746d7dca0
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list_disabled/makedict/after.json
@@ -0,0 +1,30 @@
+{
+ "rougail.server_name": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.domain": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.name": {
+ "owner": "default",
+ "value": "certificate"
+ },
+ "services.test_service.certificates.certificate.owner": {
+ "owner": "default",
+ "value": "example"
+ },
+ "services.test_service.certificates.certificate.activate": {
+ "owner": "default",
+ "value": false
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/10base_certificate_list_disabled/makedict/base.json b/tests/dictionaries_old/10base_certificate_list_disabled/makedict/base.json
new file mode 100644
index 000000000..a84a59f22
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list_disabled/makedict/base.json
@@ -0,0 +1,9 @@
+{
+ "rougail.server_name": "example.net",
+ "services.test_service.certificates.certificate.domain": "example.net",
+ "services.test_service.certificates.certificate.name": "certificate",
+ "services.test_service.certificates.certificate.owner": "example",
+ "services.test_service.certificates.certificate.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
+}
diff --git a/tests/dictionaries_old/10base_certificate_list_disabled/makedict/before.json b/tests/dictionaries_old/10base_certificate_list_disabled/makedict/before.json
new file mode 100644
index 000000000..746d7dca0
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list_disabled/makedict/before.json
@@ -0,0 +1,30 @@
+{
+ "rougail.server_name": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.domain": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.name": {
+ "owner": "default",
+ "value": "certificate"
+ },
+ "services.test_service.certificates.certificate.owner": {
+ "owner": "default",
+ "value": "example"
+ },
+ "services.test_service.certificates.certificate.activate": {
+ "owner": "default",
+ "value": false
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/10base_certificate_list_disabled/result/rougail/00-base.yml b/tests/dictionaries_old/10base_certificate_list_disabled/result/rougail/00-base.yml
new file mode 100644
index 000000000..4b7a0ceb7
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list_disabled/result/rougail/00-base.yml
@@ -0,0 +1,4 @@
+server_name:
+ type: domainname
+ default: example.net
+version: '1.0'
diff --git a/tests/dictionaries_old/10base_certificate_list_disabled/result/services/00-base.yml b/tests/dictionaries_old/10base_certificate_list_disabled/result/services/00-base.yml
new file mode 100644
index 000000000..05e64c002
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list_disabled/result/services/00-base.yml
@@ -0,0 +1,10 @@
+test.service:
+ certificates:
+ certificate:
+ authority: authority
+ owner: example
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.server_name == "example.net" %}true{% else %}false{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10base_certificate_list_disabled/tiramisu/base.py b/tests/dictionaries_old/10base_certificate_list_disabled/tiramisu/base.py
new file mode 100644
index 000000000..6f8c9c283
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list_disabled/tiramisu/base.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = DomainnameOption(name="server_name", doc="server_name", default="example.net", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_7 = StrOption(name="name", doc="name", default="certificate")
+option_8 = UsernameOption(name="owner", doc="owner", default="example")
+option_9 = SymLinkOption(name="domain", opt=option_2)
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_6 = OptionDescription(name="certificate", doc="certificate", children=[option_7, option_8, option_9, option_10])
+optiondescription_6.impl_set_information('authority', "authority")
+optiondescription_6.impl_set_information('format', "cert_key")
+optiondescription_6.impl_set_information('type', "client")
+optiondescription_5 = OptionDescription(name="certificates", doc="certificates", children=[optiondescription_6])
+option_11 = BoolOption(name="activate", doc="activate", default=True)
+option_12 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_4 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_5, option_11, option_12])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries_old/10base_certificate_list_disabled/tiramisu/multi.py b/tests/dictionaries_old/10base_certificate_list_disabled/tiramisu/multi.py
new file mode 100644
index 000000000..4426edc10
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list_disabled/tiramisu/multi.py
@@ -0,0 +1,60 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = DomainnameOption(name="server_name", doc="server_name", default="example.net", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
+option_7 = SymLinkOption(name="domain", opt=option_1)
+option_8 = StrOption(name="name", doc="name", default="certificate")
+option_9 = UsernameOption(name="owner", doc="owner", default="example")
+option_6 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_1, notraisepropertyerror=True), 'expected_0': ParamValue("example.net")})))
+optiondescription_5 = OptionDescription(name="certificate", doc="certificate", children=[option_7, option_8, option_9, option_6])
+optiondescription_5.impl_set_information('authority', "authority")
+optiondescription_5.impl_set_information('format', "cert_key")
+optiondescription_5.impl_set_information('type', "client")
+optiondescription_4 = OptionDescription(name="certificates", doc="certificates", children=[optiondescription_5])
+option_3 = BoolOption(name="activate", doc="activate", default=True)
+option_10 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_22 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_4, option_3, option_10])
+optiondescription_22.impl_set_information('type', "service")
+optiondescription_21 = OptionDescription(name="services", doc="services", children=[optiondescription_22], properties=frozenset({"hidden"}))
+optiondescription_19 = OptionDescription(name="1", doc="1", children=[optiondescription_20, optiondescription_21])
+option_2 = DomainnameOption(name="server_name", doc="server_name", default="example.net", type='domainname', allow_ip=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[option_2], properties=frozenset({"normal"}))
+option_15 = SymLinkOption(name="domain", opt=option_2)
+option_16 = StrOption(name="name", doc="name", default="certificate")
+option_17 = UsernameOption(name="owner", doc="owner", default="example")
+option_14 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("example.net")})))
+optiondescription_13 = OptionDescription(name="certificate", doc="certificate", children=[option_15, option_16, option_17, option_14])
+optiondescription_13.impl_set_information('authority', "authority")
+optiondescription_13.impl_set_information('format', "cert_key")
+optiondescription_13.impl_set_information('type', "client")
+optiondescription_12 = OptionDescription(name="certificates", doc="certificates", children=[optiondescription_13])
+option_11 = BoolOption(name="activate", doc="activate", default=True)
+option_18 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_12, option_11, option_18])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="2", doc="2", children=[optiondescription_24, optiondescription_25])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_19, optiondescription_23])
diff --git a/tests/dictionaries_old/10base_certificate_list_disabled/xml/00-base.xml b/tests/dictionaries_old/10base_certificate_list_disabled/xml/00-base.xml
new file mode 100644
index 000000000..40b3d0d06
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list_disabled/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ certificate
+
+
+
+
+ example.net
+
+
+
+
+ example.net
+ certlist
+
+
+
diff --git a/tests/dictionaries_old/10base_certificate_list_disabled/yml/00-base.yml b/tests/dictionaries_old/10base_certificate_list_disabled/yml/00-base.yml
new file mode 100644
index 000000000..2f688f4f4
--- /dev/null
+++ b/tests/dictionaries_old/10base_certificate_list_disabled/yml/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ certificate:
+ - authority: authority
+ owner: example
+ certificatelist: certlist
+ text: certificate
+variables:
+- variable:
+ - name: server_name
+ type: domainname
+ value:
+ - text: example.net
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: server_name
+ param:
+ - text: example.net
+ target:
+ - type: certificatelist
+ text: certlist
diff --git a/tests/dictionaries_old/10check_base/00-base.xml b/tests/dictionaries_old/10check_base/00-base.xml
deleted file mode 100644
index ca0c88032..000000000
--- a/tests/dictionaries_old/10check_base/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- b
-
-
-
-
-
-
- 0
- 100
- int
-
-
-
diff --git a/tests/dictionaries_old/10check_base/result/rougail/00-base.yml b/tests/dictionaries_old/10check_base/result/rougail/00-base.yml
new file mode 100644
index 000000000..3587ccd77
--- /dev/null
+++ b/tests/dictionaries_old/10check_base/result/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_entier(mini=0, maxi=100) }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_base/tiramisu/base.py b/tests/dictionaries_old/10check_base/tiramisu/base.py
index 00697a265..376a1382b 100644
--- a/tests/dictionaries_old/10check_base/tiramisu/base.py
+++ b/tests/dictionaries_old/10check_base/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
-option_4 = IntOption(name="int", doc="No change", min_number=0, max_number=100, properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = IntOption(name="int", doc="No change", properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_base/tiramisu/multi.py b/tests/dictionaries_old/10check_base/tiramisu/multi.py
new file mode 100644
index 000000000..2bc20c94c
--- /dev/null
+++ b/tests/dictionaries_old/10check_base/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
+option_3 = IntOption(name="int", doc="No change", min_number=0, max_number=100, properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
+option_6 = IntOption(name="int", doc="No change", min_number=0, max_number=100, properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/10check_base/xml/00-base.xml b/tests/dictionaries_old/10check_base/xml/00-base.xml
new file mode 100644
index 000000000..a163cee3a
--- /dev/null
+++ b/tests/dictionaries_old/10check_base/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ b
+
+
+
+
+
+
+ 0
+ 100
+ int
+
+
+
diff --git a/tests/dictionaries_old/10check_base/yml/00-base.yml b/tests/dictionaries_old/10check_base/yml/00-base.yml
new file mode 100644
index 000000000..6a4389c7d
--- /dev/null
+++ b/tests/dictionaries_old/10check_base/yml/00-base.yml
@@ -0,0 +1,26 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: b
+ - name: int
+ type: number
+ description: No change
+constraints:
+- check:
+ - name: valid_entier
+ param:
+ - name: mini
+ type: number
+ text: 0
+ - name: maxi
+ type: number
+ text: 100
+ target:
+ - text: int
diff --git a/tests/dictionaries_old/10check_base_target_optional/00-base.xml b/tests/dictionaries_old/10check_base_target_optional/00-base.xml
deleted file mode 100644
index ff050721b..000000000
--- a/tests/dictionaries_old/10check_base_target_optional/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
- 0
- 100
- int
-
-
-
diff --git a/tests/dictionaries_old/10check_base_target_optional/result/rougail/00-base.yml b/tests/dictionaries_old/10check_base_target_optional/result/rougail/00-base.yml
new file mode 100644
index 000000000..e5a393622
--- /dev/null
+++ b/tests/dictionaries_old/10check_base_target_optional/result/rougail/00-base.yml
@@ -0,0 +1,3 @@
+my_variable:
+ type: string
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_base_target_optional/tiramisu/base.py b/tests/dictionaries_old/10check_base_target_optional/tiramisu/base.py
index 342862113..8267ca2f8 100644
--- a/tests/dictionaries_old/10check_base_target_optional/tiramisu/base.py
+++ b/tests/dictionaries_old/10check_base_target_optional/tiramisu/base.py
@@ -1,16 +1,28 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = StrOption(name="my_variable", doc="my_variable", properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_base_target_optional/tiramisu/multi.py b/tests/dictionaries_old/10check_base_target_optional/tiramisu/multi.py
new file mode 100644
index 000000000..b3d78e184
--- /dev/null
+++ b/tests/dictionaries_old/10check_base_target_optional/tiramisu/multi.py
@@ -0,0 +1,32 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = StrOption(name="my_variable", doc="my_variable", properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="1", doc="1", children=[optiondescription_4])
+option_2 = StrOption(name="my_variable", doc="my_variable", properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="2", doc="2", children=[optiondescription_6])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3, optiondescription_5])
diff --git a/tests/dictionaries_old/10check_base_target_optional/xml/00-base.xml b/tests/dictionaries_old/10check_base_target_optional/xml/00-base.xml
new file mode 100644
index 000000000..be6d5b08a
--- /dev/null
+++ b/tests/dictionaries_old/10check_base_target_optional/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+ 0
+ 100
+ int
+
+
+
diff --git a/tests/dictionaries_old/10check_base_target_optional/yml/00-base.yml b/tests/dictionaries_old/10check_base_target_optional/yml/00-base.yml
new file mode 100644
index 000000000..d5fbc6b51
--- /dev/null
+++ b/tests/dictionaries_old/10check_base_target_optional/yml/00-base.yml
@@ -0,0 +1,17 @@
+version: '0.10'
+variables:
+- variable:
+ - name: my_variable
+constraints:
+- check:
+ - name: valid_entier
+ param:
+ - name: mini
+ type: number
+ text: 0
+ - name: maxi
+ type: number
+ text: 100
+ target:
+ - optional: true
+ text: int
diff --git a/tests/dictionaries_old/10check_no_param/00-base.xml b/tests/dictionaries_old/10check_no_param/00-base.xml
deleted file mode 100644
index dbc7ff3d5..000000000
--- a/tests/dictionaries_old/10check_no_param/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- b
-
-
-
-
-
-
- int
-
-
-
diff --git a/tests/dictionaries_old/10check_no_param/result/rougail/00-base.yml b/tests/dictionaries_old/10check_no_param/result/rougail/00-base.yml
new file mode 100644
index 000000000..28424db50
--- /dev/null
+++ b/tests/dictionaries_old/10check_no_param/result/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_lower }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_no_param/tiramisu/base.py b/tests/dictionaries_old/10check_no_param/tiramisu/base.py
index f2a066cca..376a1382b 100644
--- a/tests/dictionaries_old/10check_no_param/tiramisu/base.py
+++ b/tests/dictionaries_old/10check_no_param/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
-option_4 = IntOption(name="int", doc="No change", validators=[Calculation(func.valid_lower, Params((ParamSelfOption(whole=False))), warnings_only=False)], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = IntOption(name="int", doc="No change", properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_no_param/tiramisu/multi.py b/tests/dictionaries_old/10check_no_param/tiramisu/multi.py
new file mode 100644
index 000000000..b589b1a4e
--- /dev/null
+++ b/tests/dictionaries_old/10check_no_param/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
+option_3 = IntOption(name="int", doc="No change", validators=[Calculation(func.valid_lower, Params((ParamSelfOption(whole=False))), warnings_only=False)], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
+option_6 = IntOption(name="int", doc="No change", validators=[Calculation(func.valid_lower, Params((ParamSelfOption(whole=False))), warnings_only=False)], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/10check_no_param/xml/00-base.xml b/tests/dictionaries_old/10check_no_param/xml/00-base.xml
new file mode 100644
index 000000000..1def8eb47
--- /dev/null
+++ b/tests/dictionaries_old/10check_no_param/xml/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ b
+
+
+
+
+
+
+ int
+
+
+
diff --git a/tests/dictionaries_old/10check_no_param/yml/00-base.yml b/tests/dictionaries_old/10check_no_param/yml/00-base.yml
new file mode 100644
index 000000000..b0433d295
--- /dev/null
+++ b/tests/dictionaries_old/10check_no_param/yml/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: b
+ - name: int
+ type: number
+ description: No change
+constraints:
+- check:
+ - name: valid_lower
+ target:
+ - text: int
diff --git a/tests/dictionaries_old/10check_option/00-base.xml b/tests/dictionaries_old/10check_option/00-base.xml
deleted file mode 100644
index 90decd5f9..000000000
--- a/tests/dictionaries_old/10check_option/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- b
-
-
- 100
-
-
-
-
-
-
- 0
- int2
- int
-
-
-
diff --git a/tests/dictionaries_old/10check_option/result/rougail/00-base.yml b/tests/dictionaries_old/10check_option/result/rougail/00-base.yml
new file mode 100644
index 000000000..d27425e61
--- /dev/null
+++ b/tests/dictionaries_old/10check_option/result/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int2:
+ type: number
+ description: No change
+ default: 100
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_lower(mini=0, maxi=rougail.general.int2)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_option/tiramisu/base.py b/tests/dictionaries_old/10check_option/tiramisu/base.py
index a8ac7b010..1f2125863 100644
--- a/tests/dictionaries_old/10check_option/tiramisu/base.py
+++ b/tests/dictionaries_old/10check_option/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
option_4 = IntOption(name="int2", doc="No change", default=100, properties=frozenset({"mandatory", "normal"}))
-option_5 = IntOption(name="int", doc="No change", validators=[Calculation(func.valid_lower, Params((ParamSelfOption(whole=False)), kwargs={'mini': ParamValue(0), 'maxi': ParamOption(option_4)}), warnings_only=False)], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = IntOption(name="int", doc="No change", properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_option/tiramisu/multi.py b/tests/dictionaries_old/10check_option/tiramisu/multi.py
new file mode 100644
index 000000000..21a86a503
--- /dev/null
+++ b/tests/dictionaries_old/10check_option/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
+option_3 = IntOption(name="int2", doc="No change", default=100, properties=frozenset({"mandatory", "normal"}))
+option_4 = IntOption(name="int", doc="No change", validators=[Calculation(func.valid_lower, Params((ParamSelfOption(whole=False)), kwargs={'mini': ParamValue(0), 'maxi': ParamOption(option_3)}), warnings_only=False)], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
+option_7 = IntOption(name="int2", doc="No change", default=100, properties=frozenset({"mandatory", "normal"}))
+option_8 = IntOption(name="int", doc="No change", validators=[Calculation(func.valid_lower, Params((ParamSelfOption(whole=False)), kwargs={'mini': ParamValue(0), 'maxi': ParamOption(option_7)}), warnings_only=False)], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10check_option/xml/00-base.xml b/tests/dictionaries_old/10check_option/xml/00-base.xml
new file mode 100644
index 000000000..8931a184e
--- /dev/null
+++ b/tests/dictionaries_old/10check_option/xml/00-base.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ b
+
+
+ 100
+
+
+
+
+
+
+ 0
+ int2
+ int
+
+
+
diff --git a/tests/dictionaries_old/10check_option/yml/00-base.yml b/tests/dictionaries_old/10check_option/yml/00-base.yml
new file mode 100644
index 000000000..4c762ce60
--- /dev/null
+++ b/tests/dictionaries_old/10check_option/yml/00-base.yml
@@ -0,0 +1,31 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: b
+ - name: int2
+ type: number
+ description: No change
+ value:
+ - text: 100
+ - name: int
+ type: number
+ description: No change
+constraints:
+- check:
+ - name: valid_lower
+ param:
+ - name: mini
+ type: number
+ text: 0
+ - name: maxi
+ type: variable
+ text: int2
+ target:
+ - text: int
diff --git a/tests/dictionaries_old/10check_optional/00-base.xml b/tests/dictionaries_old/10check_optional/00-base.xml
deleted file mode 100644
index 2492a5b8d..000000000
--- a/tests/dictionaries_old/10check_optional/00-base.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
- b
-
-
-
-
-
-
-
- int2
- int
-
-
- int3
- int
-
-
-
diff --git a/tests/dictionaries_old/10check_optional/result/rougail/00-base.yml b/tests/dictionaries_old/10check_optional/result/rougail/00-base.yml
new file mode 100644
index 000000000..d8a0c9c73
--- /dev/null
+++ b/tests/dictionaries_old/10check_optional/result/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: b
+ int:
+ type: number
+ description: No change
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_differ(rougail.general.int2) }}'
+ - type: jinja
+ jinja: '{{ rougail.general.int | valid_differ(__int3) }}'
+ int2:
+ type: number
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_optional/tiramisu/base.py b/tests/dictionaries_old/10check_optional/tiramisu/base.py
index 4ec01c549..d5cf5fc25 100644
--- a/tests/dictionaries_old/10check_optional/tiramisu/base.py
+++ b/tests/dictionaries_old/10check_optional/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
+option_4 = IntOption(name="int", doc="No change", properties=frozenset({"normal"}))
option_5 = IntOption(name="int2", doc="No change", properties=frozenset({"normal"}))
-option_4 = IntOption(name="int", doc="No change", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_5))), warnings_only=False)], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_optional/tiramisu/multi.py b/tests/dictionaries_old/10check_optional/tiramisu/multi.py
new file mode 100644
index 000000000..21c6c207d
--- /dev/null
+++ b/tests/dictionaries_old/10check_optional/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
+option_4 = IntOption(name="int2", doc="No change", properties=frozenset({"normal"}))
+option_3 = IntOption(name="int", doc="No change", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_4))), warnings_only=False)], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="b", properties=frozenset({"mandatory", "normal"}))
+option_8 = IntOption(name="int2", doc="No change", properties=frozenset({"normal"}))
+option_7 = IntOption(name="int", doc="No change", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_8))), warnings_only=False)], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10check_optional/xml/00-base.xml b/tests/dictionaries_old/10check_optional/xml/00-base.xml
new file mode 100644
index 000000000..a4b36485e
--- /dev/null
+++ b/tests/dictionaries_old/10check_optional/xml/00-base.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+ b
+
+
+
+
+
+
+
+ int2
+ int
+
+
+ int3
+ int
+
+
+
diff --git a/tests/dictionaries_old/10check_optional/yml/00-base.yml b/tests/dictionaries_old/10check_optional/yml/00-base.yml
new file mode 100644
index 000000000..47241ce0f
--- /dev/null
+++ b/tests/dictionaries_old/10check_optional/yml/00-base.yml
@@ -0,0 +1,33 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: b
+ - name: int
+ type: number
+ description: No change
+ - name: int2
+ type: number
+ description: No change
+constraints:
+- check:
+ - name: valid_differ
+ param:
+ - type: variable
+ optional: true
+ text: int2
+ target:
+ - text: int
+ - name: valid_differ
+ param:
+ - type: variable
+ optional: true
+ text: int3
+ target:
+ - text: int
diff --git a/tests/dictionaries_old/10check_valid_differ/00-base.xml b/tests/dictionaries_old/10check_valid_differ/00-base.xml
deleted file mode 100644
index 66c5cdb25..000000000
--- a/tests/dictionaries_old/10check_valid_differ/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- oui
-
-
- non
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/10check_valid_differ/result/rougail/00-base.yml b/tests/dictionaries_old/10check_valid_differ/result/rougail/00-base.yml
new file mode 100644
index 000000000..1de6670b5
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ/result/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif | valid_differ(rougail.general.mode_conteneur_actif1)
+ }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_valid_differ/tiramisu/base.py b/tests/dictionaries_old/10check_valid_differ/tiramisu/base.py
index 8f47e7326..cdf8d7866 100644
--- a/tests/dictionaries_old/10check_valid_differ/tiramisu/base.py
+++ b/tests/dictionaries_old/10check_valid_differ/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_4))), warnings_only=False)], properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_valid_differ/tiramisu/multi.py b/tests/dictionaries_old/10check_valid_differ/tiramisu/multi.py
new file mode 100644
index 000000000..76758ad99
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_3))), warnings_only=False)], properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_6 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_6))), warnings_only=False)], properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/10check_valid_differ/xml/00-base.xml b/tests/dictionaries_old/10check_valid_differ/xml/00-base.xml
new file mode 100644
index 000000000..57da70df4
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ oui
+
+
+ non
+
+
+
+
+
+ mode_conteneur_actif1
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/10check_valid_differ/yml/00-base.yml b/tests/dictionaries_old/10check_valid_differ/yml/00-base.yml
new file mode 100644
index 000000000..52059f34c
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ/yml/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: oui
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- check:
+ - name: valid_differ
+ param:
+ - type: variable
+ text: mode_conteneur_actif1
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/10check_valid_differ_add/00-base.xml b/tests/dictionaries_old/10check_valid_differ_add/00-base.xml
deleted file mode 100644
index 8f7d0d622..000000000
--- a/tests/dictionaries_old/10check_valid_differ_add/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- oui
-
-
- non
-
-
- non
-
-
- oui
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif3
-
-
-
diff --git a/tests/dictionaries_old/10check_valid_differ_add/01-base.xml b/tests/dictionaries_old/10check_valid_differ_add/01-base.xml
deleted file mode 100644
index cb008e7c4..000000000
--- a/tests/dictionaries_old/10check_valid_differ_add/01-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif3
-
-
- mode_conteneur_actif2
- mode_conteneur_actif3
-
-
-
diff --git a/tests/dictionaries_old/10check_valid_differ_add/result/rougail/00-base.yml b/tests/dictionaries_old/10check_valid_differ_add/result/rougail/00-base.yml
new file mode 100644
index 000000000..b0a01db0d
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_add/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default: oui
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(rougail.general.mode_conteneur_actif1)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_valid_differ_add/result/rougail/01-base.yml b/tests/dictionaries_old/10check_valid_differ_add/result/rougail/01-base.yml
new file mode 100644
index 000000000..f94328eae
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_add/result/rougail/01-base.yml
@@ -0,0 +1,11 @@
+general:
+ mode_conteneur_actif3:
+ redefine: true
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(__mode_conteneur_actif1)
+ }}'
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(__mode_conteneur_actif2)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_valid_differ_add/tiramisu/base.py b/tests/dictionaries_old/10check_valid_differ_add/tiramisu/base.py
index 257ad3aae..357dbb1a3 100644
--- a/tests/dictionaries_old/10check_valid_differ_add/tiramisu/base.py
+++ b/tests/dictionaries_old/10check_valid_differ_add/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default="oui", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_4))), warnings_only=False), Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_4))), warnings_only=False), Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_5))), warnings_only=False)], properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_valid_differ_add/tiramisu/multi.py b/tests/dictionaries_old/10check_valid_differ_add/tiramisu/multi.py
new file mode 100644
index 000000000..de29aa266
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_add/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif3", doc="No change", default="oui", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_3))), warnings_only=False), Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_3))), warnings_only=False), Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_4))), warnings_only=False)], properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="mode_conteneur_actif3", doc="No change", default="oui", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_8))), warnings_only=False), Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_8))), warnings_only=False), Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_9))), warnings_only=False)], properties=frozenset({"mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7, option_8, option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/10check_valid_differ_add/xml/00-base.xml b/tests/dictionaries_old/10check_valid_differ_add/xml/00-base.xml
new file mode 100644
index 000000000..7ec67be01
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_add/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ oui
+
+
+ non
+
+
+ non
+
+
+ oui
+
+
+
+
+
+ mode_conteneur_actif1
+ mode_conteneur_actif3
+
+
+
diff --git a/tests/dictionaries_old/10check_valid_differ_add/xml/01-base.xml b/tests/dictionaries_old/10check_valid_differ_add/xml/01-base.xml
new file mode 100644
index 000000000..91112ba4b
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_add/xml/01-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+ mode_conteneur_actif1
+ mode_conteneur_actif3
+
+
+ mode_conteneur_actif2
+ mode_conteneur_actif3
+
+
+
diff --git a/tests/dictionaries_old/10check_valid_differ_add/yml/00-base.yml b/tests/dictionaries_old/10check_valid_differ_add/yml/00-base.yml
new file mode 100644
index 000000000..0194c65b8
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_add/yml/00-base.yml
@@ -0,0 +1,34 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: oui
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif3
+ type: string
+ description: No change
+ value:
+ - text: oui
+constraints:
+- check:
+ - name: valid_differ
+ param:
+ - type: variable
+ text: mode_conteneur_actif1
+ target:
+ - text: mode_conteneur_actif3
diff --git a/tests/dictionaries_old/10check_valid_differ_add/yml/01-base.yml b/tests/dictionaries_old/10check_valid_differ_add/yml/01-base.yml
new file mode 100644
index 000000000..cf277070e
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_add/yml/01-base.yml
@@ -0,0 +1,22 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif3
+ redefine: true
+constraints:
+- check:
+ - name: valid_differ
+ param:
+ - type: variable
+ text: mode_conteneur_actif1
+ target:
+ - text: mode_conteneur_actif3
+ - name: valid_differ
+ param:
+ - type: variable
+ text: mode_conteneur_actif2
+ target:
+ - text: mode_conteneur_actif3
diff --git a/tests/dictionaries_old/10check_valid_differ_removecheck/00-base.xml b/tests/dictionaries_old/10check_valid_differ_removecheck/00-base.xml
deleted file mode 100644
index 8f7d0d622..000000000
--- a/tests/dictionaries_old/10check_valid_differ_removecheck/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- oui
-
-
- non
-
-
- non
-
-
- oui
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif3
-
-
-
diff --git a/tests/dictionaries_old/10check_valid_differ_removecheck/01-base.xml b/tests/dictionaries_old/10check_valid_differ_removecheck/01-base.xml
deleted file mode 100644
index f60d9d424..000000000
--- a/tests/dictionaries_old/10check_valid_differ_removecheck/01-base.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- oui
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif3
-
-
- mode_conteneur_actif2
- mode_conteneur_actif3
-
-
-
diff --git a/tests/dictionaries_old/10check_valid_differ_removecheck/result/rougail/00-base.yml b/tests/dictionaries_old/10check_valid_differ_removecheck/result/rougail/00-base.yml
new file mode 100644
index 000000000..b0a01db0d
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_removecheck/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default: oui
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(rougail.general.mode_conteneur_actif1)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_valid_differ_removecheck/result/rougail/01-base.yml b/tests/dictionaries_old/10check_valid_differ_removecheck/result/rougail/01-base.yml
new file mode 100644
index 000000000..d543b49dc
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_removecheck/result/rougail/01-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif3:
+ redefine: true
+ default: oui
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(__mode_conteneur_actif1)
+ }}'
+ - type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif3 | valid_differ(__mode_conteneur_actif2)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_valid_differ_removecheck/tiramisu/base.py b/tests/dictionaries_old/10check_valid_differ_removecheck/tiramisu/base.py
index bcf76a244..357dbb1a3 100644
--- a/tests/dictionaries_old/10check_valid_differ_removecheck/tiramisu/base.py
+++ b/tests/dictionaries_old/10check_valid_differ_removecheck/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default="oui", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_4))), warnings_only=False), Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_5))), warnings_only=False)], properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_valid_differ_removecheck/tiramisu/multi.py b/tests/dictionaries_old/10check_valid_differ_removecheck/tiramisu/multi.py
new file mode 100644
index 000000000..10b8fe33d
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_removecheck/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif3", doc="No change", default="oui", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_3))), warnings_only=False), Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_4))), warnings_only=False)], properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="mode_conteneur_actif3", doc="No change", default="oui", validators=[Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_8))), warnings_only=False), Calculation(func.valid_differ, Params((ParamSelfOption(whole=False), ParamOption(option_9))), warnings_only=False)], properties=frozenset({"mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7, option_8, option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/10check_valid_differ_removecheck/xml/00-base.xml b/tests/dictionaries_old/10check_valid_differ_removecheck/xml/00-base.xml
new file mode 100644
index 000000000..7ec67be01
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_removecheck/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ oui
+
+
+ non
+
+
+ non
+
+
+ oui
+
+
+
+
+
+ mode_conteneur_actif1
+ mode_conteneur_actif3
+
+
+
diff --git a/tests/dictionaries_old/10check_valid_differ_removecheck/xml/01-base.xml b/tests/dictionaries_old/10check_valid_differ_removecheck/xml/01-base.xml
new file mode 100644
index 000000000..4dd70a09b
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_removecheck/xml/01-base.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ oui
+
+
+
+
+
+ mode_conteneur_actif1
+ mode_conteneur_actif3
+
+
+ mode_conteneur_actif2
+ mode_conteneur_actif3
+
+
+
diff --git a/tests/dictionaries_old/10check_valid_differ_removecheck/yml/00-base.yml b/tests/dictionaries_old/10check_valid_differ_removecheck/yml/00-base.yml
new file mode 100644
index 000000000..0194c65b8
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_removecheck/yml/00-base.yml
@@ -0,0 +1,34 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: oui
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif3
+ type: string
+ description: No change
+ value:
+ - text: oui
+constraints:
+- check:
+ - name: valid_differ
+ param:
+ - type: variable
+ text: mode_conteneur_actif1
+ target:
+ - text: mode_conteneur_actif3
diff --git a/tests/dictionaries_old/10check_valid_differ_removecheck/yml/01-base.yml b/tests/dictionaries_old/10check_valid_differ_removecheck/yml/01-base.yml
new file mode 100644
index 000000000..4262e11e1
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_differ_removecheck/yml/01-base.yml
@@ -0,0 +1,25 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif3
+ redefine: true
+ remove_check: true
+ value:
+ - text: oui
+constraints:
+- check:
+ - name: valid_differ
+ param:
+ - type: variable
+ text: mode_conteneur_actif1
+ target:
+ - text: mode_conteneur_actif3
+ - name: valid_differ
+ param:
+ - type: variable
+ text: mode_conteneur_actif2
+ target:
+ - text: mode_conteneur_actif3
diff --git a/tests/dictionaries_old/10check_valid_in_network/00-base.xml b/tests/dictionaries_old/10check_valid_in_network/00-base.xml
deleted file mode 100644
index 5b807fc81..000000000
--- a/tests/dictionaries_old/10check_valid_in_network/00-base.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- oui
-
-
-
-
-
-
-
-
- adresse_ip_eth0
- adresse_netmask_eth0
- adresse_ip
-
-
-
diff --git a/tests/dictionaries_old/10check_valid_in_network/result/rougail/00-base.yml b/tests/dictionaries_old/10check_valid_in_network/result/rougail/00-base.yml
new file mode 100644
index 000000000..361c52058
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_in_network/result/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ adresse_ip_eth0:
+ type: local_ip
+ description: Adresse IP de la carte
+ mandatory: true
+ mode: basic
+ adresse_netmask_eth0:
+ type: netmask
+ description: Masque de sous réseau de la carte
+ mandatory: true
+ mode: basic
+ adresse_ip:
+ type: local_ip
+ description: IP
+ mandatory: true
+ mode: basic
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.adresse_ip | valid_in_network(rougail.general.adresse_ip_eth0,
+ rougail.general.adresse_netmask_eth0) }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_valid_in_network/tiramisu/base.py b/tests/dictionaries_old/10check_valid_in_network/tiramisu/base.py
index 9d8340cec..5781eec41 100644
--- a/tests/dictionaries_old/10check_valid_in_network/tiramisu/base.py
+++ b/tests/dictionaries_old/10check_valid_in_network/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
option_4 = IPOption(name="adresse_ip_eth0", doc="Adresse IP de la carte", private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
option_5 = NetmaskOption(name="adresse_netmask_eth0", doc="Masque de sous réseau de la carte", properties=frozenset({"basic", "mandatory"}))
-option_6 = IPOption(name="adresse_ip", doc="IP", validators=[Calculation(func.valid_in_network, Params((ParamSelfOption(whole=False), ParamOption(option_4), ParamOption(option_5))), warnings_only=True)], private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_6 = IPOption(name="adresse_ip", doc="IP", private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_valid_in_network/tiramisu/multi.py b/tests/dictionaries_old/10check_valid_in_network/tiramisu/multi.py
new file mode 100644
index 000000000..df162cf3d
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_in_network/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_3 = IPOption(name="adresse_ip_eth0", doc="Adresse IP de la carte", private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
+option_4 = NetmaskOption(name="adresse_netmask_eth0", doc="Masque de sous réseau de la carte", properties=frozenset({"basic", "mandatory"}))
+option_5 = IPOption(name="adresse_ip", doc="IP", validators=[Calculation(func.valid_in_network, Params((ParamSelfOption(whole=False), ParamOption(option_3), ParamOption(option_4))), warnings_only=True)], private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4, option_5], properties=frozenset({"basic"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"basic"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_8 = IPOption(name="adresse_ip_eth0", doc="Adresse IP de la carte", private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
+option_9 = NetmaskOption(name="adresse_netmask_eth0", doc="Masque de sous réseau de la carte", properties=frozenset({"basic", "mandatory"}))
+option_10 = IPOption(name="adresse_ip", doc="IP", validators=[Calculation(func.valid_in_network, Params((ParamSelfOption(whole=False), ParamOption(option_8), ParamOption(option_9))), warnings_only=True)], private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7, option_8, option_9, option_10], properties=frozenset({"basic"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"basic"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/10check_valid_in_network/xml/00-base.xml b/tests/dictionaries_old/10check_valid_in_network/xml/00-base.xml
new file mode 100644
index 000000000..20877efab
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_in_network/xml/00-base.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ oui
+
+
+
+
+
+
+
+
+ adresse_ip_eth0
+ adresse_netmask_eth0
+ adresse_ip
+
+
+
diff --git a/tests/dictionaries_old/10check_valid_in_network/yml/00-base.yml b/tests/dictionaries_old/10check_valid_in_network/yml/00-base.yml
new file mode 100644
index 000000000..c39d097e3
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_in_network/yml/00-base.yml
@@ -0,0 +1,37 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: oui
+ - name: adresse_ip_eth0
+ type: local_ip
+ description: Adresse IP de la carte
+ mandatory: true
+ mode: basic
+ - name: adresse_netmask_eth0
+ type: netmask
+ description: "Masque de sous r\xE9seau de la carte"
+ mandatory: true
+ mode: basic
+ - name: adresse_ip
+ type: local_ip
+ description: IP
+ mandatory: true
+ mode: basic
+constraints:
+- check:
+ - name: valid_in_network
+ level: warning
+ param:
+ - type: variable
+ text: adresse_ip_eth0
+ - type: variable
+ text: adresse_netmask_eth0
+ target:
+ - text: adresse_ip
diff --git a/tests/dictionaries_old/10check_valid_in_network_cidr/00-base.xml b/tests/dictionaries_old/10check_valid_in_network_cidr/00-base.xml
deleted file mode 100644
index b46fc733e..000000000
--- a/tests/dictionaries_old/10check_valid_in_network_cidr/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- oui
-
-
-
-
-
-
-
- adresse_ip_eth0
- adresse_ip
-
-
-
diff --git a/tests/dictionaries_old/10check_valid_in_network_cidr/result/rougail/00-base.yml b/tests/dictionaries_old/10check_valid_in_network_cidr/result/rougail/00-base.yml
new file mode 100644
index 000000000..3b7068f3f
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_in_network_cidr/result/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ adresse_ip_eth0:
+ type: cidr
+ description: Adresse IP de la carte
+ mandatory: true
+ mode: basic
+ adresse_ip:
+ type: local_ip
+ description: IP
+ mandatory: true
+ mode: basic
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.adresse_ip | valid_in_network(rougail.general.adresse_ip_eth0)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_valid_in_network_cidr/tiramisu/base.py b/tests/dictionaries_old/10check_valid_in_network_cidr/tiramisu/base.py
index 1028c9b85..4a657b5b4 100644
--- a/tests/dictionaries_old/10check_valid_in_network_cidr/tiramisu/base.py
+++ b/tests/dictionaries_old/10check_valid_in_network_cidr/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
option_4 = IPOption(name="adresse_ip_eth0", doc="Adresse IP de la carte", cidr=True, properties=frozenset({"basic", "mandatory"}))
-option_5 = IPOption(name="adresse_ip", doc="IP", validators=[Calculation(func.valid_in_network, Params((ParamSelfOption(whole=False), ParamOption(option_4))), warnings_only=True)], private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = IPOption(name="adresse_ip", doc="IP", private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_valid_in_network_cidr/tiramisu/multi.py b/tests/dictionaries_old/10check_valid_in_network_cidr/tiramisu/multi.py
new file mode 100644
index 000000000..b11b4c7ef
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_in_network_cidr/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_3 = IPOption(name="adresse_ip_eth0", doc="Adresse IP de la carte", cidr=True, properties=frozenset({"basic", "mandatory"}))
+option_4 = IPOption(name="adresse_ip", doc="IP", validators=[Calculation(func.valid_in_network, Params((ParamSelfOption(whole=False), ParamOption(option_3))), warnings_only=True)], private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"basic"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_7 = IPOption(name="adresse_ip_eth0", doc="Adresse IP de la carte", cidr=True, properties=frozenset({"basic", "mandatory"}))
+option_8 = IPOption(name="adresse_ip", doc="IP", validators=[Calculation(func.valid_in_network, Params((ParamSelfOption(whole=False), ParamOption(option_7))), warnings_only=True)], private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"basic"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"basic"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10check_valid_in_network_cidr/xml/00-base.xml b/tests/dictionaries_old/10check_valid_in_network_cidr/xml/00-base.xml
new file mode 100644
index 000000000..e9d4d8daf
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_in_network_cidr/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ oui
+
+
+
+
+
+
+
+ adresse_ip_eth0
+ adresse_ip
+
+
+
diff --git a/tests/dictionaries_old/10check_valid_in_network_cidr/yml/00-base.yml b/tests/dictionaries_old/10check_valid_in_network_cidr/yml/00-base.yml
new file mode 100644
index 000000000..d8069d904
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_in_network_cidr/yml/00-base.yml
@@ -0,0 +1,30 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: oui
+ - name: adresse_ip_eth0
+ type: cidr
+ description: Adresse IP de la carte
+ mandatory: true
+ mode: basic
+ - name: adresse_ip
+ type: local_ip
+ description: IP
+ mandatory: true
+ mode: basic
+constraints:
+- check:
+ - name: valid_in_network
+ level: warning
+ param:
+ - type: variable
+ text: adresse_ip_eth0
+ target:
+ - text: adresse_ip
diff --git a/tests/dictionaries_old/10check_valid_ipnetmask/00-base.xml b/tests/dictionaries_old/10check_valid_ipnetmask/00-base.xml
deleted file mode 100644
index 62e76c062..000000000
--- a/tests/dictionaries_old/10check_valid_ipnetmask/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- oui
-
-
-
-
-
-
-
- adresse_ip_eth0
- adresse_netmask_eth0
-
-
-
diff --git a/tests/dictionaries_old/10check_valid_ipnetmask/result/rougail/00-base.yml b/tests/dictionaries_old/10check_valid_ipnetmask/result/rougail/00-base.yml
new file mode 100644
index 000000000..32a6e15c8
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_ipnetmask/result/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ adresse_ip_eth0:
+ type: local_ip
+ description: Adresse IP de la carte
+ mandatory: true
+ mode: basic
+ adresse_netmask_eth0:
+ type: netmask
+ description: Masque de sous réseau de la carte
+ mandatory: true
+ mode: basic
+ validators:
+ - type: jinja
+ jinja: '{{ rougail.general.adresse_netmask_eth0 | valid_ipnetmask(rougail.general.adresse_ip_eth0)
+ }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_valid_ipnetmask/tiramisu/base.py b/tests/dictionaries_old/10check_valid_ipnetmask/tiramisu/base.py
index 23590ce31..6e07672db 100644
--- a/tests/dictionaries_old/10check_valid_ipnetmask/tiramisu/base.py
+++ b/tests/dictionaries_old/10check_valid_ipnetmask/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
option_4 = IPOption(name="adresse_ip_eth0", doc="Adresse IP de la carte", private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
-option_5 = NetmaskOption(name="adresse_netmask_eth0", doc="Masque de sous réseau de la carte", validators=[Calculation(func.valid_ipnetmask, Params((ParamSelfOption(whole=False), ParamOption(option_4))), warnings_only=True)], properties=frozenset({"basic", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = NetmaskOption(name="adresse_netmask_eth0", doc="Masque de sous réseau de la carte", properties=frozenset({"basic", "mandatory"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_valid_ipnetmask/tiramisu/multi.py b/tests/dictionaries_old/10check_valid_ipnetmask/tiramisu/multi.py
new file mode 100644
index 000000000..98ebcbb07
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_ipnetmask/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_3 = IPOption(name="adresse_ip_eth0", doc="Adresse IP de la carte", private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
+option_4 = NetmaskOption(name="adresse_netmask_eth0", doc="Masque de sous réseau de la carte", validators=[Calculation(func.valid_ipnetmask, Params((ParamSelfOption(whole=False), ParamOption(option_3))), warnings_only=True)], properties=frozenset({"basic", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"basic"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_7 = IPOption(name="adresse_ip_eth0", doc="Adresse IP de la carte", private_only=True, warnings_only=True, properties=frozenset({"basic", "mandatory"}))
+option_8 = NetmaskOption(name="adresse_netmask_eth0", doc="Masque de sous réseau de la carte", validators=[Calculation(func.valid_ipnetmask, Params((ParamSelfOption(whole=False), ParamOption(option_7))), warnings_only=True)], properties=frozenset({"basic", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"basic"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"basic"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10check_valid_ipnetmask/xml/00-base.xml b/tests/dictionaries_old/10check_valid_ipnetmask/xml/00-base.xml
new file mode 100644
index 000000000..f6af8dac6
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_ipnetmask/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ oui
+
+
+
+
+
+
+
+ adresse_ip_eth0
+ adresse_netmask_eth0
+
+
+
diff --git a/tests/dictionaries_old/10check_valid_ipnetmask/yml/00-base.yml b/tests/dictionaries_old/10check_valid_ipnetmask/yml/00-base.yml
new file mode 100644
index 000000000..a08311164
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_ipnetmask/yml/00-base.yml
@@ -0,0 +1,30 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: oui
+ - name: adresse_ip_eth0
+ type: local_ip
+ description: Adresse IP de la carte
+ mandatory: true
+ mode: basic
+ - name: adresse_netmask_eth0
+ type: netmask
+ description: "Masque de sous r\xE9seau de la carte"
+ mandatory: true
+ mode: basic
+constraints:
+- check:
+ - name: valid_ipnetmask
+ level: warning
+ param:
+ - type: variable
+ text: adresse_ip_eth0
+ target:
+ - text: adresse_netmask_eth0
diff --git a/tests/dictionaries/01base_file_owner/__init__.py b/tests/dictionaries_old/10check_valid_jinja/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_owner/__init__.py
rename to tests/dictionaries_old/10check_valid_jinja/__init__.py
diff --git a/tests/dictionaries_old/10check_valid_jinja/makedict/after.json b/tests/dictionaries_old/10check_valid_jinja/makedict/after.json
new file mode 100644
index 000000000..f0a909af9
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_jinja/makedict/after.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "oui"
+ },
+ "rougail.general.mode_conteneur_actif1": {
+ "owner": "default",
+ "value": "non"
+ }
+}
diff --git a/tests/dictionaries_old/10check_valid_jinja/makedict/base.json b/tests/dictionaries_old/10check_valid_jinja/makedict/base.json
new file mode 100644
index 000000000..a13f65aab
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_jinja/makedict/base.json
@@ -0,0 +1,4 @@
+{
+ "rougail.general.mode_conteneur_actif": "oui",
+ "rougail.general.mode_conteneur_actif1": "non"
+}
diff --git a/tests/dictionaries_old/10check_valid_jinja/makedict/before.json b/tests/dictionaries_old/10check_valid_jinja/makedict/before.json
new file mode 100644
index 000000000..f0a909af9
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_jinja/makedict/before.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "oui"
+ },
+ "rougail.general.mode_conteneur_actif1": {
+ "owner": "default",
+ "value": "non"
+ }
+}
diff --git a/tests/dictionaries_old/10check_valid_jinja/result/rougail/00-base.yml b/tests/dictionaries_old/10check_valid_jinja/result/rougail/00-base.yml
new file mode 100644
index 000000000..cabe34ba8
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_jinja/result/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: oui
+ validators:
+ - '{% if rougail.general.mode_conteneur_actif == rougail.general.mode_conteneur_actif1
+ %}the value must be different than "{{ rougail.general.mode_conteneur_actif
+ }}"{% endif %}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/10check_valid_jinja/tiramisu/base.py b/tests/dictionaries_old/10check_valid_jinja/tiramisu/base.py
new file mode 100644
index 000000000..cdf8d7866
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_jinja/tiramisu/base.py
@@ -0,0 +1,30 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10check_valid_jinja/tiramisu/multi.py b/tests/dictionaries_old/10check_valid_jinja/tiramisu/multi.py
new file mode 100644
index 000000000..8074f62b9
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_jinja/tiramisu/multi.py
@@ -0,0 +1,67 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['1.rougail.general.mode_conteneur_actif'] = "{% if rougail.general.mode_conteneur_actif == rougail.general.mode_conteneur_actif1 %}the value must be different than \"{{ rougail.general.mode_conteneur_actif }}\"{% endif %}"
+dict_env['2.rougail.general.mode_conteneur_actif'] = "{% if rougail.general.mode_conteneur_actif == rougail.general.mode_conteneur_actif1 %}the value must be different than \"{{ rougail.general.mode_conteneur_actif }}\"{% endif %}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", validators=[Calculation(func.valid_with_jinja, Params((ParamSelfOption(whole=False)), kwargs={'__internal_jinja': ParamValue("1.rougail.general.mode_conteneur_actif"), '__internal_key': ParamValue("rougail.general.mode_conteneur_actif"), 'rougail.general.mode_conteneur_actif1': ParamOption(option_3)}), warnings_only=False)], properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_6 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", validators=[Calculation(func.valid_with_jinja, Params((ParamSelfOption(whole=False)), kwargs={'__internal_jinja': ParamValue("2.rougail.general.mode_conteneur_actif"), '__internal_key': ParamValue("rougail.general.mode_conteneur_actif"), 'rougail.general.mode_conteneur_actif1': ParamOption(option_6)}), warnings_only=False)], properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/10check_valid_jinja/xml/00-base.xml b/tests/dictionaries_old/10check_valid_jinja/xml/00-base.xml
new file mode 100644
index 000000000..9638da061
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_jinja/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ oui
+
+
+ non
+
+
+
+
+
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/10check_valid_jinja/yml/00-base.yml b/tests/dictionaries_old/10check_valid_jinja/yml/00-base.yml
new file mode 100644
index 000000000..f16885856
--- /dev/null
+++ b/tests/dictionaries_old/10check_valid_jinja/yml/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: oui
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- check:
+ - name: '{% if rougail.general.mode_conteneur_actif == rougail.general.mode_conteneur_actif1
+ %}the value must be different than "{{ rougail.general.mode_conteneur_actif
+ }}"{% endif %}'
+ type: jinja
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/10fill_information/00-base.xml b/tests/dictionaries_old/10fill_information/00-base.xml
deleted file mode 100644
index a8bdb0661..000000000
--- a/tests/dictionaries_old/10fill_information/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
- test_information
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/10fill_information/result/rougail/00-base.yml b/tests/dictionaries_old/10fill_information/result/rougail/00-base.yml
new file mode 100644
index 000000000..acbfb582c
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information/result/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __information.test_information | calc_val }}'
+ params:
+ __information.test_information:
+ type: information
+ information: test_information
+version: '1.0'
diff --git a/tests/dictionaries_old/10fill_information/tiramisu/base.py b/tests/dictionaries_old/10fill_information/tiramisu/base.py
index a0e17c5e3..3d150d0e9 100644
--- a/tests/dictionaries_old/10fill_information/tiramisu/base.py
+++ b/tests/dictionaries_old/10fill_information/tiramisu/base.py
@@ -1,17 +1,59 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamInformation("test_information", None)))), properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ __information.test_information | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), '__information.test_information': ParamInformation("test_information", None)})), properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10fill_information/tiramisu/multi.py b/tests/dictionaries_old/10fill_information/tiramisu/multi.py
new file mode 100644
index 000000000..cdc392178
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamInformation("test_information", None)))), properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamInformation("test_information", None)))), properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/10fill_information/xml/00-base.xml b/tests/dictionaries_old/10fill_information/xml/00-base.xml
new file mode 100644
index 000000000..50f64a02d
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+ test_information
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/10fill_information/yml/00-base.yml b/tests/dictionaries_old/10fill_information/yml/00-base.yml
new file mode 100644
index 000000000..e48d9d7cb
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information/yml/00-base.yml
@@ -0,0 +1,17 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: information
+ text: test_information
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries/01base_file_owner_variable/__init__.py b/tests/dictionaries_old/10fill_information_multi/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_owner_variable/__init__.py
rename to tests/dictionaries_old/10fill_information_multi/__init__.py
diff --git a/tests/dictionaries_old/10fill_information_multi/makedict/after.json b/tests/dictionaries_old/10fill_information_multi/makedict/after.json
new file mode 100644
index 000000000..07c72318b
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information_multi/makedict/after.json
@@ -0,0 +1,8 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": [
+ "value"
+ ]
+ }
+}
diff --git a/tests/dictionaries_old/10fill_information_multi/makedict/base.json b/tests/dictionaries_old/10fill_information_multi/makedict/base.json
new file mode 100644
index 000000000..bc0f3f5dd
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information_multi/makedict/base.json
@@ -0,0 +1,5 @@
+{
+ "rougail.general.mode_conteneur_actif": [
+ "value"
+ ]
+}
diff --git a/tests/dictionaries_old/10fill_information_multi/makedict/before.json b/tests/dictionaries_old/10fill_information_multi/makedict/before.json
new file mode 100644
index 000000000..07c72318b
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information_multi/makedict/before.json
@@ -0,0 +1,8 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": [
+ "value"
+ ]
+ }
+}
diff --git a/tests/dictionaries_old/10fill_information_multi/result/rougail/00-base.yml b/tests/dictionaries_old/10fill_information_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..0753b5f61
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information_multi/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ __information.test_information | calc_val }}'
+ params:
+ __information.test_information:
+ type: information
+ information: test_information
+version: '1.0'
diff --git a/tests/dictionaries_old/10fill_information_multi/tiramisu/base.py b/tests/dictionaries_old/10fill_information_multi/tiramisu/base.py
new file mode 100644
index 000000000..3fb58b905
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information_multi/tiramisu/base.py
@@ -0,0 +1,59 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ __information.test_information | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), '__information.test_information': ParamInformation("test_information", [])})), properties=frozenset({"normal", "notempty"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10fill_information_multi/tiramisu/multi.py b/tests/dictionaries_old/10fill_information_multi/tiramisu/multi.py
new file mode 100644
index 000000000..d6712d81b
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information_multi/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", multi=True, default=[Calculation(func.calc_val, Params((ParamInformation("test_information", []))))], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", multi=True, default=[Calculation(func.calc_val, Params((ParamInformation("test_information", []))))], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/10fill_information_multi/xml/00-base.xml b/tests/dictionaries_old/10fill_information_multi/xml/00-base.xml
new file mode 100644
index 000000000..771525509
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information_multi/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+ test_information
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/10fill_information_multi/yml/00-base.yml b/tests/dictionaries_old/10fill_information_multi/yml/00-base.yml
new file mode 100644
index 000000000..1f3b546fa
--- /dev/null
+++ b/tests/dictionaries_old/10fill_information_multi/yml/00-base.yml
@@ -0,0 +1,18 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ multi: true
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: information
+ text: test_information
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries/01base_file_patch/__init__.py b/tests/dictionaries_old/10fill_option_information/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_patch/__init__.py
rename to tests/dictionaries_old/10fill_option_information/__init__.py
diff --git a/tests/dictionaries_old/10fill_option_information/informations.json b/tests/dictionaries_old/10fill_option_information/informations.json
new file mode 100644
index 000000000..69510fc75
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_information/informations.json
@@ -0,0 +1 @@
+{"rougail.general.variable": "value"}
diff --git a/tests/dictionaries_old/10fill_option_information/makedict/after.json b/tests/dictionaries_old/10fill_option_information/makedict/after.json
new file mode 100644
index 000000000..7f08ef4fb
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_information/makedict/after.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.variable": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "value"
+ }
+}
diff --git a/tests/dictionaries_old/10fill_option_information/makedict/base.json b/tests/dictionaries_old/10fill_option_information/makedict/base.json
new file mode 100644
index 000000000..bd4b110e3
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_information/makedict/base.json
@@ -0,0 +1,4 @@
+{
+ "rougail.general.variable": null,
+ "rougail.general.mode_conteneur_actif": "value"
+}
diff --git a/tests/dictionaries_old/10fill_option_information/makedict/before.json b/tests/dictionaries_old/10fill_option_information/makedict/before.json
new file mode 100644
index 000000000..7f08ef4fb
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_information/makedict/before.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.variable": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "value"
+ }
+}
diff --git a/tests/dictionaries_old/10fill_option_information/result/rougail/00-base.yml b/tests/dictionaries_old/10fill_option_information/result/rougail/00-base.yml
new file mode 100644
index 000000000..3dd93a275
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_information/result/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ variable:
+ type: string
+ description: No change
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __information.rougail.general.variable.test_information | calc_val
+ }}'
+ params:
+ __information.rougail.general.variable.test_information:
+ type: information
+ information: test_information
+ variable: rougail.general.variable
+version: '1.0'
diff --git a/tests/dictionaries_old/10fill_option_information/tiramisu/base.py b/tests/dictionaries_old/10fill_option_information/tiramisu/base.py
new file mode 100644
index 000000000..8f183ca34
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_information/tiramisu/base.py
@@ -0,0 +1,60 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ __information.rougail.general.variable.test_information | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="variable", doc="No change", properties=frozenset({"normal"}))
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), '__information.rougail.general.variable.test_information': ParamInformation("test_information", None)})), properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10fill_option_information/tiramisu/multi.py b/tests/dictionaries_old/10fill_option_information/tiramisu/multi.py
new file mode 100644
index 000000000..1d7ebffc3
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_information/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="variable", doc="No change", properties=frozenset({"normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamInformation("test_information", None, option=option_2)))), properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="variable", doc="No change", properties=frozenset({"normal"}))
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamInformation("test_information", None, option=option_5)))), properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/10fill_option_information/xml/00-base.xml b/tests/dictionaries_old/10fill_option_information/xml/00-base.xml
new file mode 100644
index 000000000..dea77acb7
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_information/xml/00-base.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+ test_information
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/10fill_option_information/yml/00-base.yml b/tests/dictionaries_old/10fill_option_information/yml/00-base.yml
new file mode 100644
index 000000000..93fa798a3
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_information/yml/00-base.yml
@@ -0,0 +1,21 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: variable
+ type: string
+ description: No change
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: information
+ variable: variable
+ text: test_information
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries/01base_file_tmpfiles_delete_before_create/__init__.py b/tests/dictionaries_old/10fill_option_od_information/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_delete_before_create/__init__.py
rename to tests/dictionaries_old/10fill_option_od_information/__init__.py
diff --git a/tests/dictionaries_old/10fill_option_od_information/informations.json b/tests/dictionaries_old/10fill_option_od_information/informations.json
new file mode 100644
index 000000000..8969341e5
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_od_information/informations.json
@@ -0,0 +1 @@
+{"rougail.general.od": "value"}
diff --git a/tests/dictionaries_old/10fill_option_od_information/makedict/after.json b/tests/dictionaries_old/10fill_option_od_information/makedict/after.json
new file mode 100644
index 000000000..ab35e5934
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_od_information/makedict/after.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.general.od.variable": {
+ "owner": "default",
+ "value": null
+ }
+}
diff --git a/tests/dictionaries_old/10fill_option_od_information/makedict/base.json b/tests/dictionaries_old/10fill_option_od_information/makedict/base.json
new file mode 100644
index 000000000..2823ac4e3
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_od_information/makedict/base.json
@@ -0,0 +1,4 @@
+{
+ "rougail.general.mode_conteneur_actif": null,
+ "rougail.general.od.variable": null
+}
diff --git a/tests/dictionaries_old/10fill_option_od_information/makedict/before.json b/tests/dictionaries_old/10fill_option_od_information/makedict/before.json
new file mode 100644
index 000000000..ab35e5934
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_od_information/makedict/before.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.general.od.variable": {
+ "owner": "default",
+ "value": null
+ }
+}
diff --git a/tests/dictionaries_old/10fill_option_od_information/result/rougail/00-base.yml b/tests/dictionaries_old/10fill_option_od_information/result/rougail/00-base.yml
new file mode 100644
index 000000000..c2c4f0a5f
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_od_information/result/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __information.rougail.general.od.variable.test_information | calc_val
+ }}'
+ params:
+ __information.rougail.general.od.variable.test_information:
+ type: information
+ information: test_information
+ variable: rougail.general.od.variable
+ od:
+ variable:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries_old/10fill_option_od_information/tiramisu/base.py b/tests/dictionaries_old/10fill_option_od_information/tiramisu/base.py
new file mode 100644
index 000000000..c9d26f817
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_od_information/tiramisu/base.py
@@ -0,0 +1,61 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ __information.rougail.general.od.variable.test_information | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), '__information.rougail.general.od.variable.test_information': ParamInformation("test_information", None)})), properties=frozenset({"normal"}))
+option_5 = StrOption(name="variable", doc="No change", properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="od", doc="od", children=[option_5], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10fill_option_od_information/tiramisu/multi.py b/tests/dictionaries_old/10fill_option_od_information/tiramisu/multi.py
new file mode 100644
index 000000000..7d35cbade
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_od_information/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_4 = StrOption(name="variable", doc="No change", properties=frozenset({"normal"}))
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamInformation("test_information", None, option=option_4)))), properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="od", doc="od", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_8 = StrOption(name="variable", doc="No change", properties=frozenset({"normal"}))
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamInformation("test_information", None, option=option_8)))), properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="od", doc="od", children=[option_8], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10fill_option_od_information/xml/00-base.xml b/tests/dictionaries_old/10fill_option_od_information/xml/00-base.xml
new file mode 100644
index 000000000..adfe0487c
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_od_information/xml/00-base.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ test_information
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/10fill_option_od_information/yml/00-base.yml b/tests/dictionaries_old/10fill_option_od_information/yml/00-base.yml
new file mode 100644
index 000000000..6b601f256
--- /dev/null
+++ b/tests/dictionaries_old/10fill_option_od_information/yml/00-base.yml
@@ -0,0 +1,25 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ - family:
+ - name: od
+ variables:
+ - variable:
+ - name: variable
+ type: string
+ description: No change
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: information
+ variable: variable
+ text: test_information
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries/01base_file_tmpfiles_factory_dir/__init__.py b/tests/dictionaries_old/10fill_target_information/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_tmpfiles_factory_dir/__init__.py
rename to tests/dictionaries_old/10fill_target_information/__init__.py
diff --git a/tests/dictionaries_old/10fill_target_information/informations.json b/tests/dictionaries_old/10fill_target_information/informations.json
new file mode 100644
index 000000000..5f62f349f
--- /dev/null
+++ b/tests/dictionaries_old/10fill_target_information/informations.json
@@ -0,0 +1 @@
+{"rougail.general.mode_conteneur_actif": "value"}
diff --git a/tests/dictionaries_old/10fill_target_information/makedict/after.json b/tests/dictionaries_old/10fill_target_information/makedict/after.json
new file mode 100644
index 000000000..6f4a21e7d
--- /dev/null
+++ b/tests/dictionaries_old/10fill_target_information/makedict/after.json
@@ -0,0 +1,6 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "value"
+ }
+}
diff --git a/tests/dictionaries_old/10fill_target_information/makedict/base.json b/tests/dictionaries_old/10fill_target_information/makedict/base.json
new file mode 100644
index 000000000..904ffb4eb
--- /dev/null
+++ b/tests/dictionaries_old/10fill_target_information/makedict/base.json
@@ -0,0 +1,3 @@
+{
+ "rougail.general.mode_conteneur_actif": "value"
+}
diff --git a/tests/dictionaries_old/10fill_target_information/makedict/before.json b/tests/dictionaries_old/10fill_target_information/makedict/before.json
new file mode 100644
index 000000000..6f4a21e7d
--- /dev/null
+++ b/tests/dictionaries_old/10fill_target_information/makedict/before.json
@@ -0,0 +1,6 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "value"
+ }
+}
diff --git a/tests/dictionaries_old/10fill_target_information/result/rougail/00-base.yml b/tests/dictionaries_old/10fill_target_information/result/rougail/00-base.yml
new file mode 100644
index 000000000..5d919c81c
--- /dev/null
+++ b/tests/dictionaries_old/10fill_target_information/result/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __information.rougail.general.mode_conteneur_actif.test_information
+ | calc_val }}'
+ params:
+ __information.rougail.general.mode_conteneur_actif.test_information:
+ type: information
+ information: test_information
+ variable: rougail.general.mode_conteneur_actif
+version: '1.0'
diff --git a/tests/dictionaries_old/10fill_target_information/tiramisu/base.py b/tests/dictionaries_old/10fill_target_information/tiramisu/base.py
new file mode 100644
index 000000000..298236974
--- /dev/null
+++ b/tests/dictionaries_old/10fill_target_information/tiramisu/base.py
@@ -0,0 +1,59 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ __information.rougail.general.mode_conteneur_actif.test_information | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), '__information.rougail.general.mode_conteneur_actif.test_information': ParamInformation("test_information", None)})), properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10fill_target_information/tiramisu/multi.py b/tests/dictionaries_old/10fill_target_information/tiramisu/multi.py
new file mode 100644
index 000000000..3504407b0
--- /dev/null
+++ b/tests/dictionaries_old/10fill_target_information/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamSelfInformation("test_information", None)))), properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamSelfInformation("test_information", None)))), properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/10fill_target_information/xml/00-base.xml b/tests/dictionaries_old/10fill_target_information/xml/00-base.xml
new file mode 100644
index 000000000..c79e7efad
--- /dev/null
+++ b/tests/dictionaries_old/10fill_target_information/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+ test_information
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/10fill_target_information/yml/00-base.yml b/tests/dictionaries_old/10fill_target_information/yml/00-base.yml
new file mode 100644
index 000000000..99d3e7335
--- /dev/null
+++ b/tests/dictionaries_old/10fill_target_information/yml/00-base.yml
@@ -0,0 +1,18 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: information
+ variable: mode_conteneur_actif
+ text: test_information
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/00-base.xml b/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/00-base.xml
deleted file mode 100644
index 96e87d8f3..000000000
--- a/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/00-base.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
- 1
- 2
- 3
- enumvar
-
-
- 4
- test_variable
-
-
-
diff --git a/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/result/rougail/00-base.yml b/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/result/rougail/00-base.yml
new file mode 100644
index 000000000..93c510a6e
--- /dev/null
+++ b/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/result/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: enumvar
+ help: bla bla bla
+ default: 1
+ choices:
+ - 1
+ - 2
+ - 3
+ test_variable:
+ type: number
+ description: test variable
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.enumfam.enumvar == "4" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/tiramisu/base.py b/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/tiramisu/base.py
index f0eaac427..3c59e6a82 100644
--- a/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/tiramisu/base.py
+++ b/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/tiramisu/base.py
@@ -1,21 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
option_5 = ChoiceOption(name="enumvar", doc="enumvar", values=(1, 2, 3), default=1, properties=frozenset({"expert", "mandatory"}))
option_5.impl_set_information('help', "bla bla bla")
option_6 = IntOption(name="test_variable", doc="test variable", properties=frozenset({"expert"}))
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5, option_6], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5, option_6], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/tiramisu/multi.py b/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/tiramisu/multi.py
new file mode 100644
index 000000000..d2fc9d96f
--- /dev/null
+++ b/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar", doc="enumvar", values=(1, 2, 3), default=1, properties=frozenset({"expert", "mandatory"}))
+option_4.impl_set_information('help', "bla bla bla")
+option_5 = IntOption(name="test_variable", doc="test variable", properties=frozenset({"expert"}))
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4, option_5], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7], properties=frozenset({"expert"}))
+option_9 = ChoiceOption(name="enumvar", doc="enumvar", values=(1, 2, 3), default=1, properties=frozenset({"expert", "mandatory"}))
+option_9.impl_set_information('help', "bla bla bla")
+option_10 = IntOption(name="test_variable", doc="test variable", properties=frozenset({"expert"}))
+optiondescription_8 = OptionDescription(name="enumfam", doc="enumfam", children=[option_9, option_10], properties=frozenset({"expert"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6, optiondescription_8], properties=frozenset({"expert"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/xml/00-base.xml b/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/xml/00-base.xml
new file mode 100644
index 000000000..0080c9530
--- /dev/null
+++ b/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ non
+
+
+
+
+ 1
+ 2
+ 3
+ 1
+
+
+
+
+
+
+ 4
+ test_variable
+
+
+
diff --git a/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/yml/00-base.yml b/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/yml/00-base.yml
new file mode 100644
index 000000000..481c19672
--- /dev/null
+++ b/tests/dictionaries_old/10frozenifin_unknown_valid_enum_number/yml/00-base.yml
@@ -0,0 +1,42 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ type: choice
+ description: enumvar
+ help: bla bla bla
+ choice:
+ - type: number
+ text: 1
+ - type: number
+ text: 2
+ - type: number
+ text: 3
+ value:
+ - type: number
+ text: 1
+ - name: test_variable
+ type: number
+ description: test variable
+constraints:
+- condition:
+ - name: hidden_if_in
+ source: enumvar
+ param:
+ - text: 4
+ target:
+ - type: variable
+ text: test_variable
diff --git a/tests/dictionaries_old/10leadership_append/00-base.xml b/tests/dictionaries_old/10leadership_append/00-base.xml
deleted file mode 100644
index 2b7726a56..000000000
--- a/tests/dictionaries_old/10leadership_append/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10leadership_append/01-base.xml b/tests/dictionaries_old/10leadership_append/01-base.xml
deleted file mode 100644
index b271772bd..000000000
--- a/tests/dictionaries_old/10leadership_append/01-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
- follower3
-
-
-
diff --git a/tests/dictionaries_old/10leadership_append/makedict/after.json b/tests/dictionaries_old/10leadership_append/makedict/after.json
index 6dedaf65b..f7be8deb1 100644
--- a/tests/dictionaries_old/10leadership_append/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_append/makedict/after.json
@@ -6,17 +6,5 @@
"rougail.general1.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower3": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_append/makedict/before.json b/tests/dictionaries_old/10leadership_append/makedict/before.json
index 6dedaf65b..f7be8deb1 100644
--- a/tests/dictionaries_old/10leadership_append/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_append/makedict/before.json
@@ -6,17 +6,5 @@
"rougail.general1.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower3": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_append/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_append/result/rougail/00-base.yml
new file mode 100644
index 000000000..6e211d24a
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_append/result/rougail/01-base.yml b/tests/dictionaries_old/10leadership_append/result/rougail/01-base.yml
new file mode 100644
index 000000000..e83676a97
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append/result/rougail/01-base.yml
@@ -0,0 +1,6 @@
+general1:
+ leader:
+ follower3:
+ type: string
+ description: follower3
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_append/tiramisu/base.py b/tests/dictionaries_old/10leadership_append/tiramisu/base.py
index 270f8e9b2..2b7658f40 100644
--- a/tests/dictionaries_old/10leadership_append/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_append/tiramisu/base.py
@@ -1,23 +1,66 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general1.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general1.leader.follower2'] = "{{ rougail.general1.leader.follower1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True)
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
-option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_7)))), properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general1.leader.follower1': ParamOption(option_7)})), properties=frozenset({"normal"}))
option_9 = StrOption(name="follower3", doc="follower3", multi=True, properties=frozenset({"normal"}))
-option_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8, option_9], properties=frozenset({"normal"}))
-option_4 = OptionDescription(name="general1", doc="general1", children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="general1", doc="general1", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_append/tiramisu/multi.py b/tests/dictionaries_old/10leadership_append/tiramisu/multi.py
new file mode 100644
index 000000000..a68afad4e
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append/tiramisu/multi.py
@@ -0,0 +1,46 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"normal"}))
+option_8 = StrOption(name="follower3", doc="follower3", multi=True, properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general1", doc="general1", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="1", doc="1", children=[optiondescription_18])
+option_10 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_9 = OptionDescription(name="general", doc="general", children=[option_10], properties=frozenset({"normal"}))
+option_13 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_14 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_15 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_14)))), properties=frozenset({"normal"}))
+option_16 = StrOption(name="follower3", doc="follower3", multi=True, properties=frozenset({"normal"}))
+optiondescription_12 = Leadership(name="leader", doc="leader", children=[option_13, option_14, option_15, option_16], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="general1", doc="general1", children=[optiondescription_12], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_9, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_19 = OptionDescription(name="2", doc="2", children=[optiondescription_20])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_17, optiondescription_19])
diff --git a/tests/dictionaries_old/10leadership_append/xml/00-base.xml b/tests/dictionaries_old/10leadership_append/xml/00-base.xml
new file mode 100644
index 000000000..a3614dc10
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ follower1
+ follower2
+
+
+
diff --git a/tests/dictionaries_old/10leadership_append/xml/01-base.xml b/tests/dictionaries_old/10leadership_append/xml/01-base.xml
new file mode 100644
index 000000000..0e4f2acc2
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append/xml/01-base.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10leadership_append/yml/00-base.yml b/tests/dictionaries_old/10leadership_append/yml/00-base.yml
new file mode 100644
index 000000000..1b78228fa
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general1
+ variables:
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: follower1
+ target:
+ - text: follower2
diff --git a/tests/dictionaries_old/10leadership_append/yml/01-base.yml b/tests/dictionaries_old/10leadership_append/yml/01-base.yml
new file mode 100644
index 000000000..8a11b8efa
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append/yml/01-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general1
+ variables:
+ - family:
+ - name: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: follower3
+ type: string
+ description: follower3
diff --git a/tests/dictionaries_old/10leadership_append_hidden/00-base.xml b/tests/dictionaries_old/10leadership_append_hidden/00-base.xml
deleted file mode 100644
index 605a5b15c..000000000
--- a/tests/dictionaries_old/10leadership_append_hidden/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10leadership_append_hidden/01-base.xml b/tests/dictionaries_old/10leadership_append_hidden/01-base.xml
deleted file mode 100644
index b271772bd..000000000
--- a/tests/dictionaries_old/10leadership_append_hidden/01-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
- follower3
-
-
-
diff --git a/tests/dictionaries_old/10leadership_append_hidden/makedict/after.json b/tests/dictionaries_old/10leadership_append_hidden/makedict/after.json
index 6dedaf65b..f7be8deb1 100644
--- a/tests/dictionaries_old/10leadership_append_hidden/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_append_hidden/makedict/after.json
@@ -6,17 +6,5 @@
"rougail.general1.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower3": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_append_hidden/makedict/before.json b/tests/dictionaries_old/10leadership_append_hidden/makedict/before.json
index 6dedaf65b..f7be8deb1 100644
--- a/tests/dictionaries_old/10leadership_append_hidden/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_append_hidden/makedict/before.json
@@ -6,17 +6,5 @@
"rougail.general1.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower3": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_append_hidden/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_append_hidden/result/rougail/00-base.yml
new file mode 100644
index 000000000..5874dee18
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_hidden/result/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ hidden: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_append_hidden/result/rougail/01-base.yml b/tests/dictionaries_old/10leadership_append_hidden/result/rougail/01-base.yml
new file mode 100644
index 000000000..e83676a97
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_hidden/result/rougail/01-base.yml
@@ -0,0 +1,6 @@
+general1:
+ leader:
+ follower3:
+ type: string
+ description: follower3
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_append_hidden/tiramisu/base.py b/tests/dictionaries_old/10leadership_append_hidden/tiramisu/base.py
index fedc0d378..e75299a34 100644
--- a/tests/dictionaries_old/10leadership_append_hidden/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_append_hidden/tiramisu/base.py
@@ -1,23 +1,66 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general1.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general1.leader.follower2'] = "{{ rougail.general1.leader.follower1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"force_default_on_freeze", "frozen"}))
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
-option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_7)))), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general1.leader.follower1': ParamOption(option_7)})), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
option_9 = StrOption(name="follower3", doc="follower3", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
-option_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8, option_9], properties=frozenset({"hidden", "normal"}))
-option_4 = OptionDescription(name="general1", doc="general1", children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8, option_9], properties=frozenset({"hidden", "normal"}))
+optiondescription_4 = OptionDescription(name="general1", doc="general1", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_append_hidden/tiramisu/multi.py b/tests/dictionaries_old/10leadership_append_hidden/tiramisu/multi.py
new file mode 100644
index 000000000..c5b2855a1
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_hidden/tiramisu/multi.py
@@ -0,0 +1,46 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_8 = StrOption(name="follower3", doc="follower3", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7, option_8], properties=frozenset({"hidden", "normal"}))
+optiondescription_3 = OptionDescription(name="general1", doc="general1", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="1", doc="1", children=[optiondescription_18])
+option_10 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_9 = OptionDescription(name="general", doc="general", children=[option_10], properties=frozenset({"normal"}))
+option_13 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_14 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_15 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_14)))), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_16 = StrOption(name="follower3", doc="follower3", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+optiondescription_12 = Leadership(name="leader", doc="leader", children=[option_13, option_14, option_15, option_16], properties=frozenset({"hidden", "normal"}))
+optiondescription_11 = OptionDescription(name="general1", doc="general1", children=[optiondescription_12], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_9, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_19 = OptionDescription(name="2", doc="2", children=[optiondescription_20])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_17, optiondescription_19])
diff --git a/tests/dictionaries_old/10leadership_append_hidden/xml/00-base.xml b/tests/dictionaries_old/10leadership_append_hidden/xml/00-base.xml
new file mode 100644
index 000000000..98e8723f9
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_hidden/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ follower1
+ follower2
+
+
+
diff --git a/tests/dictionaries_old/10leadership_append_hidden/xml/01-base.xml b/tests/dictionaries_old/10leadership_append_hidden/xml/01-base.xml
new file mode 100644
index 000000000..0e4f2acc2
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_hidden/xml/01-base.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10leadership_append_hidden/yml/00-base.yml b/tests/dictionaries_old/10leadership_append_hidden/yml/00-base.yml
new file mode 100644
index 000000000..5cac8e677
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_hidden/yml/00-base.yml
@@ -0,0 +1,44 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general1
+ variables:
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ hidden: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: follower1
+ target:
+ - text: follower2
diff --git a/tests/dictionaries_old/10leadership_append_hidden/yml/01-base.yml b/tests/dictionaries_old/10leadership_append_hidden/yml/01-base.yml
new file mode 100644
index 000000000..8a11b8efa
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_hidden/yml/01-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general1
+ variables:
+ - family:
+ - name: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: follower3
+ type: string
+ description: follower3
diff --git a/tests/dictionaries_old/10leadership_append_name/00-base.xml b/tests/dictionaries_old/10leadership_append_name/00-base.xml
deleted file mode 100644
index 8dc3f4417..000000000
--- a/tests/dictionaries_old/10leadership_append_name/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10leadership_append_name/01-base.xml b/tests/dictionaries_old/10leadership_append_name/01-base.xml
deleted file mode 100644
index da0327276..000000000
--- a/tests/dictionaries_old/10leadership_append_name/01-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
- follower3
-
-
-
diff --git a/tests/dictionaries_old/10leadership_append_name/makedict/after.json b/tests/dictionaries_old/10leadership_append_name/makedict/after.json
index 00346093d..c6fc9aeae 100644
--- a/tests/dictionaries_old/10leadership_append_name/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_append_name/makedict/after.json
@@ -6,17 +6,5 @@
"rougail.general1.leadership.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leadership.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leadership.follower2": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leadership.follower3": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_append_name/makedict/before.json b/tests/dictionaries_old/10leadership_append_name/makedict/before.json
index 00346093d..c6fc9aeae 100644
--- a/tests/dictionaries_old/10leadership_append_name/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_append_name/makedict/before.json
@@ -6,17 +6,5 @@
"rougail.general1.leadership.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leadership.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leadership.follower2": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leadership.follower3": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_append_name/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_append_name/result/rougail/00-base.yml
new file mode 100644
index 000000000..1421f3981
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_name/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leadership:
+ description: leadership
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leadership.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_append_name/result/rougail/01-base.yml b/tests/dictionaries_old/10leadership_append_name/result/rougail/01-base.yml
new file mode 100644
index 000000000..788239085
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_name/result/rougail/01-base.yml
@@ -0,0 +1,6 @@
+general1:
+ leadership:
+ follower3:
+ type: string
+ description: follower3
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_append_name/tiramisu/base.py b/tests/dictionaries_old/10leadership_append_name/tiramisu/base.py
index 89acb69ab..1ccb128e7 100644
--- a/tests/dictionaries_old/10leadership_append_name/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_append_name/tiramisu/base.py
@@ -1,23 +1,66 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general1.leadership.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general1.leadership.follower2'] = "{{ rougail.general1.leadership.follower1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True)
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
-option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_7)))), properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leadership.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leadership.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general1.leadership.follower1': ParamOption(option_7)})), properties=frozenset({"normal"}))
option_9 = StrOption(name="follower3", doc="follower3", multi=True, properties=frozenset({"normal"}))
-option_5 = Leadership(name="leadership", doc="leadership", children=[option_6, option_7, option_8, option_9], properties=frozenset({"normal"}))
-option_4 = OptionDescription(name="general1", doc="general1", children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_5 = Leadership(name="leadership", doc="leadership", children=[option_6, option_7, option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="general1", doc="general1", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_append_name/tiramisu/multi.py b/tests/dictionaries_old/10leadership_append_name/tiramisu/multi.py
new file mode 100644
index 000000000..3839fdcd7
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_name/tiramisu/multi.py
@@ -0,0 +1,46 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"normal"}))
+option_8 = StrOption(name="follower3", doc="follower3", multi=True, properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="leadership", doc="leadership", children=[option_5, option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general1", doc="general1", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="1", doc="1", children=[optiondescription_18])
+option_10 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_9 = OptionDescription(name="general", doc="general", children=[option_10], properties=frozenset({"normal"}))
+option_13 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_14 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_15 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_14)))), properties=frozenset({"normal"}))
+option_16 = StrOption(name="follower3", doc="follower3", multi=True, properties=frozenset({"normal"}))
+optiondescription_12 = Leadership(name="leadership", doc="leadership", children=[option_13, option_14, option_15, option_16], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="general1", doc="general1", children=[optiondescription_12], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_9, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_19 = OptionDescription(name="2", doc="2", children=[optiondescription_20])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_17, optiondescription_19])
diff --git a/tests/dictionaries_old/10leadership_append_name/xml/00-base.xml b/tests/dictionaries_old/10leadership_append_name/xml/00-base.xml
new file mode 100644
index 000000000..303514f57
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_name/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ follower1
+ follower2
+
+
+
diff --git a/tests/dictionaries_old/10leadership_append_name/xml/01-base.xml b/tests/dictionaries_old/10leadership_append_name/xml/01-base.xml
new file mode 100644
index 000000000..c3cd0cd24
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_name/xml/01-base.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10leadership_append_name/yml/00-base.yml b/tests/dictionaries_old/10leadership_append_name/yml/00-base.yml
new file mode 100644
index 000000000..ca15d0106
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_name/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general1
+ variables:
+ - family:
+ - name: leadership
+ description: leadership
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: follower1
+ target:
+ - text: follower2
diff --git a/tests/dictionaries_old/10leadership_append_name/yml/01-base.yml b/tests/dictionaries_old/10leadership_append_name/yml/01-base.yml
new file mode 100644
index 000000000..7c355783f
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_append_name/yml/01-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general1
+ variables:
+ - family:
+ - name: leadership
+ leadership: true
+ variables:
+ - variable:
+ - name: follower3
+ type: string
+ description: follower3
diff --git a/tests/dictionaries_old/10leadership_auto/00-base.xml b/tests/dictionaries_old/10leadership_auto/00-base.xml
deleted file mode 100644
index abdc42df6..000000000
--- a/tests/dictionaries_old/10leadership_auto/00-base.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- leader
- follower3
-
-
- follower1
- follower2
- follower3
-
-
-
diff --git a/tests/dictionaries_old/10leadership_auto/makedict/after.json b/tests/dictionaries_old/10leadership_auto/makedict/after.json
index 6810558b2..548ec3acc 100644
--- a/tests/dictionaries_old/10leadership_auto/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_auto/makedict/after.json
@@ -6,17 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower3": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_auto/makedict/before.json b/tests/dictionaries_old/10leadership_auto/makedict/before.json
index 6810558b2..548ec3acc 100644
--- a/tests/dictionaries_old/10leadership_auto/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_auto/makedict/before.json
@@ -6,17 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower3": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_auto/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_auto/result/rougail/00-base.yml
new file mode 100644
index 000000000..c927a0fe8
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_auto/result/rougail/00-base.yml
@@ -0,0 +1,34 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.follower1 | calc_val }}'
+ follower3:
+ type: string
+ description: follower3
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.leader | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_auto/tiramisu/base.py b/tests/dictionaries_old/10leadership_auto/tiramisu/base.py
index 9cad932ef..8fd5b0d29 100644
--- a/tests/dictionaries_old/10leadership_auto/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_auto/tiramisu/base.py
@@ -1,22 +1,66 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general.leader.follower2'] = "{{ rougail.general.leader.follower1 | calc_val }}"
+dict_env['rougail.general.leader.follower3'] = "{{ rougail.general.leader.leader | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="leader", doc="leader", multi=True)
-option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_8 = StrOption(name="follower3", doc="follower3", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_5)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7, option_8], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.leader.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general.leader.follower1': ParamOption(option_6)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+option_8 = StrOption(name="follower3", doc="follower3", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.leader.follower3), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general.leader.leader': ParamOption(option_5)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_auto/tiramisu/multi.py b/tests/dictionaries_old/10leadership_auto/tiramisu/multi.py
new file mode 100644
index 000000000..633dab09c
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_auto/tiramisu/multi.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_5 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+option_6 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_5)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+option_7 = StrOption(name="follower3", doc="follower3", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_4)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_3 = Leadership(name="leader", doc="leader", children=[option_4, option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_11 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_12 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+option_13 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_12)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+option_14 = StrOption(name="follower3", doc="follower3", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_11)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_10 = Leadership(name="leader", doc="leader", children=[option_11, option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9, optiondescription_10], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="2", doc="2", children=[optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_17])
diff --git a/tests/dictionaries_old/10leadership_auto/xml/00-base.xml b/tests/dictionaries_old/10leadership_auto/xml/00-base.xml
new file mode 100644
index 000000000..ac6be61ae
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_auto/xml/00-base.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ follower1
+ follower2
+
+
+ leader
+ follower3
+
+
+
diff --git a/tests/dictionaries_old/10leadership_auto/yml/00-base.yml b/tests/dictionaries_old/10leadership_auto/yml/00-base.yml
new file mode 100644
index 000000000..ab6640d2c
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_auto/yml/00-base.yml
@@ -0,0 +1,53 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ hidden: true
+ - name: follower2
+ type: string
+ description: follower2
+ hidden: true
+ - name: follower3
+ type: string
+ description: follower3
+ hidden: true
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: follower1
+ target:
+ - text: follower2
+ - name: calc_val
+ param:
+ - type: variable
+ text: leader
+ target:
+ - text: follower3
diff --git a/tests/dictionaries_old/10leadership_auto_index/00-base.xml b/tests/dictionaries_old/10leadership_auto_index/00-base.xml
deleted file mode 100644
index cd8979cb0..000000000
--- a/tests/dictionaries_old/10leadership_auto_index/00-base.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- a
- b
- c
-
-
-
-
-
-
- follower1
-
-
- follower1
-
-
-
diff --git a/tests/dictionaries_old/10leadership_auto_index/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_auto_index/result/rougail/00-base.yml
new file mode 100644
index 000000000..8ea6e58fb
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_auto_index/result/rougail/00-base.yml
@@ -0,0 +1,18 @@
+leader:
+ description: leader
+ type: leadership
+ leader:
+ multi: true
+ default:
+ - a
+ - b
+ - c
+ follower1:
+ type: number
+ default:
+ type: jinja
+ jinja: '{{ __index | calc_val }}'
+ params:
+ __index:
+ type: index
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_auto_index/tiramisu/base.py b/tests/dictionaries_old/10leadership_auto_index/tiramisu/base.py
index 0a04311a9..2f5555562 100644
--- a/tests/dictionaries_old/10leadership_auto_index/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_auto_index/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="leader", doc="leader", multi=True, default=['a', 'b', 'c'], properties=frozenset({"mandatory"}))
-option_4 = IntOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((ParamIndex()))), properties=frozenset({"normal"}))
-option_2 = Leadership(name="leader", doc="leader", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.leader.follower1'] = "{{ __index | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="leader", doc="leader", multi=True, default=['a', 'b', 'c'], properties=frozenset({"mandatory", "normal"}))
+option_4 = IntOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.leader.follower1), '__internal_type': ParamValue(number), '__internal_multi': ParamValue(True), '__index': ParamIndex()})), properties=frozenset({"normal"}))
+optiondescription_2 = Leadership(name="leader", doc="leader", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_auto_index/tiramisu/multi.py b/tests/dictionaries_old/10leadership_auto_index/tiramisu/multi.py
new file mode 100644
index 000000000..4db93c5c6
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_auto_index/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="leader", doc="leader", multi=True, default=['a', 'b', 'c'], properties=frozenset({"mandatory", "normal"}))
+option_3 = IntOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((ParamIndex()))), properties=frozenset({"normal"}))
+optiondescription_1 = Leadership(name="leader", doc="leader", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="leader", doc="leader", multi=True, default=['a', 'b', 'c'], properties=frozenset({"mandatory", "normal"}))
+option_6 = IntOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((ParamIndex()))), properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/10leadership_auto_index/xml/00-base.xml b/tests/dictionaries_old/10leadership_auto_index/xml/00-base.xml
new file mode 100644
index 000000000..626ba083c
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_auto_index/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ a
+ b
+ c
+
+
+
+
+
+
+
+ follower1
+
+
+
diff --git a/tests/dictionaries_old/10leadership_auto_index/yml/00-base.yml b/tests/dictionaries_old/10leadership_auto_index/yml/00-base.yml
new file mode 100644
index 000000000..9eb995fea
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_auto_index/yml/00-base.yml
@@ -0,0 +1,23 @@
+version: '0.10'
+variables:
+- family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ multi: true
+ value:
+ - text: a
+ - text: b
+ - text: c
+ - name: follower1
+ type: number
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: index
+ target:
+ - text: follower1
diff --git a/tests/dictionaries_old/10leadership_autoleader/00-base.xml b/tests/dictionaries_old/10leadership_autoleader/00-base.xml
deleted file mode 100644
index 08f977237..000000000
--- a/tests/dictionaries_old/10leadership_autoleader/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- leader
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10leadership_autoleader/makedict/after.json b/tests/dictionaries_old/10leadership_autoleader/makedict/after.json
index dd62b9801..548ec3acc 100644
--- a/tests/dictionaries_old/10leadership_autoleader/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_autoleader/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_autoleader/makedict/before.json b/tests/dictionaries_old/10leadership_autoleader/makedict/before.json
index dd62b9801..548ec3acc 100644
--- a/tests/dictionaries_old/10leadership_autoleader/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_autoleader/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_autoleader/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_autoleader/result/rougail/00-base.yml
new file mode 100644
index 000000000..680b9493c
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autoleader/result/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.leader | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_autoleader/tiramisu/base.py b/tests/dictionaries_old/10leadership_autoleader/tiramisu/base.py
index 3dfb5c145..479ba99cb 100644
--- a/tests/dictionaries_old/10leadership_autoleader/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_autoleader/tiramisu/base.py
@@ -1,21 +1,64 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general.leader.follower2'] = "{{ rougail.general.leader.leader | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="leader", doc="leader", multi=True)
-option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_5)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.leader.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general.leader.leader': ParamOption(option_5)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_autoleader/tiramisu/multi.py b/tests/dictionaries_old/10leadership_autoleader/tiramisu/multi.py
new file mode 100644
index 000000000..1ea0c713d
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autoleader/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_5 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+option_6 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_4)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_3 = Leadership(name="leader", doc="leader", children=[option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_11 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+option_12 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_10)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_9 = Leadership(name="leader", doc="leader", children=[option_10, option_11, option_12], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8, optiondescription_9], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/10leadership_autoleader/xml/00-base.xml b/tests/dictionaries_old/10leadership_autoleader/xml/00-base.xml
new file mode 100644
index 000000000..0ac9cab9e
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autoleader/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ leader
+ follower2
+
+
+
diff --git a/tests/dictionaries_old/10leadership_autoleader/yml/00-base.yml b/tests/dictionaries_old/10leadership_autoleader/yml/00-base.yml
new file mode 100644
index 000000000..e31d3e17a
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autoleader/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ hidden: true
+ - name: follower2
+ type: string
+ description: follower2
+ hidden: true
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: leader
+ target:
+ - text: follower2
diff --git a/tests/dictionaries_old/10leadership_autoleader_expert/00-base.xml b/tests/dictionaries_old/10leadership_autoleader_expert/00-base.xml
deleted file mode 100644
index 231c29f30..000000000
--- a/tests/dictionaries_old/10leadership_autoleader_expert/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- leader
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10leadership_autoleader_expert/makedict/after.json b/tests/dictionaries_old/10leadership_autoleader_expert/makedict/after.json
index 34eba3d58..a06c87b44 100644
--- a/tests/dictionaries_old/10leadership_autoleader_expert/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_autoleader_expert/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.leadermode.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.leadermode.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.leadermode.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_autoleader_expert/makedict/before.json b/tests/dictionaries_old/10leadership_autoleader_expert/makedict/before.json
index 34eba3d58..a06c87b44 100644
--- a/tests/dictionaries_old/10leadership_autoleader_expert/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_autoleader_expert/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.leadermode.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.leadermode.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.leadermode.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_autoleader_expert/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_autoleader_expert/result/rougail/00-base.yml
new file mode 100644
index 000000000..fe83276ae
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autoleader_expert/result/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+leadermode:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_list }}'
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_autoleader_expert/tiramisu/base.py b/tests/dictionaries_old/10leadership_autoleader_expert/tiramisu/base.py
index b95e0e6fa..1335fdc34 100644
--- a/tests/dictionaries_old/10leadership_autoleader_expert/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_autoleader_expert/tiramisu/base.py
@@ -1,22 +1,64 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.leadermode.leader.leader'] = "{{ \"valfill\" | calc_list }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True, default=Calculation(func.calc_list, Params((), kwargs={'valeur': ParamValue("valfill")})))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.leadermode.leader.leader), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"expert", "notempty"}))
option_7 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"expert"}))
option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"expert"}))
-option_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"expert"}))
-option_4 = OptionDescription(name="leadermode", doc="leadermode", children=[option_5], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"expert"}))
+optiondescription_4 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_5], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_autoleader_expert/tiramisu/multi.py b/tests/dictionaries_old/10leadership_autoleader_expert/tiramisu/multi.py
new file mode 100644
index 000000000..a5945a16b
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autoleader_expert/tiramisu/multi.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, default=Calculation(func.calc_list, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"expert"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"expert"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"expert"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"expert"}))
+optiondescription_3 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_4], properties=frozenset({"expert"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9], properties=frozenset({"expert"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, default=Calculation(func.calc_list, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"expert"}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"expert"}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"expert"}))
+optiondescription_11 = Leadership(name="leader", doc="leader", children=[option_12, option_13, option_14], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_11], properties=frozenset({"expert"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8, optiondescription_10], properties=frozenset({"expert"}))
+optiondescription_17 = OptionDescription(name="2", doc="2", children=[optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_17])
diff --git a/tests/dictionaries_old/10leadership_autoleader_expert/xml/00-base.xml b/tests/dictionaries_old/10leadership_autoleader_expert/xml/00-base.xml
new file mode 100644
index 000000000..bcc074625
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autoleader_expert/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ leader
+
+
+
diff --git a/tests/dictionaries_old/10leadership_autoleader_expert/yml/00-base.yml b/tests/dictionaries_old/10leadership_autoleader_expert/yml/00-base.yml
new file mode 100644
index 000000000..fc8e48222
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autoleader_expert/yml/00-base.yml
@@ -0,0 +1,39 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: leadermode
+ variables:
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ mode: expert
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_list
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: leader
diff --git a/tests/dictionaries_old/10leadership_autosaveexpert/00-base.xml b/tests/dictionaries_old/10leadership_autosaveexpert/00-base.xml
deleted file mode 100644
index fab4877de..000000000
--- a/tests/dictionaries_old/10leadership_autosaveexpert/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10leadership_autosaveexpert/makedict/after.json b/tests/dictionaries_old/10leadership_autosaveexpert/makedict/after.json
index dd62b9801..548ec3acc 100644
--- a/tests/dictionaries_old/10leadership_autosaveexpert/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_autosaveexpert/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_autosaveexpert/makedict/before.json b/tests/dictionaries_old/10leadership_autosaveexpert/makedict/before.json
index dd62b9801..548ec3acc 100644
--- a/tests/dictionaries_old/10leadership_autosaveexpert/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_autosaveexpert/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_autosaveexpert/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_autosaveexpert/result/rougail/00-base.yml
new file mode 100644
index 000000000..65be907af
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autosaveexpert/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_autosaveexpert/tiramisu/base.py b/tests/dictionaries_old/10leadership_autosaveexpert/tiramisu/base.py
index 259c0674e..5af610b12 100644
--- a/tests/dictionaries_old/10leadership_autosaveexpert/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_autosaveexpert/tiramisu/base.py
@@ -1,21 +1,64 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general.leader.follower2'] = "{{ rougail.general.leader.follower1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="leader", doc="leader", multi=True)
-option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
-option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"expert"}))
-option_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.leader.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general.leader.follower1': ParamOption(option_6)})), properties=frozenset({"expert"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_autosaveexpert/tiramisu/multi.py b/tests/dictionaries_old/10leadership_autosaveexpert/tiramisu/multi.py
new file mode 100644
index 000000000..2916cc29b
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autosaveexpert/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_5 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_5)))), properties=frozenset({"expert"}))
+optiondescription_3 = Leadership(name="leader", doc="leader", children=[option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_11 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_12 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_11)))), properties=frozenset({"expert"}))
+optiondescription_9 = Leadership(name="leader", doc="leader", children=[option_10, option_11, option_12], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8, optiondescription_9], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/10leadership_autosaveexpert/xml/00-base.xml b/tests/dictionaries_old/10leadership_autosaveexpert/xml/00-base.xml
new file mode 100644
index 000000000..1a1171046
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autosaveexpert/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ follower1
+ follower2
+
+
+
diff --git a/tests/dictionaries_old/10leadership_autosaveexpert/yml/00-base.yml b/tests/dictionaries_old/10leadership_autosaveexpert/yml/00-base.yml
new file mode 100644
index 000000000..4e95d1d53
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_autosaveexpert/yml/00-base.yml
@@ -0,0 +1,42 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+ mode: expert
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: follower1
+ target:
+ - text: follower2
diff --git a/tests/dictionaries/01base_file_utfchar/__init__.py b/tests/dictionaries_old/10leadership_empty/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_utfchar/__init__.py
rename to tests/dictionaries_old/10leadership_empty/__init__.py
diff --git a/tests/dictionaries_old/10leadership_empty/makedict/after.json b/tests/dictionaries_old/10leadership_empty/makedict/after.json
new file mode 100644
index 000000000..9cd2d3dde
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_empty/makedict/after.json
@@ -0,0 +1,10 @@
+{
+ "services.tata_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.tata_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/10leadership_empty/makedict/base.json b/tests/dictionaries_old/10leadership_empty/makedict/base.json
new file mode 100644
index 000000000..2bcec6972
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_empty/makedict/base.json
@@ -0,0 +1,4 @@
+{
+ "services.tata_service.activate": true,
+ "services.tata_service.manage": true
+}
diff --git a/tests/dictionaries_old/10leadership_empty/makedict/before.json b/tests/dictionaries_old/10leadership_empty/makedict/before.json
new file mode 100644
index 000000000..9cd2d3dde
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_empty/makedict/before.json
@@ -0,0 +1,10 @@
+{
+ "services.tata_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.tata_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/10leadership_empty/result/rougail/00_base.yml b/tests/dictionaries_old/10leadership_empty/result/rougail/00_base.yml
new file mode 100644
index 000000000..9f7d9a728
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_empty/result/rougail/00_base.yml
@@ -0,0 +1,3 @@
+empty_leader:
+ type: leadership
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_empty/result/services/00_base.yml b/tests/dictionaries_old/10leadership_empty/result/services/00_base.yml
new file mode 100644
index 000000000..c68a20606
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_empty/result/services/00_base.yml
@@ -0,0 +1,2 @@
+tata.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_empty/tiramisu/base.py b/tests/dictionaries_old/10leadership_empty/tiramisu/base.py
new file mode 100644
index 000000000..c433bbd51
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_empty/tiramisu/base.py
@@ -0,0 +1,32 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[], properties=frozenset({"expert"}))
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_6 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_4 = OptionDescription(name="tata_service", doc="tata_service", children=[option_5, option_6])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries_old/10leadership_empty/tiramisu/multi.py b/tests/dictionaries_old/10leadership_empty/tiramisu/multi.py
new file mode 100644
index 000000000..d4f12df9e
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_empty/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[], properties=frozenset({"expert"}))
+option_3 = BoolOption(name="activate", doc="activate", default=True)
+option_4 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_10 = OptionDescription(name="tata_service", doc="tata.service", children=[option_3, option_4])
+optiondescription_10.impl_set_information('type', "service")
+optiondescription_9 = OptionDescription(name="services", doc="services", children=[optiondescription_10], properties=frozenset({"hidden"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8, optiondescription_9])
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[], properties=frozenset({"expert"}))
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_6 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_14 = OptionDescription(name="tata_service", doc="tata.service", children=[option_5, option_6])
+optiondescription_14.impl_set_information('type', "service")
+optiondescription_13 = OptionDescription(name="services", doc="services", children=[optiondescription_14], properties=frozenset({"hidden"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12, optiondescription_13])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_11])
diff --git a/tests/dictionaries_old/10leadership_empty/xml/00_base.xml b/tests/dictionaries_old/10leadership_empty/xml/00_base.xml
new file mode 100644
index 000000000..7c9afec49
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_empty/xml/00_base.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10leadership_empty/yml/00_base.yml b/tests/dictionaries_old/10leadership_empty/yml/00_base.yml
new file mode 100644
index 000000000..da48fa3f3
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_empty/yml/00_base.yml
@@ -0,0 +1,8 @@
+version: '0.10'
+services:
+- service:
+ - name: tata
+variables:
+- family:
+ - name: empty_leader
+ leadership: true
diff --git a/tests/dictionaries/01base_file_var_source/__init__.py b/tests/dictionaries_old/10leadership_hidden/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_file_var_source/__init__.py
rename to tests/dictionaries_old/10leadership_hidden/__init__.py
diff --git a/tests/dictionaries_old/10leadership_hidden/makedict/after.json b/tests/dictionaries_old/10leadership_hidden/makedict/after.json
new file mode 100644
index 000000000..a06c87b44
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_hidden/makedict/after.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.leadermode.leader.leader": {
+ "owner": "default",
+ "value": []
+ }
+}
diff --git a/tests/dictionaries_old/10leadership_hidden/makedict/base.json b/tests/dictionaries_old/10leadership_hidden/makedict/base.json
new file mode 100644
index 000000000..fe8a1c7ae
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_hidden/makedict/base.json
@@ -0,0 +1,4 @@
+{
+ "rougail.general.mode_conteneur_actif": "non",
+ "rougail.leadermode.leader.leader": []
+}
diff --git a/tests/dictionaries_old/10leadership_hidden/makedict/before.json b/tests/dictionaries_old/10leadership_hidden/makedict/before.json
new file mode 100644
index 000000000..a06c87b44
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_hidden/makedict/before.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.leadermode.leader.leader": {
+ "owner": "default",
+ "value": []
+ }
+}
diff --git a/tests/dictionaries_old/10leadership_hidden/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_hidden/result/rougail/00-base.yml
new file mode 100644
index 000000000..767b506ce
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_hidden/result/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+leadermode:
+ leader:
+ description: leader
+ hidden: true
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_list }}'
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_hidden/tiramisu/base.py b/tests/dictionaries_old/10leadership_hidden/tiramisu/base.py
new file mode 100644
index 000000000..1549d9a09
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_hidden/tiramisu/base.py
@@ -0,0 +1,64 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.leadermode.leader.leader'] = "{{ \"valfill\" | calc_list }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.leadermode.leader.leader), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"force_default_on_freeze", "frozen", "normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"hidden", "normal"}))
+optiondescription_4 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_hidden/tiramisu/multi.py b/tests/dictionaries_old/10leadership_hidden/tiramisu/multi.py
new file mode 100644
index 000000000..5cd5bb4ec
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_hidden/tiramisu/multi.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, default=Calculation(func.calc_list, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"hidden", "normal"}))
+optiondescription_3 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9], properties=frozenset({"expert"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, default=Calculation(func.calc_list, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+optiondescription_11 = Leadership(name="leader", doc="leader", children=[option_12, option_13, option_14], properties=frozenset({"hidden", "normal"}))
+optiondescription_10 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8, optiondescription_10], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="2", doc="2", children=[optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_17])
diff --git a/tests/dictionaries_old/10leadership_hidden/xml/00-base.xml b/tests/dictionaries_old/10leadership_hidden/xml/00-base.xml
new file mode 100644
index 000000000..009ff3c6e
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_hidden/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ leader
+
+
+
diff --git a/tests/dictionaries_old/10leadership_hidden/yml/00-base.yml b/tests/dictionaries_old/10leadership_hidden/yml/00-base.yml
new file mode 100644
index 000000000..f383a91fb
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_hidden/yml/00-base.yml
@@ -0,0 +1,39 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: leadermode
+ variables:
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ hidden: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_list
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: leader
diff --git a/tests/dictionaries_old/10leadership_leader_hidden/00-base.xml b/tests/dictionaries_old/10leadership_leader_hidden/00-base.xml
deleted file mode 100644
index baa6de826..000000000
--- a/tests/dictionaries_old/10leadership_leader_hidden/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- leader
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10leadership_leader_hidden/makedict/after.json b/tests/dictionaries_old/10leadership_leader_hidden/makedict/after.json
index 34eba3d58..a06c87b44 100644
--- a/tests/dictionaries_old/10leadership_leader_hidden/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_leader_hidden/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.leadermode.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.leadermode.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.leadermode.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_leader_hidden/makedict/before.json b/tests/dictionaries_old/10leadership_leader_hidden/makedict/before.json
index 34eba3d58..a06c87b44 100644
--- a/tests/dictionaries_old/10leadership_leader_hidden/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_leader_hidden/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.leadermode.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.leadermode.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.leadermode.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_leader_hidden/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_leader_hidden/result/rougail/00-base.yml
new file mode 100644
index 000000000..a4d447d82
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden/result/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+leadermode:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_list }}'
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_leader_hidden/tiramisu/base.py b/tests/dictionaries_old/10leadership_leader_hidden/tiramisu/base.py
index f530c3eed..1549d9a09 100644
--- a/tests/dictionaries_old/10leadership_leader_hidden/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_leader_hidden/tiramisu/base.py
@@ -1,22 +1,64 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.leadermode.leader.leader'] = "{{ \"valfill\" | calc_list }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True, default=Calculation(func.calc_list, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.leadermode.leader.leader), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"force_default_on_freeze", "frozen", "normal", "notempty"}))
option_7 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
-option_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"hidden", "normal"}))
-option_4 = OptionDescription(name="leadermode", doc="leadermode", children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"hidden", "normal"}))
+optiondescription_4 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_leader_hidden/tiramisu/multi.py b/tests/dictionaries_old/10leadership_leader_hidden/tiramisu/multi.py
new file mode 100644
index 000000000..5cd5bb4ec
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden/tiramisu/multi.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, default=Calculation(func.calc_list, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"hidden", "normal"}))
+optiondescription_3 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9], properties=frozenset({"expert"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, default=Calculation(func.calc_list, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+optiondescription_11 = Leadership(name="leader", doc="leader", children=[option_12, option_13, option_14], properties=frozenset({"hidden", "normal"}))
+optiondescription_10 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8, optiondescription_10], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="2", doc="2", children=[optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_17])
diff --git a/tests/dictionaries_old/10leadership_leader_hidden/xml/00-base.xml b/tests/dictionaries_old/10leadership_leader_hidden/xml/00-base.xml
new file mode 100644
index 000000000..5eb2d5a52
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ leader
+
+
+
diff --git a/tests/dictionaries_old/10leadership_leader_hidden/yml/00-base.yml b/tests/dictionaries_old/10leadership_leader_hidden/yml/00-base.yml
new file mode 100644
index 000000000..d446ad800
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden/yml/00-base.yml
@@ -0,0 +1,39 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: leadermode
+ variables:
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ hidden: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_list
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: leader
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in/00-base.xml b/tests/dictionaries_old/10leadership_leader_hidden_if_in/00-base.xml
deleted file mode 100644
index 0b3448653..000000000
--- a/tests/dictionaries_old/10leadership_leader_hidden_if_in/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- follower1
- follower2
-
-
- non
- leader
-
-
-
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in/makedict/after.json b/tests/dictionaries_old/10leadership_leader_hidden_if_in/makedict/after.json
index 34eba3d58..a06c87b44 100644
--- a/tests/dictionaries_old/10leadership_leader_hidden_if_in/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.leadermode.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.leadermode.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.leadermode.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in/makedict/before.json b/tests/dictionaries_old/10leadership_leader_hidden_if_in/makedict/before.json
index 34eba3d58..a06c87b44 100644
--- a/tests/dictionaries_old/10leadership_leader_hidden_if_in/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.leadermode.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.leadermode.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.leadermode.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_leader_hidden_if_in/result/rougail/00-base.yml
new file mode 100644
index 000000000..f8d7bbac2
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in/result/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+leadermode:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.mode_conteneur_actif == "non" %}true{% else
+ %}false{% endif %}'
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in/tiramisu/base.py b/tests/dictionaries_old/10leadership_leader_hidden_if_in/tiramisu/base.py
index 42137eb88..b3d7e0b3d 100644
--- a/tests/dictionaries_old/10leadership_leader_hidden_if_in/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in/tiramisu/base.py
@@ -1,22 +1,34 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")}))}))
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")}))}))
-option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")}))}))
-option_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")}))}))
-option_4 = OptionDescription(name="leadermode", doc="leadermode", children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in/tiramisu/multi.py b/tests/dictionaries_old/10leadership_leader_hidden_if_in/tiramisu/multi.py
new file mode 100644
index 000000000..35392e10f
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in/tiramisu/multi.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_3 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9], properties=frozenset({"expert"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_11 = Leadership(name="leader", doc="leader", children=[option_12, option_13, option_14], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_10 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8, optiondescription_10], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="2", doc="2", children=[optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_17])
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in/xml/00-base.xml b/tests/dictionaries_old/10leadership_leader_hidden_if_in/xml/00-base.xml
new file mode 100644
index 000000000..41266b1e1
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ non
+ leader
+
+
+
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in/yml/00-base.yml b/tests/dictionaries_old/10leadership_leader_hidden_if_in/yml/00-base.yml
new file mode 100644
index 000000000..1a7e8563a
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in/yml/00-base.yml
@@ -0,0 +1,39 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: leadermode
+ variables:
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- condition:
+ - name: hidden_if_in
+ source: mode_conteneur_actif
+ param:
+ - text: non
+ target:
+ - type: variable
+ text: leader
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/00-base.xml b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/00-base.xml
deleted file mode 100644
index 9a5818a56..000000000
--- a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- follower1
- follower2
-
-
- non
- leader
-
-
-
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/makedict/after.json b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/makedict/after.json
index 05ecdcd29..8b4b57426 100644
--- a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.leadermode.other.leader": {
"owner": "default",
"value": []
- },
- "rougail.leadermode.other.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.leadermode.other.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/makedict/before.json b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/makedict/before.json
index 05ecdcd29..8b4b57426 100644
--- a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.leadermode.other.leader": {
"owner": "default",
"value": []
- },
- "rougail.leadermode.other.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.leadermode.other.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/result/rougail/00-base.yml
new file mode 100644
index 000000000..59946e2b8
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/result/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+leadermode:
+ other:
+ description: other
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.mode_conteneur_actif == "non" %}true{% else
+ %}false{% endif %}'
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/tiramisu/base.py b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/tiramisu/base.py
index 543a9246b..425dd3cc1 100644
--- a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/tiramisu/base.py
@@ -1,22 +1,34 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")}))}))
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")}))}))
-option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")}))}))
-option_5 = Leadership(name="other", doc="other", children=[option_6, option_7, option_8], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")}))}))
-option_4 = OptionDescription(name="leadermode", doc="leadermode", children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "normal"}))
+optiondescription_5 = Leadership(name="other", doc="other", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/tiramisu/multi.py b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/tiramisu/multi.py
new file mode 100644
index 000000000..35abc8e9b
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/tiramisu/multi.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_4 = Leadership(name="other", doc="other", children=[option_5, option_6, option_7], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_3 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9], properties=frozenset({"expert"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_11 = Leadership(name="other", doc="other", children=[option_12, option_13, option_14], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_10 = OptionDescription(name="leadermode", doc="leadermode", children=[optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8, optiondescription_10], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="2", doc="2", children=[optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_17])
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/xml/00-base.xml b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/xml/00-base.xml
new file mode 100644
index 000000000..f977493e5
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ non
+ leader
+
+
+
diff --git a/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/yml/00-base.yml b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/yml/00-base.yml
new file mode 100644
index 000000000..6977fc04f
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leader_hidden_if_in_name/yml/00-base.yml
@@ -0,0 +1,39 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: leadermode
+ variables:
+ - family:
+ - name: other
+ description: other
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- condition:
+ - name: hidden_if_in
+ source: mode_conteneur_actif
+ param:
+ - text: non
+ target:
+ - type: variable
+ text: leader
diff --git a/tests/dictionaries_old/10leadership_leadermandatory/00-base.xml b/tests/dictionaries_old/10leadership_leadermandatory/00-base.xml
deleted file mode 100644
index b8d1b8136..000000000
--- a/tests/dictionaries_old/10leadership_leadermandatory/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10leadership_leadermandatory/makedict/after.json b/tests/dictionaries_old/10leadership_leadermandatory/makedict/after.json
index dd62b9801..548ec3acc 100644
--- a/tests/dictionaries_old/10leadership_leadermandatory/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_leadermandatory/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_leadermandatory/makedict/before.json b/tests/dictionaries_old/10leadership_leadermandatory/makedict/before.json
index dd62b9801..548ec3acc 100644
--- a/tests/dictionaries_old/10leadership_leadermandatory/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_leadermandatory/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_leadermandatory/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_leadermandatory/result/rougail/00-base.yml
new file mode 100644
index 000000000..0dfd29624
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leadermandatory/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ mandatory: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_leadermandatory/tiramisu/base.py b/tests/dictionaries_old/10leadership_leadermandatory/tiramisu/base.py
index 6cda99314..9419e614b 100644
--- a/tests/dictionaries_old/10leadership_leadermandatory/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_leadermandatory/tiramisu/base.py
@@ -1,21 +1,64 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general.leader.follower2'] = "{{ rougail.general.leader.follower1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"mandatory"}))
-option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
-option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"normal"}))
-option_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"basic"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"basic", "mandatory"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.leader.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general.leader.follower1': ParamOption(option_6)})), properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"basic"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, optiondescription_4], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_leadermandatory/tiramisu/multi.py b/tests/dictionaries_old/10leadership_leadermandatory/tiramisu/multi.py
new file mode 100644
index 000000000..acbcc6e71
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leadermandatory/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"basic", "mandatory"}))
+option_5 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_5)))), properties=frozenset({"normal"}))
+optiondescription_3 = Leadership(name="leader", doc="leader", children=[option_4, option_5, option_6], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"basic"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"basic", "mandatory"}))
+option_11 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_12 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_11)))), properties=frozenset({"normal"}))
+optiondescription_9 = Leadership(name="leader", doc="leader", children=[option_10, option_11, option_12], properties=frozenset({"basic"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8, optiondescription_9], properties=frozenset({"basic"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7], properties=frozenset({"basic"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/10leadership_leadermandatory/xml/00-base.xml b/tests/dictionaries_old/10leadership_leadermandatory/xml/00-base.xml
new file mode 100644
index 000000000..d086a7be6
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leadermandatory/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ follower1
+ follower2
+
+
+
diff --git a/tests/dictionaries_old/10leadership_leadermandatory/yml/00-base.yml b/tests/dictionaries_old/10leadership_leadermandatory/yml/00-base.yml
new file mode 100644
index 000000000..bdcecafbe
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_leadermandatory/yml/00-base.yml
@@ -0,0 +1,42 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ mandatory: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: follower1
+ target:
+ - text: follower2
diff --git a/tests/dictionaries_old/10leadership_mandatory/00-base.xml b/tests/dictionaries_old/10leadership_mandatory/00-base.xml
deleted file mode 100644
index 07d8f068d..000000000
--- a/tests/dictionaries_old/10leadership_mandatory/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10leadership_mandatory/__init__.py b/tests/dictionaries_old/10leadership_mandatory/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/10leadership_mandatory/makedict/after.json b/tests/dictionaries_old/10leadership_mandatory/makedict/after.json
deleted file mode 100644
index dd62b9801..000000000
--- a/tests/dictionaries_old/10leadership_mandatory/makedict/after.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.leader.leader": {
- "owner": "default",
- "value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
- }
-}
diff --git a/tests/dictionaries_old/10leadership_mandatory/makedict/base.json b/tests/dictionaries_old/10leadership_mandatory/makedict/base.json
deleted file mode 100644
index 9031a92aa..000000000
--- a/tests/dictionaries_old/10leadership_mandatory/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "rougail.general.leader.leader": []
-}
diff --git a/tests/dictionaries_old/10leadership_mandatory/makedict/before.json b/tests/dictionaries_old/10leadership_mandatory/makedict/before.json
deleted file mode 100644
index dd62b9801..000000000
--- a/tests/dictionaries_old/10leadership_mandatory/makedict/before.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.leader.leader": {
- "owner": "default",
- "value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
- }
-}
diff --git a/tests/dictionaries_old/10leadership_mandatory/tiramisu/base.py b/tests/dictionaries_old/10leadership_mandatory/tiramisu/base.py
deleted file mode 100644
index 6e675dab9..000000000
--- a/tests/dictionaries_old/10leadership_mandatory/tiramisu/base.py
+++ /dev/null
@@ -1,21 +0,0 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
-try:
- from tiramisu4 import *
-except:
- from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="leader", doc="leader", multi=True)
-option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"mandatory", "normal"}))
-option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"normal"}))
-option_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower/00-base.xml b/tests/dictionaries_old/10leadership_mandatoryfollower/00-base.xml
deleted file mode 100644
index 6865c3315..000000000
--- a/tests/dictionaries_old/10leadership_mandatoryfollower/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- oui
-
-
-
-
-
-
-
- nut_monitor_host
-
-
-
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower/makedict/after.json b/tests/dictionaries_old/10leadership_mandatoryfollower/makedict/after.json
index c66326dac..df73b8790 100644
--- a/tests/dictionaries_old/10leadership_mandatoryfollower/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower/makedict/after.json
@@ -6,9 +6,5 @@
"rougail.general.nut_monitor_netmask.nut_monitor_netmask": {
"owner": "default",
"value": []
- },
- "rougail.general.nut_monitor_netmask.nut_monitor_host": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower/makedict/before.json b/tests/dictionaries_old/10leadership_mandatoryfollower/makedict/before.json
index c66326dac..df73b8790 100644
--- a/tests/dictionaries_old/10leadership_mandatoryfollower/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower/makedict/before.json
@@ -6,9 +6,5 @@
"rougail.general.nut_monitor_netmask.nut_monitor_netmask": {
"owner": "default",
"value": []
- },
- "rougail.general.nut_monitor_netmask.nut_monitor_host": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_mandatoryfollower/result/rougail/00-base.yml
new file mode 100644
index 000000000..adfbc5663
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower/result/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+ nut_monitor_netmask:
+ description: Masque de l'IP du réseau de l'esclave
+ type: leadership
+ nut_monitor_netmask:
+ type: netmask
+ description: Masque de l'IP du réseau de l'esclave
+ multi: true
+ nut_monitor_host:
+ type: network
+ description: Adresse IP du réseau de l'esclave
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower/tiramisu/base.py b/tests/dictionaries_old/10leadership_mandatoryfollower/tiramisu/base.py
index 54b2c84ad..c23688623 100644
--- a/tests/dictionaries_old/10leadership_mandatoryfollower/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_5 = NetmaskOption(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", multi=True)
+option_5 = NetmaskOption(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", multi=True, properties=frozenset({"normal", "notempty"}))
option_6 = NetworkOption(name="nut_monitor_host", doc="Adresse IP du réseau de l'esclave", multi=True, properties=frozenset({"basic", "mandatory"}))
-option_4 = Leadership(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", children=[option_5, option_6], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = Leadership(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower/tiramisu/multi.py b/tests/dictionaries_old/10leadership_mandatoryfollower/tiramisu/multi.py
new file mode 100644
index 000000000..d279b65e5
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = NetmaskOption(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", multi=True, properties=frozenset({"normal"}))
+option_5 = NetworkOption(name="nut_monitor_host", doc="Adresse IP du réseau de l'esclave", multi=True, properties=frozenset({"basic", "mandatory"}))
+optiondescription_3 = Leadership(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", children=[option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_9 = NetmaskOption(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", multi=True, properties=frozenset({"normal"}))
+option_10 = NetworkOption(name="nut_monitor_host", doc="Adresse IP du réseau de l'esclave", multi=True, properties=frozenset({"basic", "mandatory"}))
+optiondescription_8 = Leadership(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="général", children=[option_7, optiondescription_8], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower/xml/00-base.xml b/tests/dictionaries_old/10leadership_mandatoryfollower/xml/00-base.xml
new file mode 100644
index 000000000..94c8c1191
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower/xml/00-base.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ oui
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower/yml/00-base.yml b/tests/dictionaries_old/10leadership_mandatoryfollower/yml/00-base.yml
new file mode 100644
index 000000000..a235c481b
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower/yml/00-base.yml
@@ -0,0 +1,27 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: oui
+ - family:
+ - name: nut_monitor_netmask
+ description: "Masque de l'IP du r\xE9seau de l'esclave"
+ leadership: true
+ variables:
+ - variable:
+ - name: nut_monitor_netmask
+ type: netmask
+ description: "Masque de l'IP du r\xE9seau de l'esclave"
+ multi: true
+ - name: nut_monitor_host
+ type: network
+ description: "Adresse IP du r\xE9seau de l'esclave"
+ mandatory: true
diff --git a/tests/dictionaries/01base_provider/__init__.py b/tests/dictionaries_old/10leadership_mandatoryfollower_value/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_provider/__init__.py
rename to tests/dictionaries_old/10leadership_mandatoryfollower_value/__init__.py
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower_value/makedict/after.json b/tests/dictionaries_old/10leadership_mandatoryfollower_value/makedict/after.json
new file mode 100644
index 000000000..df73b8790
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower_value/makedict/after.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "oui"
+ },
+ "rougail.general.nut_monitor_netmask.nut_monitor_netmask": {
+ "owner": "default",
+ "value": []
+ }
+}
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower_value/makedict/base.json b/tests/dictionaries_old/10leadership_mandatoryfollower_value/makedict/base.json
new file mode 100644
index 000000000..af7d636d7
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower_value/makedict/base.json
@@ -0,0 +1,4 @@
+{
+ "rougail.general.mode_conteneur_actif": "oui",
+ "rougail.general.nut_monitor_netmask.nut_monitor_netmask": []
+}
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower_value/makedict/before.json b/tests/dictionaries_old/10leadership_mandatoryfollower_value/makedict/before.json
new file mode 100644
index 000000000..df73b8790
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower_value/makedict/before.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "oui"
+ },
+ "rougail.general.nut_monitor_netmask.nut_monitor_netmask": {
+ "owner": "default",
+ "value": []
+ }
+}
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower_value/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_mandatoryfollower_value/result/rougail/00-base.yml
new file mode 100644
index 000000000..f8f642153
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower_value/result/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+ nut_monitor_netmask:
+ description: Masque de l'IP du réseau de l'esclave
+ type: leadership
+ nut_monitor_netmask:
+ type: netmask
+ description: Masque de l'IP du réseau de l'esclave
+ multi: true
+ nut_monitor_host:
+ type: network
+ description: Adresse IP du réseau de l'esclave
+ mandatory: true
+ default: 192.168.0.0
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower_value/tiramisu/base.py b/tests/dictionaries_old/10leadership_mandatoryfollower_value/tiramisu/base.py
new file mode 100644
index 000000000..213cb8976
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower_value/tiramisu/base.py
@@ -0,0 +1,32 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_5 = NetmaskOption(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", multi=True, properties=frozenset({"normal", "notempty"}))
+option_6 = NetworkOption(name="nut_monitor_host", doc="Adresse IP du réseau de l'esclave", multi=True, default="192.168.0.0", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = Leadership(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower_value/tiramisu/multi.py b/tests/dictionaries_old/10leadership_mandatoryfollower_value/tiramisu/multi.py
new file mode 100644
index 000000000..99997f62f
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower_value/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = NetmaskOption(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", multi=True, properties=frozenset({"normal"}))
+option_5 = NetworkOption(name="nut_monitor_host", doc="Adresse IP du réseau de l'esclave", multi=True, default_multi="192.168.0.0", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = Leadership(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", children=[option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_9 = NetmaskOption(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", multi=True, properties=frozenset({"normal"}))
+option_10 = NetworkOption(name="nut_monitor_host", doc="Adresse IP du réseau de l'esclave", multi=True, default_multi="192.168.0.0", properties=frozenset({"mandatory", "normal"}))
+optiondescription_8 = Leadership(name="nut_monitor_netmask", doc="Masque de l'IP du réseau de l'esclave", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="général", children=[option_7, optiondescription_8], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower_value/xml/00-base.xml b/tests/dictionaries_old/10leadership_mandatoryfollower_value/xml/00-base.xml
new file mode 100644
index 000000000..b0f28bf09
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower_value/xml/00-base.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ oui
+
+
+
+
+ 192.168.0.0
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10leadership_mandatoryfollower_value/yml/00-base.yml b/tests/dictionaries_old/10leadership_mandatoryfollower_value/yml/00-base.yml
new file mode 100644
index 000000000..32cd3343c
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_mandatoryfollower_value/yml/00-base.yml
@@ -0,0 +1,29 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: oui
+ - family:
+ - name: nut_monitor_netmask
+ description: "Masque de l'IP du r\xE9seau de l'esclave"
+ leadership: true
+ variables:
+ - variable:
+ - name: nut_monitor_netmask
+ type: netmask
+ description: "Masque de l'IP du r\xE9seau de l'esclave"
+ multi: true
+ - name: nut_monitor_host
+ type: network
+ description: "Adresse IP du r\xE9seau de l'esclave"
+ mandatory: true
+ value:
+ - text: 192.168.0.0
diff --git a/tests/dictionaries_old/10leadership_multi/00-base.xml b/tests/dictionaries_old/10leadership_multi/00-base.xml
deleted file mode 100644
index 8bb071cfc..000000000
--- a/tests/dictionaries_old/10leadership_multi/00-base.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
- follower11
- follower21
-
-
-
diff --git a/tests/dictionaries_old/10leadership_multi/makedict/after.json b/tests/dictionaries_old/10leadership_multi/makedict/after.json
index 84e0751ce..0b42b7958 100644
--- a/tests/dictionaries_old/10leadership_multi/makedict/after.json
+++ b/tests/dictionaries_old/10leadership_multi/makedict/after.json
@@ -7,24 +7,8 @@
"owner": "default",
"value": []
},
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
- },
"rougail.general1.leader1.leader1": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader1.follower11": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader1.follower21": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_multi/makedict/before.json b/tests/dictionaries_old/10leadership_multi/makedict/before.json
index 84e0751ce..0b42b7958 100644
--- a/tests/dictionaries_old/10leadership_multi/makedict/before.json
+++ b/tests/dictionaries_old/10leadership_multi/makedict/before.json
@@ -7,24 +7,8 @@
"owner": "default",
"value": []
},
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
- },
"rougail.general1.leader1.leader1": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader1.follower11": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader1.follower21": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10leadership_multi/result/rougail/00-base.yml b/tests/dictionaries_old/10leadership_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..a76ff7462
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_multi/result/rougail/00-base.yml
@@ -0,0 +1,39 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+ leader1:
+ description: leader
+ type: leadership
+ leader1:
+ type: string
+ description: leader
+ multi: true
+ follower11:
+ type: string
+ description: follower1
+ follower21:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/10leadership_multi/tiramisu/base.py b/tests/dictionaries_old/10leadership_multi/tiramisu/base.py
index 0dcf775ba..1aea8bb4a 100644
--- a/tests/dictionaries_old/10leadership_multi/tiramisu/base.py
+++ b/tests/dictionaries_old/10leadership_multi/tiramisu/base.py
@@ -1,26 +1,69 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general1.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general1.leader.follower2'] = "{{ rougail.general1.leader.follower1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True)
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
-option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_7)))), properties=frozenset({"normal"}))
-option_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
-option_10 = StrOption(name="leader1", doc="leader", multi=True)
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general1.leader.follower1': ParamOption(option_7)})), properties=frozenset({"normal"}))
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+option_10 = StrOption(name="leader1", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
option_11 = StrOption(name="follower11", doc="follower1", multi=True, properties=frozenset({"normal"}))
option_12 = StrOption(name="follower21", doc="follower2", multi=True, properties=frozenset({"normal"}))
-option_9 = Leadership(name="leader1", doc="leader", children=[option_10, option_11, option_12], properties=frozenset({"normal"}))
-option_4 = OptionDescription(name="general1", doc="general1", children=[option_5, option_9], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_9 = Leadership(name="leader1", doc="leader", children=[option_10, option_11, option_12], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="general1", doc="general1", children=[optiondescription_5, optiondescription_9], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10leadership_multi/tiramisu/multi.py b/tests/dictionaries_old/10leadership_multi/tiramisu/multi.py
new file mode 100644
index 000000000..8efd3d6c0
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_multi/tiramisu/multi.py
@@ -0,0 +1,52 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+option_9 = StrOption(name="leader1", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_10 = StrOption(name="follower11", doc="follower1", multi=True, properties=frozenset({"normal"}))
+option_11 = StrOption(name="follower21", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_8 = Leadership(name="leader1", doc="leader", children=[option_9, option_10, option_11], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general1", doc="general1", children=[optiondescription_4, optiondescription_8], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24])
+option_13 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_12 = OptionDescription(name="general", doc="general", children=[option_13], properties=frozenset({"normal"}))
+option_16 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_17 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_18 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_17)))), properties=frozenset({"normal"}))
+optiondescription_15 = Leadership(name="leader", doc="leader", children=[option_16, option_17, option_18], properties=frozenset({"normal"}))
+option_20 = StrOption(name="leader1", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_21 = StrOption(name="follower11", doc="follower1", multi=True, properties=frozenset({"normal"}))
+option_22 = StrOption(name="follower21", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_19 = Leadership(name="leader1", doc="leader", children=[option_20, option_21, option_22], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="general1", doc="general1", children=[optiondescription_15, optiondescription_19], properties=frozenset({"normal"}))
+optiondescription_26 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_12, optiondescription_14], properties=frozenset({"normal"}))
+optiondescription_25 = OptionDescription(name="2", doc="2", children=[optiondescription_26])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_25])
diff --git a/tests/dictionaries_old/10leadership_multi/xml/00-base.xml b/tests/dictionaries_old/10leadership_multi/xml/00-base.xml
new file mode 100644
index 000000000..3ec72723f
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_multi/xml/00-base.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ follower1
+ follower2
+
+
+
diff --git a/tests/dictionaries_old/10leadership_multi/yml/00-base.yml b/tests/dictionaries_old/10leadership_multi/yml/00-base.yml
new file mode 100644
index 000000000..218e5ba74
--- /dev/null
+++ b/tests/dictionaries_old/10leadership_multi/yml/00-base.yml
@@ -0,0 +1,58 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general1
+ variables:
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+ - name: leader1
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader1
+ type: string
+ description: leader
+ multi: true
+ - name: follower11
+ type: string
+ description: follower1
+ - name: follower21
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: follower1
+ target:
+ - text: follower2
diff --git a/tests/dictionaries_old/10load_disabled_if_in/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in/00-base.xml
deleted file mode 100644
index b9d716872..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in/result/rougail/00-base.yml
new file mode 100644
index 000000000..354f25437
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in/result/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in/tiramisu/base.py
index fc43347fd..78c59ae31 100644
--- a/tests/dictionaries_old/10load_disabled_if_in/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_disabled_if_in/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in/tiramisu/multi.py
new file mode 100644
index 000000000..15b3e1b4a
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_disabled_if_in/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in/xml/00-base.xml
new file mode 100644
index 000000000..82a7a1c5b
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in/yml/00-base.yml
new file mode 100644
index 000000000..2f0a21761
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in/yml/00-base.yml
@@ -0,0 +1,34 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_disabled_if_in_fill/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_fill/00-base.xml
deleted file mode 100644
index 4488de320..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_fill/00-base.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
- no
-
-
-
-
-
-
-
- no
- variable1
-
-
- variable1
- variable2
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_fill/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_fill/result/rougail/00-base.yml
new file mode 100644
index 000000000..5cd994089
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_fill/result/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ condition:
+ type: string
+ default: 'no'
+ variable1:
+ type: string
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "no" %}true{% else %}false{% endif
+ %}'
+ variable2:
+ type: string
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.variable1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_fill/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_fill/tiramisu/base.py
index c0133d420..49ee41039 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_fill/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_fill/tiramisu/base.py
@@ -1,19 +1,61 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.variable2'] = "{{ rougail.general.variable1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="variable1", doc="variable1", properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("no")}))}))
-option_5 = StrOption(name="variable2", doc="variable2", default=Calculation(func.calc_val, Params((ParamOption(option_4, notraisepropertyerror=True)))), properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="variable1", doc="variable1", properties=frozenset({"normal"}))
+option_5 = StrOption(name="variable2", doc="variable2", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.variable2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), 'rougail.general.variable1': ParamOption(option_4)})), properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_fill/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_fill/tiramisu/multi.py
new file mode 100644
index 000000000..6f976df89
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_fill/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="variable1", doc="variable1", properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("no")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="variable2", doc="variable2", default=Calculation(func.calc_val, Params((ParamOption(option_3, notraisepropertyerror=True)))), properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="variable1", doc="variable1", properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("no")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="variable2", doc="variable2", default=Calculation(func.calc_val, Params((ParamOption(option_7, notraisepropertyerror=True)))), properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_fill/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_fill/xml/00-base.xml
new file mode 100644
index 000000000..36309a43a
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_fill/xml/00-base.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+ no
+
+
+
+
+
+
+
+ no
+ variable1
+
+
+ variable1
+ variable2
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_fill/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_fill/yml/00-base.yml
new file mode 100644
index 000000000..b9d6167a2
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_fill/yml/00-base.yml
@@ -0,0 +1,31 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ value:
+ - text: 'no'
+ - name: variable1
+ type: string
+ - name: variable2
+ type: string
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: 'no'
+ target:
+ - type: variable
+ text: variable1
+ fill:
+ - name: calc_val
+ param:
+ - type: variable
+ propertyerror: false
+ text: variable1
+ target:
+ - text: variable2
diff --git a/tests/dictionaries_old/10load_disabled_if_in_list_optional/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_list_optional/00-base.xml
deleted file mode 100644
index 51927ae8f..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_list_optional/00-base.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
- True
- unknown
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_list_optional/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_list_optional/result/rougail/00-base.yml
new file mode 100644
index 000000000..5b42c2211
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_list_optional/result/rougail/00-base.yml
@@ -0,0 +1,3 @@
+condition:
+ type: boolean
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_list_optional/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_list_optional/tiramisu/base.py
index 5dc5d1c29..7dc3fc4b3 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_list_optional/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_list_optional/tiramisu/base.py
@@ -1,16 +1,28 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_list_optional/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_list_optional/tiramisu/multi.py
new file mode 100644
index 000000000..9f8efbee3
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_list_optional/tiramisu/multi.py
@@ -0,0 +1,32 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="1", doc="1", children=[optiondescription_4])
+option_2 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="2", doc="2", children=[optiondescription_6])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3, optiondescription_5])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_list_optional/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_list_optional/xml/00-base.xml
new file mode 100644
index 000000000..706dac54a
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_list_optional/xml/00-base.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+ True
+ unknown
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_list_optional/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_list_optional/yml/00-base.yml
new file mode 100644
index 000000000..43ac8fcc4
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_list_optional/yml/00-base.yml
@@ -0,0 +1,15 @@
+version: '0.10'
+variables:
+- variable:
+ - name: condition
+ type: boolean
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: true
+ target:
+ - type: filelist
+ optional: true
+ text: unknown
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param/00-base.xml
deleted file mode 100644
index e24812055..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param/00-base.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- maybe
- mode_conteneur_actif
- mode_conteneur_actif2
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/after.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/after.json
index 465294dd5..a3d4412e4 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/after.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/after.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/base.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/base.json
index f4ceb0460..8ad0ec0ae 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/base.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/base.json
@@ -2,8 +2,9 @@
"rougail.general.condition": "non",
"rougail.general.mode_conteneur_actif": "non",
"rougail.general.mode_conteneur_actif2": "non",
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/before.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/before.json
index 465294dd5..a3d4412e4 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/before.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param/makedict/before.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param/result/rougail/00-base.yml
new file mode 100644
index 000000000..bd5a3dffd
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param/result/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param/result/services/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param/result/services/00-base.yml
new file mode 100644
index 000000000..6abe5cc6a
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param/tiramisu/base.py
index 8557c23f5..34afed93f 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue(["oui", "maybe"]), 'condition_operator': ParamValue("OR")})))
-option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11])
-option_9.impl_set_information('source', "file1")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file1")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param/tiramisu/multi.py
new file mode 100644
index 000000000..5651ec2f4
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_14 = StrOption(name="source", doc="source", default="file1")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue(["oui", "maybe"]), 'condition_operator': ParamValue("OR")})))
+optiondescription_11 = OptionDescription(name="file1", doc="file1", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_21 = StrOption(name="source", doc="source", default="file1")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue(["oui", "maybe"]), 'condition_operator': ParamValue("OR")})))
+optiondescription_18 = OptionDescription(name="file1", doc="file1", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param/xml/00-base.xml
new file mode 100644
index 000000000..114b6977d
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param/xml/00-base.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ /tmp/file1
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ maybe
+ mode_conteneur_actif
+ mode_conteneur_actif2
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param/yml/00-base.yml
new file mode 100644
index 000000000..2e52b6994
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ - text: maybe
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/00-base.xml
deleted file mode 100644
index 484e19178..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/00-base.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
- no
-
-
- no
-
-
- no
-
-
-
-
-
- yes
- maybe
- test_variable
- afilllist
-
-
- yes
- maybe
- test_variable
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/after.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/after.json
index c95490833..aaaf7a7ef 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/after.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/after.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "no"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/base.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/base.json
index 16da02ea2..3c6640c01 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/base.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/base.json
@@ -2,8 +2,9 @@
"rougail.general.condition": "no",
"rougail.general.condition2": "no",
"rougail.general.test_variable": "no",
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/before.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/before.json
index c95490833..aaaf7a7ef 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/before.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/makedict/before.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "no"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/result/rougail/00-base.yml
new file mode 100644
index 000000000..2f360f004
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/result/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'no'
+ condition2:
+ type: string
+ description: No change
+ default: 'no'
+ test_variable:
+ type: string
+ description: No change
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition2 == "yes" or rougail.general.condition2
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/result/services/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/result/services/00-base.yml
new file mode 100644
index 000000000..beb053e5c
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "yes" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/tiramisu/base.py
index 15c079ec7..5d32ed4c3 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="condition2", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("yes")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("yes")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_5 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_4, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
-option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11])
-option_9.impl_set_information('source', "file1")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file1")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/tiramisu/multi.py
new file mode 100644
index 000000000..1173a2a22
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition2", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_14 = StrOption(name="source", doc="source", default="file1")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_3, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
+optiondescription_11 = OptionDescription(name="file1", doc="file1", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="condition2", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_21 = StrOption(name="source", doc="source", default="file1")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_7, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
+optiondescription_18 = OptionDescription(name="file1", doc="file1", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/xml/00-base.xml
new file mode 100644
index 000000000..802fd8f18
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/xml/00-base.xml
@@ -0,0 +1,35 @@
+
+
+
+
+ /tmp/file1
+
+
+
+
+
+ no
+
+
+ no
+
+
+ no
+
+
+
+
+
+ yes
+ maybe
+ test_variable
+ afilllist
+
+
+ yes
+ maybe
+ test_variable
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param2/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/yml/00-base.yml
new file mode 100644
index 000000000..bbef7e2bd
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param2/yml/00-base.yml
@@ -0,0 +1,50 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: 'no'
+ - name: condition2
+ type: string
+ description: No change
+ value:
+ - text: 'no'
+ - name: test_variable
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: 'no'
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: 'yes'
+ - text: maybe
+ target:
+ - type: variable
+ text: test_variable
+ - type: filelist
+ text: afilllist
+ - name: disabled_if_in
+ source: condition2
+ param:
+ - text: 'yes'
+ - text: maybe
+ target:
+ - type: variable
+ text: test_variable
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/00-base.xml
deleted file mode 100644
index 6162a26ef..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/00-base.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
- no
-
-
- no
-
-
- no
-
-
-
-
-
- yes
- maybe
- test_variable
- afilllist
-
-
- yes
- maybe
- test_variable
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/after.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/after.json
index fd86985c2..a2921bc75 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/after.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/after.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "no"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/base.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/base.json
index 2d19d40ad..64c16aabf 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/base.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/base.json
@@ -1,8 +1,9 @@
{
"rougail.general.condition": "no",
"rougail.general.condition2": "no",
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": false,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/before.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/before.json
index fd86985c2..a2921bc75 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/before.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/makedict/before.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "no"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/result/rougail/00-base.yml
new file mode 100644
index 000000000..2f360f004
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/result/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'no'
+ condition2:
+ type: string
+ description: No change
+ default: 'no'
+ test_variable:
+ type: string
+ description: No change
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition2 == "yes" or rougail.general.condition2
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/result/services/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/result/services/00-base.yml
new file mode 100644
index 000000000..16c140073
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "yes" or rougail.general.condition
+ == "maybe" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/tiramisu/base.py
index 416c706c7..5d32ed4c3 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="condition2", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("yes")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_5 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_4, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
-option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11])
-option_9.impl_set_information('source', "file1")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file1")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/tiramisu/multi.py
new file mode 100644
index 000000000..52afdbc39
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition2", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_14 = StrOption(name="source", doc="source", default="file1")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_3, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
+optiondescription_11 = OptionDescription(name="file1", doc="file1", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="condition2", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_21 = StrOption(name="source", doc="source", default="file1")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_7, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
+optiondescription_18 = OptionDescription(name="file1", doc="file1", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/xml/00-base.xml
new file mode 100644
index 000000000..5bf93c031
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/xml/00-base.xml
@@ -0,0 +1,35 @@
+
+
+
+
+ /tmp/file1
+
+
+
+
+
+ no
+
+
+ no
+
+
+ no
+
+
+
+
+
+ yes
+ maybe
+ test_variable
+ afilllist
+
+
+ yes
+ maybe
+ test_variable
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param3/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/yml/00-base.yml
new file mode 100644
index 000000000..fe6db7077
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param3/yml/00-base.yml
@@ -0,0 +1,50 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: 'no'
+ - name: condition2
+ type: string
+ description: No change
+ value:
+ - text: 'no'
+ - name: test_variable
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: 'no'
+constraints:
+- condition:
+ - name: disabled_if_not_in
+ source: condition
+ param:
+ - text: 'yes'
+ - text: maybe
+ target:
+ - type: variable
+ text: test_variable
+ - type: filelist
+ text: afilllist
+ - name: disabled_if_in
+ source: condition2
+ param:
+ - text: 'yes'
+ - text: maybe
+ target:
+ - type: variable
+ text: test_variable
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/00-base.xml
deleted file mode 100644
index efd763d3b..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/00-base.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
- yes
-
-
- no
-
-
- no
-
-
-
-
-
- yes
- maybe
- test_variable
- afilllist
-
-
- yes
- maybe
- test_variable
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/after.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/after.json
index 15742a7a0..211d4d153 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/after.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/after.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "no"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/base.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/base.json
index 728fe8b48..5a9fd2a82 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/base.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/base.json
@@ -1,8 +1,9 @@
{
"rougail.general.condition": "yes",
"rougail.general.condition2": "no",
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/before.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/before.json
index 15742a7a0..211d4d153 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/before.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/makedict/before.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "no"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/result/rougail/00-base.yml
new file mode 100644
index 000000000..8f2300cd1
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/result/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'yes'
+ condition2:
+ type: string
+ description: No change
+ default: 'no'
+ test_variable:
+ type: string
+ description: No change
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition2 == "yes" or rougail.general.condition2
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/result/services/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/result/services/00-base.yml
new file mode 100644
index 000000000..16c140073
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "yes" or rougail.general.condition
+ == "maybe" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/tiramisu/base.py
index 43c2c0465..1da09885b 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="condition2", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("yes")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_5 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_4, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
-option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11])
-option_9.impl_set_information('source', "file1")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file1")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/tiramisu/multi.py
new file mode 100644
index 000000000..b51c8e069
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition2", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_14 = StrOption(name="source", doc="source", default="file1")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_3, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
+optiondescription_11 = OptionDescription(name="file1", doc="file1", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="condition2", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_21 = StrOption(name="source", doc="source", default="file1")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_7, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
+optiondescription_18 = OptionDescription(name="file1", doc="file1", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/xml/00-base.xml
new file mode 100644
index 000000000..e0bc55974
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/xml/00-base.xml
@@ -0,0 +1,35 @@
+
+
+
+
+ /tmp/file1
+
+
+
+
+
+ yes
+
+
+ no
+
+
+ no
+
+
+
+
+
+ yes
+ maybe
+ test_variable
+ afilllist
+
+
+ yes
+ maybe
+ test_variable
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param4/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/yml/00-base.yml
new file mode 100644
index 000000000..bc69cb994
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param4/yml/00-base.yml
@@ -0,0 +1,50 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: 'yes'
+ - name: condition2
+ type: string
+ description: No change
+ value:
+ - text: 'no'
+ - name: test_variable
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: 'no'
+constraints:
+- condition:
+ - name: disabled_if_not_in
+ source: condition
+ param:
+ - text: 'yes'
+ - text: maybe
+ target:
+ - type: variable
+ text: test_variable
+ - type: filelist
+ text: afilllist
+ - name: disabled_if_in
+ source: condition2
+ param:
+ - text: 'yes'
+ - text: maybe
+ target:
+ - type: variable
+ text: test_variable
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/00-base.xml
deleted file mode 100644
index 927f5011a..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/00-base.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
- yes
-
-
- yes
-
-
- no
-
-
-
-
-
- yes
- maybe
- test_variable
- afilllist
-
-
- yes
- maybe
- test_variable
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/after.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/after.json
index dfe546f17..69823bd01 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/after.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/after.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "yes"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/base.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/base.json
index 3c256d760..d35d8f6eb 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/base.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/base.json
@@ -1,8 +1,9 @@
{
"rougail.general.condition": "yes",
"rougail.general.condition2": "yes",
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": false,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/before.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/before.json
index dfe546f17..69823bd01 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/before.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/makedict/before.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "yes"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/result/rougail/00-base.yml
new file mode 100644
index 000000000..1953204c3
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/result/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'yes'
+ condition2:
+ type: string
+ description: No change
+ default: 'yes'
+ test_variable:
+ type: string
+ description: No change
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition2 == "yes" or rougail.general.condition2
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/result/services/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/result/services/00-base.yml
new file mode 100644
index 000000000..16c140073
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "yes" or rougail.general.condition
+ == "maybe" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/tiramisu/base.py
index 9daebb2f3..228fb75a8 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="condition2", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("yes")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_5 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_4, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
-option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11])
-option_9.impl_set_information('source', "file1")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file1")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/tiramisu/multi.py
new file mode 100644
index 000000000..7995ce6a8
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition2", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_14 = StrOption(name="source", doc="source", default="file1")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_3, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
+optiondescription_11 = OptionDescription(name="file1", doc="file1", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="condition2", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_21 = StrOption(name="source", doc="source", default="file1")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_7, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
+optiondescription_18 = OptionDescription(name="file1", doc="file1", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/xml/00-base.xml
new file mode 100644
index 000000000..5d12e44a7
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/xml/00-base.xml
@@ -0,0 +1,35 @@
+
+
+
+
+ /tmp/file1
+
+
+
+
+
+ yes
+
+
+ yes
+
+
+ no
+
+
+
+
+
+ yes
+ maybe
+ test_variable
+ afilllist
+
+
+ yes
+ maybe
+ test_variable
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param5/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/yml/00-base.yml
new file mode 100644
index 000000000..b27ed01ee
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param5/yml/00-base.yml
@@ -0,0 +1,50 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: 'yes'
+ - name: condition2
+ type: string
+ description: No change
+ value:
+ - text: 'yes'
+ - name: test_variable
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: 'no'
+constraints:
+- condition:
+ - name: disabled_if_not_in
+ source: condition
+ param:
+ - text: 'yes'
+ - text: maybe
+ target:
+ - type: variable
+ text: test_variable
+ - type: filelist
+ text: afilllist
+ - name: disabled_if_in
+ source: condition2
+ param:
+ - text: 'yes'
+ - text: maybe
+ target:
+ - type: variable
+ text: test_variable
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/00-base.xml
deleted file mode 100644
index 260193cd2..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/00-base.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
- no
-
-
- yes
-
-
- no
-
-
-
-
-
- yes
- maybe
- test_variable
- afilllist
-
-
- yes
- maybe
- test_variable
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/after.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/after.json
index 1085d3ec8..2a9c2ffec 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/after.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/after.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "yes"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/base.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/base.json
index 089759dcd..e6b129e97 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/base.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/base.json
@@ -1,8 +1,9 @@
{
"rougail.general.condition": "no",
"rougail.general.condition2": "yes",
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": false,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/before.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/before.json
index 1085d3ec8..2a9c2ffec 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/before.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/makedict/before.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "yes"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/result/rougail/00-base.yml
new file mode 100644
index 000000000..c610e80d4
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/result/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'no'
+ condition2:
+ type: string
+ description: No change
+ default: 'yes'
+ test_variable:
+ type: string
+ description: No change
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition2 == "yes" or rougail.general.condition2
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/result/services/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/result/services/00-base.yml
new file mode 100644
index 000000000..16c140073
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "yes" or rougail.general.condition
+ == "maybe" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/tiramisu/base.py
index a3bb9fa7c..132f89090 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="condition2", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("yes")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_5 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_4, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
-option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11])
-option_9.impl_set_information('source', "file1")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file1")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/tiramisu/multi.py
new file mode 100644
index 000000000..e9c0493f4
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition2", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_14 = StrOption(name="source", doc="source", default="file1")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_3, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
+optiondescription_11 = OptionDescription(name="file1", doc="file1", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="condition2", doc="No change", default="yes", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="test_variable", doc="No change", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("yes"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("maybe"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("yes")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_21 = StrOption(name="source", doc="source", default="file1")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue(["yes", "maybe"]), 'reverse_condition_0': ParamValue(True), 'condition_operator': ParamValue("OR"), 'condition_1': ParamOption(option_7, notraisepropertyerror=True), 'expected_1': ParamValue(["yes", "maybe"])})))
+optiondescription_18 = OptionDescription(name="file1", doc="file1", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/xml/00-base.xml
new file mode 100644
index 000000000..0898e5dfa
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/xml/00-base.xml
@@ -0,0 +1,35 @@
+
+
+
+
+ /tmp/file1
+
+
+
+
+
+ no
+
+
+ yes
+
+
+ no
+
+
+
+
+
+ yes
+ maybe
+ test_variable
+ afilllist
+
+
+ yes
+ maybe
+ test_variable
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param6/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/yml/00-base.yml
new file mode 100644
index 000000000..2e7bd8fb4
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param6/yml/00-base.yml
@@ -0,0 +1,50 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: 'no'
+ - name: condition2
+ type: string
+ description: No change
+ value:
+ - text: 'yes'
+ - name: test_variable
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: 'no'
+constraints:
+- condition:
+ - name: disabled_if_not_in
+ source: condition
+ param:
+ - text: 'yes'
+ - text: maybe
+ target:
+ - type: variable
+ text: test_variable
+ - type: filelist
+ text: afilllist
+ - name: disabled_if_in
+ source: condition2
+ param:
+ - text: 'yes'
+ - text: maybe
+ target:
+ - type: variable
+ text: test_variable
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/00-base.xml
deleted file mode 100644
index 08b06a1ac..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/00-base.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
- oui
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- maybe
- mode_conteneur_actif
- mode_conteneur_actif2
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/after.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/after.json
index 3d60ca6a6..44d5addf3 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/after.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/after.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/base.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/base.json
index 0190e5015..c66c2d1a2 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/base.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/base.json
@@ -1,7 +1,8 @@
{
"rougail.general.condition": "oui",
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": false,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/before.json b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/before.json
index 3d60ca6a6..44d5addf3 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/before.json
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/makedict/before.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/result/rougail/00-base.yml
new file mode 100644
index 000000000..7aff4ee1f
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/result/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: oui
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/result/services/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/result/services/00-base.yml
new file mode 100644
index 000000000..6abe5cc6a
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "maybe" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/tiramisu/base.py
index 0bd8f43d1..21a84718c 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("maybe")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue(["oui", "maybe"]), 'condition_operator': ParamValue("OR")})))
-option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11])
-option_9.impl_set_information('source', "file1")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file1")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/tiramisu/multi.py
new file mode 100644
index 000000000..91d2a02ad
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_14 = StrOption(name="source", doc="source", default="file1")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue(["oui", "maybe"]), 'condition_operator': ParamValue("OR")})))
+optiondescription_11 = OptionDescription(name="file1", doc="file1", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("maybe")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_21 = StrOption(name="source", doc="source", default="file1")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue(["oui", "maybe"]), 'condition_operator': ParamValue("OR")})))
+optiondescription_18 = OptionDescription(name="file1", doc="file1", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/xml/00-base.xml
new file mode 100644
index 000000000..77829939d
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/xml/00-base.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ /tmp/file1
+
+
+
+
+
+ oui
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ maybe
+ mode_conteneur_actif
+ mode_conteneur_actif2
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/yml/00-base.yml
new file mode 100644
index 000000000..506ee60d6
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_multi_param_disabled/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: oui
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ - text: maybe
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/10load_disabled_if_in_none/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_none/00-base.xml
deleted file mode 100644
index 800f3a579..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_none/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
-
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_none/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_none/result/rougail/00-base.yml
new file mode 100644
index 000000000..70b006087
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_none/result/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == null %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == null %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_none/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_none/tiramisu/base.py
index d20799682..78c59ae31 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_none/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_none/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue(None)}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue(None)}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_none/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_none/tiramisu/multi.py
new file mode 100644
index 000000000..9e0aa89cc
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_none/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue(None)}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue(None)}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue(None)}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue(None)}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_none/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_none/xml/00-base.xml
new file mode 100644
index 000000000..68f058cda
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_none/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_none/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_none/yml/00-base.yml
new file mode 100644
index 000000000..5d3e8d173
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_none/yml/00-base.yml
@@ -0,0 +1,34 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - type: nil
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_disabled_if_in_twice/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_twice/00-base.xml
deleted file mode 100644
index 62b61a966..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_twice/00-base.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
- no
-
-
- no
-
-
- no
-
-
-
-
- no
- my_var2
-
-
- no
- my_var3
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_twice/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_twice/result/rougail/00-base.yml
new file mode 100644
index 000000000..4478f1cd3
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_twice/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+my_var1:
+ default: 'no'
+my_var2:
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.my_var1 == "no" %}true{% else %}false{% endif %}'
+my_var3:
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.my_var2 == "no" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_twice/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_twice/tiramisu/base.py
index 4383b5944..2de6b07e9 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_twice/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_twice/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = StrOption(name="my_var1", doc="my_var1", default="no", properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="my_var2", doc="my_var2", default="no", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, todict=True, notraisepropertyerror=True), 'expected': ParamValue("no")}))}))
-option_4 = StrOption(name="my_var3", doc="my_var3", default="no", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("no")}))}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_3 = StrOption(name="my_var2", doc="my_var2", default="no", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="my_var3", doc="my_var3", default="no", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_twice/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_twice/tiramisu/multi.py
new file mode 100644
index 000000000..efc299a5e
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_twice/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = StrOption(name="my_var1", doc="my_var1", default="no", properties=frozenset({"mandatory", "normal"}))
+option_2 = StrOption(name="my_var2", doc="my_var2", default="no", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_1, notraisepropertyerror=True), 'expected': ParamValue("no")}), func.calc_value_property_help)}))
+option_3 = StrOption(name="my_var3", doc="my_var3", default="no", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("no")}), func.calc_value_property_help)}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_4 = StrOption(name="my_var1", doc="my_var1", default="no", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="my_var2", doc="my_var2", default="no", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, notraisepropertyerror=True), 'expected': ParamValue("no")}), func.calc_value_property_help)}))
+option_6 = StrOption(name="my_var3", doc="my_var3", default="no", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_5, notraisepropertyerror=True), 'expected': ParamValue("no")}), func.calc_value_property_help)}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_twice/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_twice/xml/00-base.xml
new file mode 100644
index 000000000..56d38602a
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_twice/xml/00-base.xml
@@ -0,0 +1,24 @@
+
+
+
+
+ no
+
+
+ no
+
+
+ no
+
+
+
+
+ no
+ my_var2
+
+
+ no
+ my_var3
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_twice/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_twice/yml/00-base.yml
new file mode 100644
index 000000000..b3dc6f11d
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_twice/yml/00-base.yml
@@ -0,0 +1,28 @@
+version: '0.10'
+variables:
+- variable:
+ - name: my_var1
+ value:
+ - text: 'no'
+ - name: my_var2
+ value:
+ - text: 'no'
+ - name: my_var3
+ value:
+ - text: 'no'
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: my_var1
+ param:
+ - text: 'no'
+ target:
+ - type: variable
+ text: my_var2
+ - name: disabled_if_in
+ source: my_var2
+ param:
+ - text: 'no'
+ target:
+ - type: variable
+ text: my_var3
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_variable/00-base.xml
deleted file mode 100644
index 72bcbb58b..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_variable/00-base.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
- tous
-
-
- tous
-
-
- non
-
-
-
-
-
- tous
- authentifié
- aucun
- condition
-
-
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_variable/result/rougail/00-base.yml
new file mode 100644
index 000000000..439424a4a
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_variable/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: tous
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == rougail.general.mode_conteneur_actif
+ %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_variable/tiramisu/base.py
index 911814f15..18e6327f8 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_variable/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_variable/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="tous", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamOption(option_4)}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_variable/tiramisu/multi.py
new file mode 100644
index 000000000..0575d9ac9
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_variable/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="tous", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamOption(option_3)}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="tous", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamOption(option_7)}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_variable/xml/00-base.xml
new file mode 100644
index 000000000..c012eb433
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_variable/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ tous
+ tous
+ authentifié
+ aucun
+
+
+ tous
+
+
+ non
+
+
+
+
+
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_variable/yml/00-base.yml
new file mode 100644
index 000000000..676b05409
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_variable/yml/00-base.yml
@@ -0,0 +1,39 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: choice
+ description: No change
+ value:
+ - type: string
+ text: tous
+ choice:
+ - type: string
+ text: tous
+ - type: string
+ text: "authentifi\xE9"
+ - type: string
+ text: aucun
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: tous
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - type: variable
+ text: mode_conteneur_actif
+ target:
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable2/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_variable2/00-base.xml
deleted file mode 100644
index 8ffd2b0f4..000000000
--- a/tests/dictionaries_old/10load_disabled_if_in_variable2/00-base.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
- tous
-
-
- aucun
-
-
- non
-
-
-
-
-
- tous
- authentifié
- aucun
- condition
-
-
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable2/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_variable2/result/rougail/00-base.yml
new file mode 100644
index 000000000..7df5d7b3e
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_variable2/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: aucun
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == rougail.general.mode_conteneur_actif
+ %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable2/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_in_variable2/tiramisu/base.py
index e4ad9ae98..7d18ae234 100644
--- a/tests/dictionaries_old/10load_disabled_if_in_variable2/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_in_variable2/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="aucun", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamOption(option_4)}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable2/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_in_variable2/tiramisu/multi.py
new file mode 100644
index 000000000..c1a9e346f
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_variable2/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="aucun", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamOption(option_3)}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="aucun", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamOption(option_7)}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable2/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_in_variable2/xml/00-base.xml
new file mode 100644
index 000000000..7d10125bb
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_variable2/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ tous
+ tous
+ authentifié
+ aucun
+
+
+ aucun
+
+
+ non
+
+
+
+
+
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_in_variable2/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_in_variable2/yml/00-base.yml
new file mode 100644
index 000000000..4c58c2b42
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_in_variable2/yml/00-base.yml
@@ -0,0 +1,39 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: choice
+ description: No change
+ value:
+ - type: string
+ text: tous
+ choice:
+ - type: string
+ text: tous
+ - type: string
+ text: "authentifi\xE9"
+ - type: string
+ text: aucun
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: aucun
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - type: variable
+ text: mode_conteneur_actif
+ target:
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/00-base.xml b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/00-base.xml
deleted file mode 100644
index 71ba8102a..000000000
--- a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
- no
-
-
- no
-
-
-
-
-
- no
- disable_variable
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/after.json b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/after.json
index 4fc26870c..d89acf031 100644
--- a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/after.json
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/after.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "no"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/base.json b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/base.json
index 431665f1e..6ee77b6f6 100644
--- a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/base.json
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/base.json
@@ -1,8 +1,9 @@
{
"rougail.general.condition": "no",
"rougail.general.disable_variable": "no",
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/before.json b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/before.json
index 4fc26870c..d89acf031 100644
--- a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/before.json
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/makedict/before.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "no"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/result/rougail/00-base.yml
new file mode 100644
index 000000000..f1987cb8d
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: 'no'
+ disable_variable:
+ type: string
+ description: No change
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if __unknown == "no" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/result/services/00-base.yml b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/result/services/00-base.yml
new file mode 100644
index 000000000..a74358c25
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/result/services/00-base.yml
@@ -0,0 +1,7 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if __unknown == "no" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/tiramisu/base.py
index 5c1982e2e..2052009a1 100644
--- a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/tiramisu/base.py
@@ -1,27 +1,40 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="disable_variable", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_9 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-option_8 = OptionDescription(name="file1", doc="file1", children=[option_9, option_10])
-option_8.impl_set_information('source', "file1")
-option_7 = OptionDescription(name="files", doc="files", children=[option_8])
+option_10 = FilenameOption(name="source", doc="source", default="/tmp/file1")
option_11 = BoolOption(name="activate", doc="activate", default=True)
-option_12 = BoolOption(name="manage", doc="manage", default=True)
-option_6 = OptionDescription(name="test", doc="test", children=[option_7, option_11, option_12])
-option_5 = OptionDescription(name="services", doc="services", children=[option_6], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5])
+optiondescription_8 = OptionDescription(name="file1", doc="file1", children=[option_9, option_10, option_11])
+optiondescription_7 = OptionDescription(name="files", doc="files", children=[optiondescription_8])
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+option_13 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_6 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_7, option_12, option_13])
+optiondescription_6.impl_set_information('type', "service")
+optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/tiramisu/multi.py
new file mode 100644
index 000000000..acca3b2cd
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/tiramisu/multi.py
@@ -0,0 +1,56 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="disable_variable", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_22 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_11 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_12 = StrOption(name="source", doc="source", default="file1")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_9 = OptionDescription(name="file1", doc="file1", children=[option_11, option_12, option_10])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_7 = BoolOption(name="activate", doc="activate", default=True)
+option_13 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_24 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_8, option_7, option_13])
+optiondescription_24.impl_set_information('type', "service")
+optiondescription_23 = OptionDescription(name="services", doc="services", children=[optiondescription_24], properties=frozenset({"hidden"}))
+optiondescription_21 = OptionDescription(name="1", doc="1", children=[optiondescription_22, optiondescription_23])
+option_5 = StrOption(name="condition", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="disable_variable", doc="No change", default="no", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_26 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+option_18 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_19 = StrOption(name="source", doc="source", default="file1")
+option_17 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_16 = OptionDescription(name="file1", doc="file1", children=[option_18, option_19, option_17])
+optiondescription_15 = OptionDescription(name="files", doc="files", children=[optiondescription_16])
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+option_20 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_28 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_15, option_14, option_20])
+optiondescription_28.impl_set_information('type', "service")
+optiondescription_27 = OptionDescription(name="services", doc="services", children=[optiondescription_28], properties=frozenset({"hidden"}))
+optiondescription_25 = OptionDescription(name="2", doc="2", children=[optiondescription_26, optiondescription_27])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_21, optiondescription_25])
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/xml/00-base.xml
new file mode 100644
index 000000000..bc1bca988
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+ /tmp/file1
+
+
+
+
+
+ no
+
+
+ no
+
+
+
+
+
+ no
+ disable_variable
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/yml/00-base.yml
new file mode 100644
index 000000000..cc91370c6
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback/yml/00-base.yml
@@ -0,0 +1,34 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: 'no'
+ - name: disable_variable
+ type: string
+ description: No change
+ value:
+ - text: 'no'
+constraints:
+- condition:
+ - name: disabled_if_not_in
+ source: unknown
+ optional: true
+ param:
+ - text: 'no'
+ target:
+ - type: variable
+ text: disable_variable
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/00-base.xml b/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/00-base.xml
deleted file mode 100644
index 9946d5791..000000000
--- a/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/00-base.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
- afilllist
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/result/rougail/00-base.yml
new file mode 100644
index 000000000..df2bf7dbf
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/result/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __activer_client_ldap == "non" %}false{% else %}true{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled: true
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/tiramisu/base.py b/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/tiramisu/base.py
index d464e8b83..62f45f618 100644
--- a/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/tiramisu/multi.py b/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/tiramisu/multi.py
new file mode 100644
index 000000000..610858500
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/xml/00-base.xml b/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/xml/00-base.xml
new file mode 100644
index 000000000..13f876649
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/xml/00-base.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+ afilllist
+
+
+ non
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/yml/00-base.yml b/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/yml/00-base.yml
new file mode 100644
index 000000000..3efb01e4c
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabled_if_not_in_fallback_force/yml/00-base.yml
@@ -0,0 +1,44 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_not_in
+ source: unknown
+ apply_on_fallback: true
+ optional: true
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ - type: filelist
+ text: afilllist
+ - name: disabled_if_not_in
+ source: activer_client_ldap
+ optional: true
+ param:
+ - text: non
+ target:
+ - type: variable
+ text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback/00-base.xml b/tests/dictionaries_old/10load_disabledifin_fallback/00-base.xml
deleted file mode 100644
index 8a0518386..000000000
--- a/tests/dictionaries_old/10load_disabledifin_fallback/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabledifin_fallback/result/rougail/00-base.yml
new file mode 100644
index 000000000..91d61f007
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_fallback/result/rougail/00-base.yml
@@ -0,0 +1,21 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __activer_client_ldap == "non" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback/tiramisu/base.py b/tests/dictionaries_old/10load_disabledifin_fallback/tiramisu/base.py
index a120d604a..df50a1d9a 100644
--- a/tests/dictionaries_old/10load_disabledifin_fallback/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabledifin_fallback/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback/tiramisu/multi.py b/tests/dictionaries_old/10load_disabledifin_fallback/tiramisu/multi.py
new file mode 100644
index 000000000..a06f22fa1
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_fallback/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback/xml/00-base.xml b/tests/dictionaries_old/10load_disabledifin_fallback/xml/00-base.xml
new file mode 100644
index 000000000..2dcbeca39
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_fallback/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+ non
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback/yml/00-base.yml b/tests/dictionaries_old/10load_disabledifin_fallback/yml/00-base.yml
new file mode 100644
index 000000000..d6b3612f0
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_fallback/yml/00-base.yml
@@ -0,0 +1,40 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ - name: disabled_if_in
+ source: activer_client_ldap
+ optional: true
+ param:
+ - text: non
+ target:
+ - type: variable
+ text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback_force/00-base.xml b/tests/dictionaries_old/10load_disabledifin_fallback_force/00-base.xml
deleted file mode 100644
index 16602a40b..000000000
--- a/tests/dictionaries_old/10load_disabledifin_fallback_force/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback_force/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabledifin_fallback_force/result/rougail/00-base.yml
new file mode 100644
index 000000000..91d61f007
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_fallback_force/result/rougail/00-base.yml
@@ -0,0 +1,21 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __activer_client_ldap == "non" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback_force/tiramisu/base.py b/tests/dictionaries_old/10load_disabledifin_fallback_force/tiramisu/base.py
index 9071c7e76..df50a1d9a 100644
--- a/tests/dictionaries_old/10load_disabledifin_fallback_force/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabledifin_fallback_force/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback_force/tiramisu/multi.py b/tests/dictionaries_old/10load_disabledifin_fallback_force/tiramisu/multi.py
new file mode 100644
index 000000000..7ff4047ce
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_fallback_force/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback_force/xml/00-base.xml b/tests/dictionaries_old/10load_disabledifin_fallback_force/xml/00-base.xml
new file mode 100644
index 000000000..1a6fd8acb
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_fallback_force/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+ non
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/10load_disabledifin_fallback_force/yml/00-base.yml b/tests/dictionaries_old/10load_disabledifin_fallback_force/yml/00-base.yml
new file mode 100644
index 000000000..620923a05
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_fallback_force/yml/00-base.yml
@@ -0,0 +1,41 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ - name: disabled_if_in
+ source: activer_client_ldap
+ optional: true
+ apply_on_fallback: false
+ param:
+ - text: non
+ target:
+ - type: variable
+ text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/10load_disabledifin_whithouttype/00-base.xml b/tests/dictionaries_old/10load_disabledifin_whithouttype/00-base.xml
deleted file mode 100644
index c94d39491..000000000
--- a/tests/dictionaries_old/10load_disabledifin_whithouttype/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_disabledifin_whithouttype/result/rougail/00-base.yml b/tests/dictionaries_old/10load_disabledifin_whithouttype/result/rougail/00-base.yml
new file mode 100644
index 000000000..57453550e
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_whithouttype/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_disabledifin_whithouttype/tiramisu/base.py b/tests/dictionaries_old/10load_disabledifin_whithouttype/tiramisu/base.py
index 9071c7e76..df50a1d9a 100644
--- a/tests/dictionaries_old/10load_disabledifin_whithouttype/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_disabledifin_whithouttype/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_disabledifin_whithouttype/tiramisu/multi.py b/tests/dictionaries_old/10load_disabledifin_whithouttype/tiramisu/multi.py
new file mode 100644
index 000000000..7ff4047ce
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_whithouttype/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_disabledifin_whithouttype/xml/00-base.xml b/tests/dictionaries_old/10load_disabledifin_whithouttype/xml/00-base.xml
new file mode 100644
index 000000000..2af7dc7d9
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_whithouttype/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_disabledifin_whithouttype/yml/00-base.yml b/tests/dictionaries_old/10load_disabledifin_whithouttype/yml/00-base.yml
new file mode 100644
index 000000000..089fa2bc2
--- /dev/null
+++ b/tests/dictionaries_old/10load_disabledifin_whithouttype/yml/00-base.yml
@@ -0,0 +1,31 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_emptyvalue/00-base.xml b/tests/dictionaries_old/10load_emptyvalue/00-base.xml
deleted file mode 100644
index 8e7d9ed6d..000000000
--- a/tests/dictionaries_old/10load_emptyvalue/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/10load_emptyvalue/__init__.py b/tests/dictionaries_old/10load_emptyvalue/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/10load_emptyvalue/makedict/after.json b/tests/dictionaries_old/10load_emptyvalue/makedict/after.json
deleted file mode 100644
index 7539982e7..000000000
--- a/tests/dictionaries_old/10load_emptyvalue/makedict/after.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": null
- },
- "rougail.general.mode_conteneur_actif2": {
- "owner": "default",
- "value": null
- }
-}
diff --git a/tests/dictionaries_old/10load_emptyvalue/makedict/base.json b/tests/dictionaries_old/10load_emptyvalue/makedict/base.json
deleted file mode 100644
index 121c737e6..000000000
--- a/tests/dictionaries_old/10load_emptyvalue/makedict/base.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": null,
- "rougail.general.mode_conteneur_actif2": null
-}
diff --git a/tests/dictionaries_old/10load_emptyvalue/makedict/before.json b/tests/dictionaries_old/10load_emptyvalue/makedict/before.json
deleted file mode 100644
index 7539982e7..000000000
--- a/tests/dictionaries_old/10load_emptyvalue/makedict/before.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": null
- },
- "rougail.general.mode_conteneur_actif2": {
- "owner": "default",
- "value": null
- }
-}
diff --git a/tests/dictionaries_old/10load_emptyvalue/tiramisu/base.py b/tests/dictionaries_old/10load_emptyvalue/tiramisu/base.py
deleted file mode 100644
index 992b27a5e..000000000
--- a/tests/dictionaries_old/10load_emptyvalue/tiramisu/base.py
+++ /dev/null
@@ -1,18 +0,0 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
-try:
- from tiramisu4 import *
-except:
- from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", properties=frozenset({"normal"}))
-option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
diff --git a/tests/dictionaries_old/10load_frozenifin/00-base.xml b/tests/dictionaries_old/10load_frozenifin/00-base.xml
deleted file mode 100644
index 7e7959f64..000000000
--- a/tests/dictionaries_old/10load_frozenifin/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_frozenifin/result/rougail/00-base.yml b/tests/dictionaries_old/10load_frozenifin/result/rougail/00-base.yml
new file mode 100644
index 000000000..191b34379
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_frozenifin/tiramisu/base.py b/tests/dictionaries_old/10load_frozenifin/tiramisu/base.py
index ba403c195..df50a1d9a 100644
--- a/tests/dictionaries_old/10load_frozenifin/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_frozenifin/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_frozenifin/tiramisu/multi.py b/tests/dictionaries_old/10load_frozenifin/tiramisu/multi.py
new file mode 100644
index 000000000..47d705f0a
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_frozenifin/xml/00-base.xml b/tests/dictionaries_old/10load_frozenifin/xml/00-base.xml
new file mode 100644
index 000000000..bc7588156
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_frozenifin/yml/00-base.yml b/tests/dictionaries_old/10load_frozenifin/yml/00-base.yml
new file mode 100644
index 000000000..23b379e27
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin/yml/00-base.yml
@@ -0,0 +1,32 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: hidden_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_frozenifin_auto/00-base.xml b/tests/dictionaries_old/10load_frozenifin_auto/00-base.xml
deleted file mode 100644
index 1d11682ab..000000000
--- a/tests/dictionaries_old/10load_frozenifin_auto/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/10load_frozenifin_auto/result/rougail/00-base.yml b/tests/dictionaries_old/10load_frozenifin_auto/result/rougail/00-base.yml
new file mode 100644
index 000000000..c4e09ad10
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_auto/result/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_val }}'
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_frozenifin_auto/tiramisu/base.py b/tests/dictionaries_old/10load_frozenifin_auto/tiramisu/base.py
index 48f961811..55947339a 100644
--- a/tests/dictionaries_old/10load_frozenifin_auto/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_frozenifin_auto/tiramisu/base.py
@@ -1,19 +1,61 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ \"non\" | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("non")))), properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_frozenifin_auto/tiramisu/multi.py b/tests/dictionaries_old/10load_frozenifin_auto/tiramisu/multi.py
new file mode 100644
index 000000000..6fdf48f36
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_auto/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("non")))), properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("non")))), properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_frozenifin_auto/xml/00-base.xml b/tests/dictionaries_old/10load_frozenifin_auto/xml/00-base.xml
new file mode 100644
index 000000000..4fbc6af9a
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_auto/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+ non
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/10load_frozenifin_auto/yml/00-base.yml b/tests/dictionaries_old/10load_frozenifin_auto/yml/00-base.yml
new file mode 100644
index 000000000..8d5caa2aa
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_auto/yml/00-base.yml
@@ -0,0 +1,38 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: hidden_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ fill:
+ - name: calc_val
+ param:
+ - text: non
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/10load_frozenifin_multiparam/00-base.xml b/tests/dictionaries_old/10load_frozenifin_multiparam/00-base.xml
deleted file mode 100644
index 8a2d5d837..000000000
--- a/tests/dictionaries_old/10load_frozenifin_multiparam/00-base.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
- tous
-
-
- non
-
-
- non
-
-
-
-
-
- tous
- authentifié
- aucun
- condition
-
-
- tous
- authentifié
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_frozenifin_multiparam/result/rougail/00-base.yml b/tests/dictionaries_old/10load_frozenifin_multiparam/result/rougail/00-base.yml
new file mode 100644
index 000000000..56959df42
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_multiparam/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "tous" or rougail.general.condition
+ == "authentifié" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "tous" or rougail.general.condition
+ == "authentifié" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_frozenifin_multiparam/tiramisu/base.py b/tests/dictionaries_old/10load_frozenifin_multiparam/tiramisu/base.py
index b0490689c..64d305495 100644
--- a/tests/dictionaries_old/10load_frozenifin_multiparam/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_frozenifin_multiparam/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("tous")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("tous")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("tous")})), Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("authentifié")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("authentifié")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("tous")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("tous")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("tous")})), Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("authentifié")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("authentifié")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_frozenifin_multiparam/tiramisu/multi.py b/tests/dictionaries_old/10load_frozenifin_multiparam/tiramisu/multi.py
new file mode 100644
index 000000000..8c9ab3698
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_multiparam/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("tous")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("authentifié")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_frozenifin_multiparam/xml/00-base.xml b/tests/dictionaries_old/10load_frozenifin_multiparam/xml/00-base.xml
new file mode 100644
index 000000000..d05dd85d1
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_multiparam/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ tous
+ tous
+ authentifié
+ aucun
+
+
+ non
+
+
+ non
+
+
+
+
+
+ tous
+ authentifié
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_frozenifin_multiparam/yml/00-base.yml b/tests/dictionaries_old/10load_frozenifin_multiparam/yml/00-base.yml
new file mode 100644
index 000000000..5ab5e890b
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_multiparam/yml/00-base.yml
@@ -0,0 +1,41 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: choice
+ description: No change
+ value:
+ - type: string
+ text: tous
+ choice:
+ - type: string
+ text: tous
+ - type: string
+ text: "authentifi\xE9"
+ - type: string
+ text: aucun
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: hidden_if_in
+ source: condition
+ param:
+ - text: tous
+ - text: "authentifi\xE9"
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_frozenifin_noexist/00-base.xml b/tests/dictionaries_old/10load_frozenifin_noexist/00-base.xml
deleted file mode 100644
index 83cac4d60..000000000
--- a/tests/dictionaries_old/10load_frozenifin_noexist/00-base.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
- tous
-
-
- non
-
-
- non
-
-
-
-
-
- tous
- authentifié
- aucun
- condition
-
-
- oui
- non
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_frozenifin_noexist/result/rougail/00-base.yml b/tests/dictionaries_old/10load_frozenifin_noexist/result/rougail/00-base.yml
new file mode 100644
index 000000000..264aa7773
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_noexist/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}true{% else %}false{% endif %}'
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}true{% else %}false{% endif %}'
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_frozenifin_noexist/tiramisu/base.py b/tests/dictionaries_old/10load_frozenifin_noexist/tiramisu/base.py
index 6894c2595..64d305495 100644
--- a/tests/dictionaries_old/10load_frozenifin_noexist/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_frozenifin_noexist/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_frozenifin_noexist/tiramisu/multi.py b/tests/dictionaries_old/10load_frozenifin_noexist/tiramisu/multi.py
new file mode 100644
index 000000000..b53f41ee6
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_noexist/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_frozenifin_noexist/xml/00-base.xml b/tests/dictionaries_old/10load_frozenifin_noexist/xml/00-base.xml
new file mode 100644
index 000000000..0abee30e3
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_noexist/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ tous
+ tous
+ authentifié
+ aucun
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ non
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_frozenifin_noexist/yml/00-base.yml b/tests/dictionaries_old/10load_frozenifin_noexist/yml/00-base.yml
new file mode 100644
index 000000000..e8b20f13c
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_noexist/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: choice
+ description: No change
+ value:
+ - type: string
+ text: tous
+ choice:
+ - type: string
+ text: tous
+ - type: string
+ text: "authentifi\xE9"
+ - type: string
+ text: aucun
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: hidden_if_in
+ source: condition
+ param:
+ - text: oui
+ - text: non
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_frozenifin_variable/00-base.xml b/tests/dictionaries_old/10load_frozenifin_variable/00-base.xml
deleted file mode 100644
index 907f6450a..000000000
--- a/tests/dictionaries_old/10load_frozenifin_variable/00-base.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
- tous
-
-
- tous
-
-
- non
-
-
-
-
-
- tous
- authentifié
- aucun
- condition
-
-
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_frozenifin_variable/result/rougail/00-base.yml b/tests/dictionaries_old/10load_frozenifin_variable/result/rougail/00-base.yml
new file mode 100644
index 000000000..376abb295
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_variable/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: tous
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == rougail.general.mode_conteneur_actif
+ %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_frozenifin_variable/tiramisu/base.py b/tests/dictionaries_old/10load_frozenifin_variable/tiramisu/base.py
index 92f6d2f1c..18e6327f8 100644
--- a/tests/dictionaries_old/10load_frozenifin_variable/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_frozenifin_variable/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="tous", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamOption(option_4)})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamOption(option_4)})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamOption(option_4)}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_frozenifin_variable/tiramisu/multi.py b/tests/dictionaries_old/10load_frozenifin_variable/tiramisu/multi.py
new file mode 100644
index 000000000..cf4638236
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_variable/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="tous", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamOption(option_3)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamOption(option_3)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamOption(option_3)}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="tous", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamOption(option_7)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamOption(option_7)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamOption(option_7)}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_frozenifin_variable/xml/00-base.xml b/tests/dictionaries_old/10load_frozenifin_variable/xml/00-base.xml
new file mode 100644
index 000000000..6075fc780
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_variable/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ tous
+ tous
+ authentifié
+ aucun
+
+
+ tous
+
+
+ non
+
+
+
+
+
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_frozenifin_variable/yml/00-base.yml b/tests/dictionaries_old/10load_frozenifin_variable/yml/00-base.yml
new file mode 100644
index 000000000..da4504ffb
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifin_variable/yml/00-base.yml
@@ -0,0 +1,39 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: choice
+ description: No change
+ value:
+ - type: string
+ text: tous
+ choice:
+ - type: string
+ text: tous
+ - type: string
+ text: "authentifi\xE9"
+ - type: string
+ text: aucun
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: tous
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: hidden_if_in
+ source: condition
+ param:
+ - type: variable
+ text: mode_conteneur_actif
+ target:
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_frozenifnotin/00-base.xml b/tests/dictionaries_old/10load_frozenifnotin/00-base.xml
deleted file mode 100644
index cbd3f7f22..000000000
--- a/tests/dictionaries_old/10load_frozenifnotin/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_frozenifnotin/result/rougail/00-base.yml b/tests/dictionaries_old/10load_frozenifnotin/result/rougail/00-base.yml
new file mode 100644
index 000000000..30f71cedb
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifnotin/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}false{% else %}true{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}false{% else %}true{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_frozenifnotin/tiramisu/base.py b/tests/dictionaries_old/10load_frozenifnotin/tiramisu/base.py
index aabc85e9a..df50a1d9a 100644
--- a/tests/dictionaries_old/10load_frozenifnotin/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_frozenifnotin/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_frozenifnotin/tiramisu/multi.py b/tests/dictionaries_old/10load_frozenifnotin/tiramisu/multi.py
new file mode 100644
index 000000000..15b1ee754
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifnotin/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui"), 'reverse_condition': ParamValue(True)}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_frozenifnotin/xml/00-base.xml b/tests/dictionaries_old/10load_frozenifnotin/xml/00-base.xml
new file mode 100644
index 000000000..95ba47792
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifnotin/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_frozenifnotin/yml/00-base.yml b/tests/dictionaries_old/10load_frozenifnotin/yml/00-base.yml
new file mode 100644
index 000000000..ed7b404b3
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifnotin/yml/00-base.yml
@@ -0,0 +1,32 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: hidden_if_not_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_frozenifnotin_noexist/00-base.xml b/tests/dictionaries_old/10load_frozenifnotin_noexist/00-base.xml
deleted file mode 100644
index 931722a45..000000000
--- a/tests/dictionaries_old/10load_frozenifnotin_noexist/00-base.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
- tous
-
-
- non
-
-
- non
-
-
-
-
-
- tous
- authentifié
- aucun
- condition
-
-
- oui
- non
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_frozenifnotin_noexist/result/rougail/00-base.yml b/tests/dictionaries_old/10load_frozenifnotin_noexist/result/rougail/00-base.yml
new file mode 100644
index 000000000..19f7fa666
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifnotin_noexist/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}false{% else %}true{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_frozenifnotin_noexist/tiramisu/base.py b/tests/dictionaries_old/10load_frozenifnotin_noexist/tiramisu/base.py
index 6894c2595..64d305495 100644
--- a/tests/dictionaries_old/10load_frozenifnotin_noexist/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_frozenifnotin_noexist/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_frozenifnotin_noexist/tiramisu/multi.py b/tests/dictionaries_old/10load_frozenifnotin_noexist/tiramisu/multi.py
new file mode 100644
index 000000000..b53f41ee6
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifnotin_noexist/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_frozenifnotin_noexist/xml/00-base.xml b/tests/dictionaries_old/10load_frozenifnotin_noexist/xml/00-base.xml
new file mode 100644
index 000000000..3d2d8f1cb
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifnotin_noexist/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ tous
+ tous
+ authentifié
+ aucun
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ non
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_frozenifnotin_noexist/yml/00-base.yml b/tests/dictionaries_old/10load_frozenifnotin_noexist/yml/00-base.yml
new file mode 100644
index 000000000..e0b8ade7c
--- /dev/null
+++ b/tests/dictionaries_old/10load_frozenifnotin_noexist/yml/00-base.yml
@@ -0,0 +1,41 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: choice
+ description: No change
+ value:
+ - type: string
+ text: tous
+ choice:
+ - type: string
+ text: tous
+ - type: string
+ text: "authentifi\xE9"
+ - type: string
+ text: aucun
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: hidden_if_not_in
+ source: condition
+ param:
+ - text: oui
+ - text: non
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_hidden_if_empty_family/00-base.xml b/tests/dictionaries_old/10load_hidden_if_empty_family/00-base.xml
deleted file mode 100644
index d1cdaf066..000000000
--- a/tests/dictionaries_old/10load_hidden_if_empty_family/00-base.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
- general2
-
-
-
diff --git a/tests/dictionaries_old/10load_hidden_if_empty_family/result/rougail/00-base.yml b/tests/dictionaries_old/10load_hidden_if_empty_family/result/rougail/00-base.yml
new file mode 100644
index 000000000..38ba06fcb
--- /dev/null
+++ b/tests/dictionaries_old/10load_hidden_if_empty_family/result/rougail/00-base.yml
@@ -0,0 +1,29 @@
+general:
+ description: Général
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+general2:
+ description: Général2
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_hidden_if_empty_family/tiramisu/base.py b/tests/dictionaries_old/10load_hidden_if_empty_family/tiramisu/base.py
index 486244176..3d4c7a6ee 100644
--- a/tests/dictionaries_old/10load_hidden_if_empty_family/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_hidden_if_empty_family/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="Général", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="Général", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_hidden_if_empty_family/tiramisu/multi.py b/tests/dictionaries_old/10load_hidden_if_empty_family/tiramisu/multi.py
new file mode 100644
index 000000000..19beadef1
--- /dev/null
+++ b/tests/dictionaries_old/10load_hidden_if_empty_family/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="Général", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_9 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_6 = OptionDescription(name="general", doc="Général", children=[option_7, option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/10load_hidden_if_empty_family/xml/00-base.xml b/tests/dictionaries_old/10load_hidden_if_empty_family/xml/00-base.xml
new file mode 100644
index 000000000..0df3cf0e3
--- /dev/null
+++ b/tests/dictionaries_old/10load_hidden_if_empty_family/xml/00-base.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+ general2
+
+
+
diff --git a/tests/dictionaries_old/10load_hidden_if_empty_family/yml/00-base.yml b/tests/dictionaries_old/10load_hidden_if_empty_family/yml/00-base.yml
new file mode 100644
index 000000000..f35c09e26
--- /dev/null
+++ b/tests/dictionaries_old/10load_hidden_if_empty_family/yml/00-base.yml
@@ -0,0 +1,37 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "G\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general2
+ description: "G\xE9n\xE9ral2"
+constraints:
+- condition:
+ - name: hidden_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ - type: family
+ text: general2
diff --git a/tests/dictionaries_old/10load_hidden_if_family/00-base.xml b/tests/dictionaries_old/10load_hidden_if_family/00-base.xml
deleted file mode 100644
index 8442dc855..000000000
--- a/tests/dictionaries_old/10load_hidden_if_family/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
- general2
-
-
-
diff --git a/tests/dictionaries_old/10load_hidden_if_family/result/rougail/00-base.yml b/tests/dictionaries_old/10load_hidden_if_family/result/rougail/00-base.yml
new file mode 100644
index 000000000..306f00a1f
--- /dev/null
+++ b/tests/dictionaries_old/10load_hidden_if_family/result/rougail/00-base.yml
@@ -0,0 +1,34 @@
+general:
+ description: Général
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+general2:
+ description: Général2
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_hidden_if_family/tiramisu/base.py b/tests/dictionaries_old/10load_hidden_if_family/tiramisu/base.py
index aac27bf9e..0054b4d7b 100644
--- a/tests/dictionaries_old/10load_hidden_if_family/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_hidden_if_family/tiramisu/base.py
@@ -1,21 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="Général", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_7 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_6 = OptionDescription(name="general2", doc="Général2", children=[option_7], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="Général", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+option_7 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="general2", doc="Général2", children=[option_7], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_hidden_if_family/tiramisu/multi.py b/tests/dictionaries_old/10load_hidden_if_family/tiramisu/multi.py
new file mode 100644
index 000000000..cb8f57999
--- /dev/null
+++ b/tests/dictionaries_old/10load_hidden_if_family/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="Général", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general2", doc="Général2", children=[option_6], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_10 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_7 = OptionDescription(name="general", doc="Général", children=[option_8, option_9, option_10], properties=frozenset({"normal"}))
+option_12 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_11 = OptionDescription(name="general2", doc="Général2", children=[option_12], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/10load_hidden_if_family/xml/00-base.xml b/tests/dictionaries_old/10load_hidden_if_family/xml/00-base.xml
new file mode 100644
index 000000000..682bc8f39
--- /dev/null
+++ b/tests/dictionaries_old/10load_hidden_if_family/xml/00-base.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+ general2
+
+
+
diff --git a/tests/dictionaries_old/10load_hidden_if_family/yml/00-base.yml b/tests/dictionaries_old/10load_hidden_if_family/yml/00-base.yml
new file mode 100644
index 000000000..b3fd758b7
--- /dev/null
+++ b/tests/dictionaries_old/10load_hidden_if_family/yml/00-base.yml
@@ -0,0 +1,45 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "G\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general2
+ description: "G\xE9n\xE9ral2"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif3
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: hidden_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ - type: family
+ text: general2
diff --git a/tests/dictionaries_old/10load_leadership/00-base.xml b/tests/dictionaries_old/10load_leadership/00-base.xml
deleted file mode 100644
index 2b7726a56..000000000
--- a/tests/dictionaries_old/10load_leadership/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10load_leadership/makedict/after.json b/tests/dictionaries_old/10load_leadership/makedict/after.json
index f77abfc09..f7be8deb1 100644
--- a/tests/dictionaries_old/10load_leadership/makedict/after.json
+++ b/tests/dictionaries_old/10load_leadership/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.general1.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10load_leadership/makedict/before.json b/tests/dictionaries_old/10load_leadership/makedict/before.json
index f77abfc09..f7be8deb1 100644
--- a/tests/dictionaries_old/10load_leadership/makedict/before.json
+++ b/tests/dictionaries_old/10load_leadership/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.general1.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10load_leadership/result/rougail/00-base.yml b/tests/dictionaries_old/10load_leadership/result/rougail/00-base.yml
new file mode 100644
index 000000000..6e211d24a
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_leadership/tiramisu/base.py b/tests/dictionaries_old/10load_leadership/tiramisu/base.py
index 9a08a5029..510103d92 100644
--- a/tests/dictionaries_old/10load_leadership/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_leadership/tiramisu/base.py
@@ -1,22 +1,65 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general1.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general1.leader.follower2'] = "{{ rougail.general1.leader.follower1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True)
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
-option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_7)))), properties=frozenset({"normal"}))
-option_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
-option_4 = OptionDescription(name="general1", doc="general1", children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general1.leader.follower1': ParamOption(option_7)})), properties=frozenset({"normal"}))
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="general1", doc="general1", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_leadership/tiramisu/multi.py b/tests/dictionaries_old/10load_leadership/tiramisu/multi.py
new file mode 100644
index 000000000..26bdb6957
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership/tiramisu/multi.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general1", doc="general1", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9], properties=frozenset({"normal"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_13)))), properties=frozenset({"normal"}))
+optiondescription_11 = Leadership(name="leader", doc="leader", children=[option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="general1", doc="general1", children=[optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8, optiondescription_10], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="2", doc="2", children=[optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_17])
diff --git a/tests/dictionaries_old/10load_leadership/xml/00-base.xml b/tests/dictionaries_old/10load_leadership/xml/00-base.xml
new file mode 100644
index 000000000..a3614dc10
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ follower1
+ follower2
+
+
+
diff --git a/tests/dictionaries_old/10load_leadership/yml/00-base.yml b/tests/dictionaries_old/10load_leadership/yml/00-base.yml
new file mode 100644
index 000000000..1b78228fa
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general1
+ variables:
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: follower1
+ target:
+ - text: follower2
diff --git a/tests/dictionaries_old/10load_leadership_default_multi/00-base.xml b/tests/dictionaries_old/10load_leadership_default_multi/00-base.xml
deleted file mode 100644
index f84037546..000000000
--- a/tests/dictionaries_old/10load_leadership_default_multi/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
-
- value
-
-
-
-
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10load_leadership_default_multi/makedict/after.json b/tests/dictionaries_old/10load_leadership_default_multi/makedict/after.json
index bb1ba6d4a..613679936 100644
--- a/tests/dictionaries_old/10load_leadership_default_multi/makedict/after.json
+++ b/tests/dictionaries_old/10load_leadership_default_multi/makedict/after.json
@@ -8,13 +8,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10load_leadership_default_multi/makedict/before.json b/tests/dictionaries_old/10load_leadership_default_multi/makedict/before.json
index bb1ba6d4a..613679936 100644
--- a/tests/dictionaries_old/10load_leadership_default_multi/makedict/before.json
+++ b/tests/dictionaries_old/10load_leadership_default_multi/makedict/before.json
@@ -8,13 +8,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10load_leadership_default_multi/result/rougail/00-base.yml b/tests/dictionaries_old/10load_leadership_default_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..c24cb4088
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_default_multi/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default: value
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_leadership_default_multi/tiramisu/base.py b/tests/dictionaries_old/10load_leadership_default_multi/tiramisu/base.py
index 887208a93..240c7ff7e 100644
--- a/tests/dictionaries_old/10load_leadership_default_multi/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_leadership_default_multi/tiramisu/base.py
@@ -1,21 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="leader", multi=True, default=['non'], default_multi="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="leader", doc="leader", multi=True)
-option_6 = StrOption(name="follower1", doc="follower1", multi=True, default_multi="value", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default="value", properties=frozenset({"mandatory", "normal"}))
option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
-option_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_leadership_default_multi/tiramisu/multi.py b/tests/dictionaries_old/10load_leadership_default_multi/tiramisu/multi.py
new file mode 100644
index 000000000..66fbeddff
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_default_multi/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="leader", multi=True, default=['non'], default_multi="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_5 = StrOption(name="follower1", doc="follower1", multi=True, default_multi="value", properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_3 = Leadership(name="leader", doc="leader", children=[option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="mode_conteneur_actif", doc="leader", multi=True, default=['non'], default_multi="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_11 = StrOption(name="follower1", doc="follower1", multi=True, default_multi="value", properties=frozenset({"mandatory", "normal"}))
+option_12 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_9 = Leadership(name="leader", doc="leader", children=[option_10, option_11, option_12], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8, optiondescription_9], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/10load_leadership_default_multi/xml/00-base.xml b/tests/dictionaries_old/10load_leadership_default_multi/xml/00-base.xml
new file mode 100644
index 000000000..8879a9c9f
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_default_multi/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ non
+
+
+
+
+ value
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10load_leadership_default_multi/yml/00-base.yml b/tests/dictionaries_old/10load_leadership_default_multi/yml/00-base.yml
new file mode 100644
index 000000000..b0eafc3b5
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_default_multi/yml/00-base.yml
@@ -0,0 +1,30 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: leader
+ multi: true
+ value:
+ - text: non
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ value:
+ - text: value
+ - name: follower2
+ type: string
+ description: follower2
diff --git a/tests/dictionaries_old/10load_leadership_default_submulti/00-base.xml b/tests/dictionaries_old/10load_leadership_default_submulti/00-base.xml
deleted file mode 100644
index 13ff6f102..000000000
--- a/tests/dictionaries_old/10load_leadership_default_submulti/00-base.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- non
-
-
- leader
-
-
- value
-
-
- value1
- value2
-
-
-
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10load_leadership_default_submulti/result/rougail/00-base.yml b/tests/dictionaries_old/10load_leadership_default_submulti/result/rougail/00-base.yml
new file mode 100644
index 000000000..1d2bcef7f
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_default_submulti/result/rougail/00-base.yml
@@ -0,0 +1,30 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - leader
+ follower1:
+ type: string
+ description: follower1
+ multi: true
+ default:
+ - value
+ follower2:
+ type: string
+ description: follower2
+ multi: true
+ default:
+ - value1
+ - value2
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_leadership_default_submulti/tiramisu/base.py b/tests/dictionaries_old/10load_leadership_default_submulti/tiramisu/base.py
index ca01f8d3d..30e7ea6c9 100644
--- a/tests/dictionaries_old/10load_leadership_default_submulti/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_leadership_default_submulti/tiramisu/base.py
@@ -1,21 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="leader", multi=True, default=['non'], default_multi="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="leader", doc="leader", multi=True, default=['leader'], properties=frozenset({"mandatory"}))
-option_6 = StrOption(name="follower1", doc="follower1", multi=submulti, default_multi=['value'], properties=frozenset({"mandatory", "normal"}))
-option_7 = StrOption(name="follower2", doc="follower2", multi=submulti, default_multi=['value1', 'value2'], properties=frozenset({"mandatory", "normal"}))
-option_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="leader", doc="leader", multi=True, default=['leader'], properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=submulti, default=['value'], default_multi=['value'], properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=submulti, default=['value1', 'value2'], default_multi=['value1', 'value2'], properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_leadership_default_submulti/tiramisu/multi.py b/tests/dictionaries_old/10load_leadership_default_submulti/tiramisu/multi.py
new file mode 100644
index 000000000..f9799e0a0
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_default_submulti/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="leader", multi=True, default=['non'], default_multi="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="leader", doc="leader", multi=True, default=['leader'], properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="follower1", doc="follower1", multi=submulti, default_multi=['value'], properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="follower2", doc="follower2", multi=submulti, default_multi=['value1', 'value2'], properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = Leadership(name="leader", doc="leader", children=[option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="mode_conteneur_actif", doc="leader", multi=True, default=['non'], default_multi="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="leader", doc="leader", multi=True, default=['leader'], properties=frozenset({"mandatory", "normal"}))
+option_11 = StrOption(name="follower1", doc="follower1", multi=submulti, default_multi=['value'], properties=frozenset({"mandatory", "normal"}))
+option_12 = StrOption(name="follower2", doc="follower2", multi=submulti, default_multi=['value1', 'value2'], properties=frozenset({"mandatory", "normal"}))
+optiondescription_9 = Leadership(name="leader", doc="leader", children=[option_10, option_11, option_12], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8, optiondescription_9], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/10load_leadership_default_submulti/xml/00-base.xml b/tests/dictionaries_old/10load_leadership_default_submulti/xml/00-base.xml
new file mode 100644
index 000000000..c81767388
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_default_submulti/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+
+ leader
+
+
+ value
+
+
+ value1
+ value2
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10load_leadership_default_submulti/yml/00-base.yml b/tests/dictionaries_old/10load_leadership_default_submulti/yml/00-base.yml
new file mode 100644
index 000000000..4f9433411
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_default_submulti/yml/00-base.yml
@@ -0,0 +1,37 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: leader
+ multi: true
+ value:
+ - text: non
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ value:
+ - text: leader
+ - name: follower1
+ type: string
+ description: follower1
+ multi: true
+ value:
+ - text: value
+ - name: follower2
+ type: string
+ description: follower2
+ multi: true
+ value:
+ - text: value1
+ - text: value2
diff --git a/tests/dictionaries_old/10load_leadership_defaultmulti_leader/00-base.xml b/tests/dictionaries_old/10load_leadership_defaultmulti_leader/00-base.xml
deleted file mode 100644
index 921e2ad62..000000000
--- a/tests/dictionaries_old/10load_leadership_defaultmulti_leader/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
- value
-
-
-
-
-
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10load_leadership_defaultmulti_leader/result/rougail/00-base.yml b/tests/dictionaries_old/10load_leadership_defaultmulti_leader/result/rougail/00-base.yml
new file mode 100644
index 000000000..4ba8fa051
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_defaultmulti_leader/result/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - value
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_leadership_defaultmulti_leader/tiramisu/base.py b/tests/dictionaries_old/10load_leadership_defaultmulti_leader/tiramisu/base.py
index a0b43a1b3..9b9072ece 100644
--- a/tests/dictionaries_old/10load_leadership_defaultmulti_leader/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_leadership_defaultmulti_leader/tiramisu/base.py
@@ -1,21 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="leader", multi=True, default=['non'], default_multi="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="leader", doc="leader", multi=True, default=['value'], properties=frozenset({"mandatory"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, default=['value'], properties=frozenset({"mandatory", "normal"}))
option_6 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal"}))
option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
-option_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_leadership_defaultmulti_leader/tiramisu/multi.py b/tests/dictionaries_old/10load_leadership_defaultmulti_leader/tiramisu/multi.py
new file mode 100644
index 000000000..8f6e6ed22
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_defaultmulti_leader/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="leader", multi=True, default=['non'], default_multi="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="leader", doc="leader", multi=True, default=['value'], properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_3 = Leadership(name="leader", doc="leader", children=[option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="mode_conteneur_actif", doc="leader", multi=True, default=['non'], default_multi="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="leader", doc="leader", multi=True, default=['value'], properties=frozenset({"mandatory", "normal"}))
+option_11 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal"}))
+option_12 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_9 = Leadership(name="leader", doc="leader", children=[option_10, option_11, option_12], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8, optiondescription_9], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/10load_leadership_defaultmulti_leader/xml/00-base.xml b/tests/dictionaries_old/10load_leadership_defaultmulti_leader/xml/00-base.xml
new file mode 100644
index 000000000..fe60cee74
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_defaultmulti_leader/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ non
+
+
+
+ value
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10load_leadership_defaultmulti_leader/yml/00-base.yml b/tests/dictionaries_old/10load_leadership_defaultmulti_leader/yml/00-base.yml
new file mode 100644
index 000000000..52d2cdc52
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_defaultmulti_leader/yml/00-base.yml
@@ -0,0 +1,30 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: leader
+ multi: true
+ value:
+ - text: non
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ value:
+ - text: value
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
diff --git a/tests/dictionaries_old/10load_leadership_description/00-base.xml b/tests/dictionaries_old/10load_leadership_description/00-base.xml
deleted file mode 100644
index 87b476171..000000000
--- a/tests/dictionaries_old/10load_leadership_description/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10load_leadership_description/makedict/after.json b/tests/dictionaries_old/10load_leadership_description/makedict/after.json
index f77abfc09..f7be8deb1 100644
--- a/tests/dictionaries_old/10load_leadership_description/makedict/after.json
+++ b/tests/dictionaries_old/10load_leadership_description/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.general1.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10load_leadership_description/makedict/before.json b/tests/dictionaries_old/10load_leadership_description/makedict/before.json
index f77abfc09..f7be8deb1 100644
--- a/tests/dictionaries_old/10load_leadership_description/makedict/before.json
+++ b/tests/dictionaries_old/10load_leadership_description/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.general1.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10load_leadership_description/result/rougail/00-base.yml b/tests/dictionaries_old/10load_leadership_description/result/rougail/00-base.yml
new file mode 100644
index 000000000..b17bdc622
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_description/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: other description
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_leadership_description/tiramisu/base.py b/tests/dictionaries_old/10load_leadership_description/tiramisu/base.py
index 3821bfb69..188ee1321 100644
--- a/tests/dictionaries_old/10load_leadership_description/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_leadership_description/tiramisu/base.py
@@ -1,22 +1,65 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general1.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general1.leader.follower2'] = "{{ rougail.general1.leader.follower1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True)
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
-option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_7)))), properties=frozenset({"normal"}))
-option_5 = Leadership(name="leader", doc="other description", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
-option_4 = OptionDescription(name="general1", doc="general1", children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general1.leader.follower1': ParamOption(option_7)})), properties=frozenset({"normal"}))
+optiondescription_5 = Leadership(name="leader", doc="other description", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="general1", doc="general1", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_leadership_description/tiramisu/multi.py b/tests/dictionaries_old/10load_leadership_description/tiramisu/multi.py
new file mode 100644
index 000000000..388eff47c
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_description/tiramisu/multi.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="leader", doc="other description", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general1", doc="general1", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9], properties=frozenset({"normal"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_13)))), properties=frozenset({"normal"}))
+optiondescription_11 = Leadership(name="leader", doc="other description", children=[option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="general1", doc="general1", children=[optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8, optiondescription_10], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="2", doc="2", children=[optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_17])
diff --git a/tests/dictionaries_old/10load_leadership_description/xml/00-base.xml b/tests/dictionaries_old/10load_leadership_description/xml/00-base.xml
new file mode 100644
index 000000000..72e577f9c
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_description/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ follower1
+ follower2
+
+
+
diff --git a/tests/dictionaries_old/10load_leadership_description/yml/00-base.yml b/tests/dictionaries_old/10load_leadership_description/yml/00-base.yml
new file mode 100644
index 000000000..86be413d4
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_description/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general1
+ variables:
+ - family:
+ - name: leader
+ description: other description
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: follower1
+ target:
+ - text: follower2
diff --git a/tests/dictionaries_old/10load_leadership_name/00-base.xml b/tests/dictionaries_old/10load_leadership_name/00-base.xml
deleted file mode 100644
index 2af2d0d45..000000000
--- a/tests/dictionaries_old/10load_leadership_name/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10load_leadership_name/makedict/after.json b/tests/dictionaries_old/10load_leadership_name/makedict/after.json
index c38c753a1..9a3e9d32a 100644
--- a/tests/dictionaries_old/10load_leadership_name/makedict/after.json
+++ b/tests/dictionaries_old/10load_leadership_name/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.general1.other_name.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.other_name.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.other_name.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10load_leadership_name/makedict/before.json b/tests/dictionaries_old/10load_leadership_name/makedict/before.json
index c38c753a1..9a3e9d32a 100644
--- a/tests/dictionaries_old/10load_leadership_name/makedict/before.json
+++ b/tests/dictionaries_old/10load_leadership_name/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.general1.other_name.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.other_name.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.other_name.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10load_leadership_name/result/rougail/00-base.yml b/tests/dictionaries_old/10load_leadership_name/result/rougail/00-base.yml
new file mode 100644
index 000000000..f677d09a0
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_name/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ other_name:
+ description: other_name
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.other_name.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_leadership_name/tiramisu/base.py b/tests/dictionaries_old/10load_leadership_name/tiramisu/base.py
index 65072294c..b3a2d993b 100644
--- a/tests/dictionaries_old/10load_leadership_name/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_leadership_name/tiramisu/base.py
@@ -1,22 +1,65 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general1.other_name.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general1.other_name.follower2'] = "{{ rougail.general1.other_name.follower1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True)
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
-option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_7)))), properties=frozenset({"normal"}))
-option_5 = Leadership(name="other_name", doc="other_name", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
-option_4 = OptionDescription(name="general1", doc="general1", children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.other_name.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.other_name.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True), 'rougail.general1.other_name.follower1': ParamOption(option_7)})), properties=frozenset({"normal"}))
+optiondescription_5 = Leadership(name="other_name", doc="other_name", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="general1", doc="general1", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_leadership_name/tiramisu/multi.py b/tests/dictionaries_old/10load_leadership_name/tiramisu/multi.py
new file mode 100644
index 000000000..c772c75eb
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_name/tiramisu/multi.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_6)))), properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="other_name", doc="other_name", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general1", doc="general1", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9], properties=frozenset({"normal"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=True, default=Calculation(func.calc_val, Params((ParamOption(option_13)))), properties=frozenset({"normal"}))
+optiondescription_11 = Leadership(name="other_name", doc="other_name", children=[option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="general1", doc="general1", children=[optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8, optiondescription_10], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="2", doc="2", children=[optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_17])
diff --git a/tests/dictionaries_old/10load_leadership_name/xml/00-base.xml b/tests/dictionaries_old/10load_leadership_name/xml/00-base.xml
new file mode 100644
index 000000000..ff11ffb6d
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_name/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ follower1
+ follower2
+
+
+
diff --git a/tests/dictionaries_old/10load_leadership_name/yml/00-base.yml b/tests/dictionaries_old/10load_leadership_name/yml/00-base.yml
new file mode 100644
index 000000000..44a09a07f
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_name/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general1
+ variables:
+ - family:
+ - name: other_name
+ description: other_name
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: follower1
+ target:
+ - text: follower2
diff --git a/tests/dictionaries_old/10load_leadership_submulti/00-base.xml b/tests/dictionaries_old/10load_leadership_submulti/00-base.xml
deleted file mode 100644
index caa3dbeec..000000000
--- a/tests/dictionaries_old/10load_leadership_submulti/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10load_leadership_submulti/makedict/after.json b/tests/dictionaries_old/10load_leadership_submulti/makedict/after.json
index f77abfc09..f7be8deb1 100644
--- a/tests/dictionaries_old/10load_leadership_submulti/makedict/after.json
+++ b/tests/dictionaries_old/10load_leadership_submulti/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.general1.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10load_leadership_submulti/makedict/before.json b/tests/dictionaries_old/10load_leadership_submulti/makedict/before.json
index f77abfc09..f7be8deb1 100644
--- a/tests/dictionaries_old/10load_leadership_submulti/makedict/before.json
+++ b/tests/dictionaries_old/10load_leadership_submulti/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.general1.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general1.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general1.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10load_leadership_submulti/result/rougail/00-base.yml b/tests/dictionaries_old/10load_leadership_submulti/result/rougail/00-base.yml
new file mode 100644
index 000000000..1c4a4b105
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_submulti/result/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+ multi: true
+ default:
+ type: jinja
+ jinja: '{{ rougail.general1.leader.follower1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_leadership_submulti/tiramisu/base.py b/tests/dictionaries_old/10load_leadership_submulti/tiramisu/base.py
index aad38f582..6300aa946 100644
--- a/tests/dictionaries_old/10load_leadership_submulti/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_leadership_submulti/tiramisu/base.py
@@ -1,22 +1,65 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general1.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+dict_env['rougail.general1.leader.follower2'] = "{{ rougail.general1.leader.follower1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True)
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
-option_8 = StrOption(name="follower2", doc="follower2", multi=submulti, default=[Calculation(func.calc_val, Params((ParamOption(option_7))))], properties=frozenset({"normal"}))
-option_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
-option_4 = OptionDescription(name="general1", doc="general1", children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=submulti, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general1.leader.follower2), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(submulti), 'rougail.general1.leader.follower1': ParamOption(option_7)})), properties=frozenset({"normal", "notempty"}))
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="general1", doc="general1", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_leadership_submulti/tiramisu/multi.py b/tests/dictionaries_old/10load_leadership_submulti/tiramisu/multi.py
new file mode 100644
index 000000000..6c0fdbe5c
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_submulti/tiramisu/multi.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=submulti, default=[Calculation(func.calc_val, Params((ParamOption(option_6))))], properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general1", doc="general1", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9], properties=frozenset({"normal"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal"}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=submulti, default=[Calculation(func.calc_val, Params((ParamOption(option_13))))], properties=frozenset({"normal"}))
+optiondescription_11 = Leadership(name="leader", doc="leader", children=[option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="general1", doc="general1", children=[optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8, optiondescription_10], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="2", doc="2", children=[optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_17])
diff --git a/tests/dictionaries_old/10load_leadership_submulti/xml/00-base.xml b/tests/dictionaries_old/10load_leadership_submulti/xml/00-base.xml
new file mode 100644
index 000000000..ccf0a7c87
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_submulti/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ follower1
+ follower2
+
+
+
diff --git a/tests/dictionaries_old/10load_leadership_submulti/yml/00-base.yml b/tests/dictionaries_old/10load_leadership_submulti/yml/00-base.yml
new file mode 100644
index 000000000..ff59fcfad
--- /dev/null
+++ b/tests/dictionaries_old/10load_leadership_submulti/yml/00-base.yml
@@ -0,0 +1,44 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general1
+ variables:
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+ multi: true
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ - name: calc_val
+ param:
+ - type: variable
+ text: follower1
+ target:
+ - text: follower2
diff --git a/tests/dictionaries_old/10load_mandatoryifin/00-base.xml b/tests/dictionaries_old/10load_mandatoryifin/00-base.xml
deleted file mode 100644
index 810f14f77..000000000
--- a/tests/dictionaries_old/10load_mandatoryifin/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_mandatoryifin/result/rougail/00-base.yml b/tests/dictionaries_old/10load_mandatoryifin/result/rougail/00-base.yml
new file mode 100644
index 000000000..67737342b
--- /dev/null
+++ b/tests/dictionaries_old/10load_mandatoryifin/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ mandatory:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ mandatory:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_mandatoryifin/tiramisu/base.py b/tests/dictionaries_old/10load_mandatoryifin/tiramisu/base.py
index d4278eac6..64c30edfe 100644
--- a/tests/dictionaries_old/10load_mandatoryifin/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_mandatoryifin/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('mandatory'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('mandatory'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_mandatoryifin/tiramisu/multi.py b/tests/dictionaries_old/10load_mandatoryifin/tiramisu/multi.py
new file mode 100644
index 000000000..ed04115fa
--- /dev/null
+++ b/tests/dictionaries_old/10load_mandatoryifin/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('mandatory'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('mandatory'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('mandatory'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('mandatory'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_mandatoryifin/xml/00-base.xml b/tests/dictionaries_old/10load_mandatoryifin/xml/00-base.xml
new file mode 100644
index 000000000..4aed495db
--- /dev/null
+++ b/tests/dictionaries_old/10load_mandatoryifin/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_mandatoryifin/yml/00-base.yml b/tests/dictionaries_old/10load_mandatoryifin/yml/00-base.yml
new file mode 100644
index 000000000..36d224d7d
--- /dev/null
+++ b/tests/dictionaries_old/10load_mandatoryifin/yml/00-base.yml
@@ -0,0 +1,32 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: mandatory_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_mandatoryifnotin_noexist/00-base.xml b/tests/dictionaries_old/10load_mandatoryifnotin_noexist/00-base.xml
deleted file mode 100644
index c1bc13ee1..000000000
--- a/tests/dictionaries_old/10load_mandatoryifnotin_noexist/00-base.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
- tous
-
-
- non
-
-
- non
-
-
-
-
-
- tous
- authentifié
- aucun
- condition
-
-
- oui
- non
- mode_conteneur_actif
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/10load_mandatoryifnotin_noexist/result/rougail/00-base.yml b/tests/dictionaries_old/10load_mandatoryifnotin_noexist/result/rougail/00-base.yml
new file mode 100644
index 000000000..bc2d98d6c
--- /dev/null
+++ b/tests/dictionaries_old/10load_mandatoryifnotin_noexist/result/rougail/00-base.yml
@@ -0,0 +1,28 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: tous
+ choices:
+ - tous
+ - authentifié
+ - aucun
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mandatory:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}false{% else %}true{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mandatory:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" or rougail.general.condition
+ == "non" %}false{% else %}true{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_mandatoryifnotin_noexist/tiramisu/base.py b/tests/dictionaries_old/10load_mandatoryifnotin_noexist/tiramisu/base.py
index 6894c2595..ab03c0cf2 100644
--- a/tests/dictionaries_old/10load_mandatoryifnotin_noexist/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_mandatoryifnotin_noexist/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_mandatoryifnotin_noexist/tiramisu/multi.py b/tests/dictionaries_old/10load_mandatoryifnotin_noexist/tiramisu/multi.py
new file mode 100644
index 000000000..b53f41ee6
--- /dev/null
+++ b/tests/dictionaries_old/10load_mandatoryifnotin_noexist/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = ChoiceOption(name="condition", doc="No change", values=('tous', 'authentifié', 'aucun'), default="tous", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10load_mandatoryifnotin_noexist/xml/00-base.xml b/tests/dictionaries_old/10load_mandatoryifnotin_noexist/xml/00-base.xml
new file mode 100644
index 000000000..4f6451f1b
--- /dev/null
+++ b/tests/dictionaries_old/10load_mandatoryifnotin_noexist/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ tous
+ tous
+ authentifié
+ aucun
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ non
+ mode_conteneur_actif
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/10load_mandatoryifnotin_noexist/yml/00-base.yml b/tests/dictionaries_old/10load_mandatoryifnotin_noexist/yml/00-base.yml
new file mode 100644
index 000000000..2dc66e149
--- /dev/null
+++ b/tests/dictionaries_old/10load_mandatoryifnotin_noexist/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: choice
+ description: No change
+ value:
+ - type: string
+ text: tous
+ choice:
+ - type: string
+ text: tous
+ - type: string
+ text: "authentifi\xE9"
+ - type: string
+ text: aucun
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: mandatory_if_not_in
+ source: condition
+ param:
+ - text: oui
+ - text: non
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/10load_multivalue/00-base.xml b/tests/dictionaries_old/10load_multivalue/00-base.xml
deleted file mode 100644
index 298d92927..000000000
--- a/tests/dictionaries_old/10load_multivalue/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
- non
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/10load_multivalue/result/rougail/00-base.yml b/tests/dictionaries_old/10load_multivalue/result/rougail/00-base.yml
new file mode 100644
index 000000000..641ad2f39
--- /dev/null
+++ b/tests/dictionaries_old/10load_multivalue/result/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ multi: true
+ default:
+ - non
+ - oui
+version: '1.0'
diff --git a/tests/dictionaries_old/10load_multivalue/tiramisu/base.py b/tests/dictionaries_old/10load_multivalue/tiramisu/base.py
index da961aaf5..62dedfb22 100644
--- a/tests/dictionaries_old/10load_multivalue/tiramisu/base.py
+++ b/tests/dictionaries_old/10load_multivalue/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", multi=True, default=['non', 'oui'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10load_multivalue/tiramisu/multi.py b/tests/dictionaries_old/10load_multivalue/tiramisu/multi.py
new file mode 100644
index 000000000..e6ede54c8
--- /dev/null
+++ b/tests/dictionaries_old/10load_multivalue/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", multi=True, default=['non', 'oui'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", multi=True, default=['non', 'oui'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/10load_multivalue/xml/00-base.xml b/tests/dictionaries_old/10load_multivalue/xml/00-base.xml
new file mode 100644
index 000000000..1f092d5b6
--- /dev/null
+++ b/tests/dictionaries_old/10load_multivalue/xml/00-base.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+ non
+ oui
+
+
+
+
diff --git a/tests/dictionaries_old/10load_multivalue/yml/00-base.yml b/tests/dictionaries_old/10load_multivalue/yml/00-base.yml
new file mode 100644
index 000000000..1eece7892
--- /dev/null
+++ b/tests/dictionaries_old/10load_multivalue/yml/00-base.yml
@@ -0,0 +1,14 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ multi: true
+ value:
+ - text: non
+ - text: oui
diff --git a/tests/dictionaries_old/10valid_enum_accent/00-base.xml b/tests/dictionaries_old/10valid_enum_accent/00-base.xml
deleted file mode 100644
index 1731282d2..000000000
--- a/tests/dictionaries_old/10valid_enum_accent/00-base.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- c
-
-
-
-
-
- a
- b
- c
- é
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_accent/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_accent/result/rougail/00-base.yml
new file mode 100644
index 000000000..0378ed8cf
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_accent/result/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: c
+ choices:
+ - a
+ - b
+ - c
+ - é
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_accent/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_accent/tiramisu/base.py
index e4369a1ff..524d584c8 100644
--- a/tests/dictionaries_old/10valid_enum_accent/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_accent/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
option_5 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', 'c', 'é'), default="c", properties=frozenset({"expert", "mandatory"}))
option_5.impl_set_information('help', "bla bla bla")
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_accent/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_accent/tiramisu/multi.py
new file mode 100644
index 000000000..bda775260
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_accent/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', 'c', 'é'), default="c", properties=frozenset({"expert", "mandatory"}))
+option_4.impl_set_information('help', "bla bla bla")
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"expert"}))
+option_8 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', 'c', 'é'), default="c", properties=frozenset({"expert", "mandatory"}))
+option_8.impl_set_information('help', "bla bla bla")
+optiondescription_7 = OptionDescription(name="enumfam", doc="enumfam", children=[option_8], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10valid_enum_accent/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_accent/xml/00-base.xml
new file mode 100644
index 000000000..906008046
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_accent/xml/00-base.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ non
+
+
+
+
+ c
+ a
+ b
+ c
+ é
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_accent/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_accent/yml/00-base.yml
new file mode 100644
index 000000000..3672fcd54
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_accent/yml/00-base.yml
@@ -0,0 +1,32 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ type: choice
+ description: multi
+ help: bla bla bla
+ value:
+ - type: string
+ text: c
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: string
+ text: c
+ - type: string
+ text: "\xE9"
diff --git a/tests/dictionaries/01base_provider_extra/__init__.py b/tests/dictionaries_old/10valid_enum_append/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_provider_extra/__init__.py
rename to tests/dictionaries_old/10valid_enum_append/__init__.py
diff --git a/tests/dictionaries_old/10valid_enum_append/makedict/after.json b/tests/dictionaries_old/10valid_enum_append/makedict/after.json
new file mode 100644
index 000000000..d6497f423
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_append/makedict/after.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.enumfam.enumvar": {
+ "owner": "default",
+ "value": "c"
+ }
+}
diff --git a/tests/dictionaries_old/10valid_enum_append/makedict/base.json b/tests/dictionaries_old/10valid_enum_append/makedict/base.json
new file mode 100644
index 000000000..58c810c57
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_append/makedict/base.json
@@ -0,0 +1,4 @@
+{
+ "rougail.general.mode_conteneur_actif": "non",
+ "rougail.enumfam.enumvar": "c"
+}
diff --git a/tests/dictionaries_old/10valid_enum_append/makedict/before.json b/tests/dictionaries_old/10valid_enum_append/makedict/before.json
new file mode 100644
index 000000000..d6497f423
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_append/makedict/before.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.enumfam.enumvar": {
+ "owner": "default",
+ "value": "c"
+ }
+}
diff --git a/tests/dictionaries_old/10valid_enum_append/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_append/result/rougail/00-base.yml
new file mode 100644
index 000000000..5e336a75f
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_append/result/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: b
+ choices:
+ - a
+ - b
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_append/result/rougail/01-base.yml b/tests/dictionaries_old/10valid_enum_append/result/rougail/01-base.yml
new file mode 100644
index 000000000..fd5f280ac
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_append/result/rougail/01-base.yml
@@ -0,0 +1,7 @@
+enumfam:
+ enumvar:
+ redefine: true
+ default: c
+ choices:
+ - c
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_append/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_append/tiramisu/base.py
new file mode 100644
index 000000000..778b0a54a
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_append/tiramisu/base.py
@@ -0,0 +1,32 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+option_5 = ChoiceOption(name="enumvar", doc="multi", values=('c',), default="c", properties=frozenset({"expert", "mandatory"}))
+option_5.impl_set_information('help', "bla bla bla")
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_append/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_append/tiramisu/multi.py
new file mode 100644
index 000000000..96e055d89
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_append/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', 'c'), default="c", properties=frozenset({"expert", "mandatory"}))
+option_4.impl_set_information('help', "bla bla bla")
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"expert"}))
+option_8 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', 'c'), default="c", properties=frozenset({"expert", "mandatory"}))
+option_8.impl_set_information('help', "bla bla bla")
+optiondescription_7 = OptionDescription(name="enumfam", doc="enumfam", children=[option_8], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10valid_enum_append/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_append/xml/00-base.xml
new file mode 100644
index 000000000..18c238b3c
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_append/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ non
+
+
+
+
+ b
+ a
+ b
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_append/xml/01-base.xml b/tests/dictionaries_old/10valid_enum_append/xml/01-base.xml
new file mode 100644
index 000000000..bf8e4389e
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_append/xml/01-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ c
+ c
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_append/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_append/yml/00-base.yml
new file mode 100644
index 000000000..f65dd9bd7
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_append/yml/00-base.yml
@@ -0,0 +1,28 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ type: choice
+ description: multi
+ help: bla bla bla
+ value:
+ - type: string
+ text: b
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
diff --git a/tests/dictionaries_old/10valid_enum_append/yml/01-base.yml b/tests/dictionaries_old/10valid_enum_append/yml/01-base.yml
new file mode 100644
index 000000000..4d9fe7ca9
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_append/yml/01-base.yml
@@ -0,0 +1,14 @@
+version: '0.10'
+variables:
+- family:
+ - name: enumfam
+ variables:
+ - variable:
+ - name: enumvar
+ redefine: true
+ value:
+ - type: string
+ text: c
+ choice:
+ - type: string
+ text: c
diff --git a/tests/dictionaries_old/10valid_enum_base/00-base.xml b/tests/dictionaries_old/10valid_enum_base/00-base.xml
deleted file mode 100644
index 070b9df41..000000000
--- a/tests/dictionaries_old/10valid_enum_base/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- c
-
-
-
-
-
- a
- b
- c
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_base/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_base/result/rougail/00-base.yml
new file mode 100644
index 000000000..dfa17db97
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base/result/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: c
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_base/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_base/tiramisu/base.py
index d7f3e6998..80885dfc6 100644
--- a/tests/dictionaries_old/10valid_enum_base/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_base/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
option_5 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', 'c'), default="c", properties=frozenset({"expert", "mandatory"}))
option_5.impl_set_information('help', "bla bla bla")
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_base/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_base/tiramisu/multi.py
new file mode 100644
index 000000000..96e055d89
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', 'c'), default="c", properties=frozenset({"expert", "mandatory"}))
+option_4.impl_set_information('help', "bla bla bla")
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"expert"}))
+option_8 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', 'c'), default="c", properties=frozenset({"expert", "mandatory"}))
+option_8.impl_set_information('help', "bla bla bla")
+optiondescription_7 = OptionDescription(name="enumfam", doc="enumfam", children=[option_8], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10valid_enum_base/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_base/xml/00-base.xml
new file mode 100644
index 000000000..771bc0d5b
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ non
+
+
+
+
+ c
+ a
+ b
+ c
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_base/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_base/yml/00-base.yml
new file mode 100644
index 000000000..548a64134
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base/yml/00-base.yml
@@ -0,0 +1,30 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ type: choice
+ description: multi
+ help: bla bla bla
+ value:
+ - type: string
+ text: c
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: string
+ text: c
diff --git a/tests/dictionaries_old/10valid_enum_base_no_mandatory/00-base.xml b/tests/dictionaries_old/10valid_enum_base_no_mandatory/00-base.xml
deleted file mode 100644
index 2727a9467..000000000
--- a/tests/dictionaries_old/10valid_enum_base_no_mandatory/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- c
-
-
-
-
-
- a
- b
- c
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_base_no_mandatory/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_base_no_mandatory/result/rougail/00-base.yml
new file mode 100644
index 000000000..c4f293044
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base_no_mandatory/result/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ mandatory: false
+ type: choice
+ default: c
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_base_no_mandatory/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_base_no_mandatory/tiramisu/base.py
index 4be4e26ea..bc26775f5 100644
--- a/tests/dictionaries_old/10valid_enum_base_no_mandatory/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_base_no_mandatory/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
option_5 = ChoiceOption(name="enumvar", doc="enumvar", values=('a', 'b', 'c', None), default="c", properties=frozenset({"expert"}))
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_base_no_mandatory/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_base_no_mandatory/tiramisu/multi.py
new file mode 100644
index 000000000..83b4dfcad
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base_no_mandatory/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar", doc="enumvar", values=('a', 'b', 'c', None), default="c", properties=frozenset({"expert"}))
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"expert"}))
+option_8 = ChoiceOption(name="enumvar", doc="enumvar", values=('a', 'b', 'c', None), default="c", properties=frozenset({"expert"}))
+optiondescription_7 = OptionDescription(name="enumfam", doc="enumfam", children=[option_8], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10valid_enum_base_no_mandatory/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_base_no_mandatory/xml/00-base.xml
new file mode 100644
index 000000000..d700f9d26
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base_no_mandatory/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ non
+
+
+
+
+ c
+ a
+ b
+ c
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_base_no_mandatory/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_base_no_mandatory/yml/00-base.yml
new file mode 100644
index 000000000..8505546fd
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base_no_mandatory/yml/00-base.yml
@@ -0,0 +1,28 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ mandatory: false
+ type: choice
+ value:
+ - text: c
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: string
+ text: c
diff --git a/tests/dictionaries_old/10valid_enum_base_redefine/00-base.xml b/tests/dictionaries_old/10valid_enum_base_redefine/00-base.xml
deleted file mode 100644
index a38f6a0d4..000000000
--- a/tests/dictionaries_old/10valid_enum_base_redefine/00-base.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- c
-
-
- c
-
-
-
-
-
- a
- b
- c
- enumvar
-
-
- a
- b
- c
- enumvar2
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_base_redefine/01-base.xml b/tests/dictionaries_old/10valid_enum_base_redefine/01-base.xml
deleted file mode 100644
index c542d3c6f..000000000
--- a/tests/dictionaries_old/10valid_enum_base_redefine/01-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- c
-
-
-
-
-
- a
- c
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_base_redefine/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_base_redefine/result/rougail/00-base.yml
new file mode 100644
index 000000000..fc6d6f850
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base_redefine/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar2:
+ type: choice
+ description: multi
+ default: c
+ choices:
+ - a
+ - b
+ - c
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: c
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_base_redefine/result/rougail/01-base.yml b/tests/dictionaries_old/10valid_enum_base_redefine/result/rougail/01-base.yml
new file mode 100644
index 000000000..92a14cf34
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base_redefine/result/rougail/01-base.yml
@@ -0,0 +1,9 @@
+enumfam:
+ enumvar:
+ redefine: true
+ validators: null
+ default: c
+ choices:
+ - a
+ - c
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_base_redefine/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_base_redefine/tiramisu/base.py
index ea9f2f220..394b75f4e 100644
--- a/tests/dictionaries_old/10valid_enum_base_redefine/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_base_redefine/tiramisu/base.py
@@ -1,21 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
option_5 = ChoiceOption(name="enumvar2", doc="multi", values=('a', 'b', 'c'), default="c", properties=frozenset({"expert", "mandatory"}))
option_6 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'c'), default="c", properties=frozenset({"expert", "mandatory"}))
option_6.impl_set_information('help', "bla bla bla")
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5, option_6], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5, option_6], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_base_redefine/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_base_redefine/tiramisu/multi.py
new file mode 100644
index 000000000..c80da4e5b
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base_redefine/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar2", doc="multi", values=('a', 'b', 'c'), default="c", properties=frozenset({"expert", "mandatory"}))
+option_5 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'c'), default="c", properties=frozenset({"expert", "mandatory"}))
+option_5.impl_set_information('help', "bla bla bla")
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4, option_5], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7], properties=frozenset({"expert"}))
+option_9 = ChoiceOption(name="enumvar2", doc="multi", values=('a', 'b', 'c'), default="c", properties=frozenset({"expert", "mandatory"}))
+option_10 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'c'), default="c", properties=frozenset({"expert", "mandatory"}))
+option_10.impl_set_information('help', "bla bla bla")
+optiondescription_8 = OptionDescription(name="enumfam", doc="enumfam", children=[option_9, option_10], properties=frozenset({"expert"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6, optiondescription_8], properties=frozenset({"expert"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/10valid_enum_base_redefine/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_base_redefine/xml/00-base.xml
new file mode 100644
index 000000000..de0c9759c
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base_redefine/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ non
+
+
+
+
+ c
+ a
+ b
+ c
+
+
+ c
+ a
+ b
+ c
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_base_redefine/xml/01-base.xml b/tests/dictionaries_old/10valid_enum_base_redefine/xml/01-base.xml
new file mode 100644
index 000000000..b50a49f41
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base_redefine/xml/01-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ c
+ a
+ c
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_base_redefine/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_base_redefine/yml/00-base.yml
new file mode 100644
index 000000000..099c086d5
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base_redefine/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar2
+ type: choice
+ description: multi
+ value:
+ - type: string
+ text: c
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: string
+ text: c
+ - name: enumvar
+ type: choice
+ description: multi
+ help: bla bla bla
+ value:
+ - type: string
+ text: c
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: string
+ text: c
diff --git a/tests/dictionaries_old/10valid_enum_base_redefine/yml/01-base.yml b/tests/dictionaries_old/10valid_enum_base_redefine/yml/01-base.yml
new file mode 100644
index 000000000..33fbfecef
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_base_redefine/yml/01-base.yml
@@ -0,0 +1,18 @@
+version: '0.10'
+variables:
+- family:
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ redefine: true
+ remove_check: true
+ remove_choice: true
+ value:
+ - text: c
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: c
diff --git a/tests/dictionaries_old/10valid_enum_leader/00-base.xml b/tests/dictionaries_old/10valid_enum_leader/00-base.xml
deleted file mode 100644
index d0b5a3694..000000000
--- a/tests/dictionaries_old/10valid_enum_leader/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- a
- b
- c
- follower1
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_leader/makedict/after.json b/tests/dictionaries_old/10valid_enum_leader/makedict/after.json
index dd62b9801..548ec3acc 100644
--- a/tests/dictionaries_old/10valid_enum_leader/makedict/after.json
+++ b/tests/dictionaries_old/10valid_enum_leader/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10valid_enum_leader/makedict/before.json b/tests/dictionaries_old/10valid_enum_leader/makedict/before.json
index dd62b9801..548ec3acc 100644
--- a/tests/dictionaries_old/10valid_enum_leader/makedict/before.json
+++ b/tests/dictionaries_old/10valid_enum_leader/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/10valid_enum_leader/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_leader/result/rougail/00-base.yml
new file mode 100644
index 000000000..defffce64
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_leader/result/rougail/00-base.yml
@@ -0,0 +1,24 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: choice
+ description: follower1
+ default: a
+ choices:
+ - a
+ - b
+ - c
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_leader/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_leader/tiramisu/base.py
index 4aad51c73..ca723336f 100644
--- a/tests/dictionaries_old/10valid_enum_leader/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_leader/tiramisu/base.py
@@ -1,21 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="leader", doc="leader", multi=True)
-option_6 = ChoiceOption(name="follower1", doc="follower1", values=('a', 'b', 'c'), multi=True, default_multi="a", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_6 = ChoiceOption(name="follower1", doc="follower1", values=('a', 'b', 'c'), multi=True, default="a", properties=frozenset({"mandatory", "normal"}))
option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
-option_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_leader/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_leader/tiramisu/multi.py
new file mode 100644
index 000000000..ef5b09d74
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_leader/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_5 = ChoiceOption(name="follower1", doc="follower1", values=('a', 'b', 'c'), multi=True, default_multi="a", properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_3 = Leadership(name="leader", doc="leader", children=[option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_11 = ChoiceOption(name="follower1", doc="follower1", values=('a', 'b', 'c'), multi=True, default_multi="a", properties=frozenset({"mandatory", "normal"}))
+option_12 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_9 = Leadership(name="leader", doc="leader", children=[option_10, option_11, option_12], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8, optiondescription_9], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/10valid_enum_leader/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_leader/xml/00-base.xml
new file mode 100644
index 000000000..da1411852
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_leader/xml/00-base.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ non
+
+
+
+
+ a
+ b
+ c
+ a
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_leader/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_leader/yml/00-base.yml
new file mode 100644
index 000000000..1c68fbaa1
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_leader/yml/00-base.yml
@@ -0,0 +1,37 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: choice
+ description: follower1
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: string
+ text: c
+ value:
+ - type: string
+ text: a
+ - name: follower2
+ type: string
+ description: follower2
diff --git a/tests/dictionaries_old/10valid_enum_mandatory/00-base.xml b/tests/dictionaries_old/10valid_enum_mandatory/00-base.xml
deleted file mode 100644
index 89daeab9f..000000000
--- a/tests/dictionaries_old/10valid_enum_mandatory/00-base.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- a
- b
- c
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_mandatory/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_mandatory/result/rougail/00-base.yml
new file mode 100644
index 000000000..dcbdb41f5
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_mandatory/result/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ mandatory: true
+ default: a
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_mandatory/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_mandatory/tiramisu/base.py
index 42d0f0226..d229229c7 100644
--- a/tests/dictionaries_old/10valid_enum_mandatory/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_mandatory/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
option_5 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', 'c'), default="a", properties=frozenset({"expert", "mandatory"}))
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_mandatory/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_mandatory/tiramisu/multi.py
new file mode 100644
index 000000000..f34b92385
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_mandatory/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', 'c'), default="a", properties=frozenset({"expert", "mandatory"}))
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"expert"}))
+option_8 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', 'c'), default="a", properties=frozenset({"expert", "mandatory"}))
+optiondescription_7 = OptionDescription(name="enumfam", doc="enumfam", children=[option_8], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10valid_enum_mandatory/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_mandatory/xml/00-base.xml
new file mode 100644
index 000000000..aa320bfb6
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_mandatory/xml/00-base.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ non
+
+
+
+
+ a
+ b
+ c
+ a
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_mandatory/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_mandatory/yml/00-base.yml
new file mode 100644
index 000000000..7739fc069
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_mandatory/yml/00-base.yml
@@ -0,0 +1,30 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ type: choice
+ description: multi
+ mandatory: true
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: string
+ text: c
+ value:
+ - type: string
+ text: a
diff --git a/tests/dictionaries_old/10valid_enum_multi/00-base.xml b/tests/dictionaries_old/10valid_enum_multi/00-base.xml
deleted file mode 100644
index d3bdd736b..000000000
--- a/tests/dictionaries_old/10valid_enum_multi/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
- a
- b
- c
- multi
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_multi/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..ffe6bce4c
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_multi/result/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ multi:
+ type: choice
+ description: multi
+ multi: true
+ default:
+ - a
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_multi/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_multi/tiramisu/base.py
index d9d152aa5..89bd0ca8d 100644
--- a/tests/dictionaries_old/10valid_enum_multi/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_multi/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = ChoiceOption(name="multi", doc="multi", values=('a', 'b', 'c'), multi=True, default=['a'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_multi/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_multi/tiramisu/multi.py
new file mode 100644
index 000000000..fab9931f2
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_multi/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = ChoiceOption(name="multi", doc="multi", values=('a', 'b', 'c'), multi=True, default=['a'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_6 = ChoiceOption(name="multi", doc="multi", values=('a', 'b', 'c'), multi=True, default=['a'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/10valid_enum_multi/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_multi/xml/00-base.xml
new file mode 100644
index 000000000..85dae3589
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_multi/xml/00-base.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ non
+
+
+ a
+ b
+ c
+ a
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_multi/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_multi/yml/00-base.yml
new file mode 100644
index 000000000..e2eb07582
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_multi/yml/00-base.yml
@@ -0,0 +1,25 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: multi
+ type: choice
+ description: multi
+ multi: true
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: string
+ text: c
+ value:
+ - type: string
+ text: a
diff --git a/tests/dictionaries_old/10valid_enum_none/00-base.xml b/tests/dictionaries_old/10valid_enum_none/00-base.xml
deleted file mode 100644
index e8d463271..000000000
--- a/tests/dictionaries_old/10valid_enum_none/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- b
-
-
-
-
-
- a
- b
-
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_none/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_none/result/rougail/00-base.yml
new file mode 100644
index 000000000..ba649d21d
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_none/result/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ mandatory: false
+ default: b
+ choices:
+ - a
+ - b
+ - null
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_none/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_none/tiramisu/base.py
index f6f1b9788..b5ab18356 100644
--- a/tests/dictionaries_old/10valid_enum_none/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_none/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
-option_5 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', '', None), default="b", properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+option_5 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', None), default="b", properties=frozenset({"expert"}))
option_5.impl_set_information('help', "bla bla bla")
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_none/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_none/tiramisu/multi.py
new file mode 100644
index 000000000..bcfb7836f
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_none/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', None), default="b", properties=frozenset({"expert"}))
+option_4.impl_set_information('help', "bla bla bla")
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"expert"}))
+option_8 = ChoiceOption(name="enumvar", doc="multi", values=('a', 'b', None), default="b", properties=frozenset({"expert"}))
+option_8.impl_set_information('help', "bla bla bla")
+optiondescription_7 = OptionDescription(name="enumfam", doc="enumfam", children=[option_8], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10valid_enum_none/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_none/xml/00-base.xml
new file mode 100644
index 000000000..26c37a2ee
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_none/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ non
+
+
+
+
+ b
+ a
+ b
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_none/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_none/yml/00-base.yml
new file mode 100644
index 000000000..3555a39f8
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_none/yml/00-base.yml
@@ -0,0 +1,30 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ type: choice
+ description: multi
+ help: bla bla bla
+ mandatory: false
+ value:
+ - type: string
+ text: b
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: nil
diff --git a/tests/dictionaries_old/10valid_enum_number/00-base.xml b/tests/dictionaries_old/10valid_enum_number/00-base.xml
deleted file mode 100644
index fb8b66d9b..000000000
--- a/tests/dictionaries_old/10valid_enum_number/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- 1
- 2
- 3
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_number/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_number/result/rougail/00-base.yml
new file mode 100644
index 000000000..d4d804516
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_number/result/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: enumvar
+ help: bla bla bla
+ default: 1
+ choices:
+ - 1
+ - 2
+ - 3
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_number/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_number/tiramisu/base.py
index d367bb274..e287a490f 100644
--- a/tests/dictionaries_old/10valid_enum_number/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_number/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
option_5 = ChoiceOption(name="enumvar", doc="enumvar", values=(1, 2, 3), default=1, properties=frozenset({"expert", "mandatory"}))
option_5.impl_set_information('help', "bla bla bla")
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_number/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_number/tiramisu/multi.py
new file mode 100644
index 000000000..4a52c4abb
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_number/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar", doc="enumvar", values=(1, 2, 3), default=1, properties=frozenset({"expert", "mandatory"}))
+option_4.impl_set_information('help', "bla bla bla")
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"expert"}))
+option_8 = ChoiceOption(name="enumvar", doc="enumvar", values=(1, 2, 3), default=1, properties=frozenset({"expert", "mandatory"}))
+option_8.impl_set_information('help', "bla bla bla")
+optiondescription_7 = OptionDescription(name="enumfam", doc="enumfam", children=[option_8], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10valid_enum_number/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_number/xml/00-base.xml
new file mode 100644
index 000000000..7c6b14638
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_number/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ non
+
+
+
+
+ 1
+ 2
+ 3
+ 1
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_number/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_number/yml/00-base.yml
new file mode 100644
index 000000000..66d40458c
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_number/yml/00-base.yml
@@ -0,0 +1,30 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ type: choice
+ description: enumvar
+ help: bla bla bla
+ choice:
+ - type: number
+ text: 1
+ - type: number
+ text: 2
+ - type: number
+ text: 3
+ value:
+ - type: number
+ text: 1
diff --git a/tests/dictionaries_old/10valid_enum_numberdefault/00-base.xml b/tests/dictionaries_old/10valid_enum_numberdefault/00-base.xml
deleted file mode 100644
index a02d91bf5..000000000
--- a/tests/dictionaries_old/10valid_enum_numberdefault/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- 3
-
-
-
-
-
- 1
- 2
- 3
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_numberdefault/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_numberdefault/result/rougail/00-base.yml
new file mode 100644
index 000000000..4ebdcf8ac
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_numberdefault/result/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: enumvar
+ help: bla bla bla
+ default: 3
+ choices:
+ - 1
+ - 2
+ - 3
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_numberdefault/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_numberdefault/tiramisu/base.py
index aa15258f9..6c554fd0f 100644
--- a/tests/dictionaries_old/10valid_enum_numberdefault/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_numberdefault/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
option_5 = ChoiceOption(name="enumvar", doc="enumvar", values=(1, 2, 3), default=3, properties=frozenset({"expert", "mandatory"}))
option_5.impl_set_information('help', "bla bla bla")
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_numberdefault/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_numberdefault/tiramisu/multi.py
new file mode 100644
index 000000000..7fbfa4a36
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_numberdefault/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar", doc="enumvar", values=(1, 2, 3), default=3, properties=frozenset({"expert", "mandatory"}))
+option_4.impl_set_information('help', "bla bla bla")
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"expert"}))
+option_8 = ChoiceOption(name="enumvar", doc="enumvar", values=(1, 2, 3), default=3, properties=frozenset({"expert", "mandatory"}))
+option_8.impl_set_information('help', "bla bla bla")
+optiondescription_7 = OptionDescription(name="enumfam", doc="enumfam", children=[option_8], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10valid_enum_numberdefault/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_numberdefault/xml/00-base.xml
new file mode 100644
index 000000000..76ac71389
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_numberdefault/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ non
+
+
+
+
+ 3
+ 1
+ 2
+ 3
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_numberdefault/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_numberdefault/yml/00-base.yml
new file mode 100644
index 000000000..941696996
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_numberdefault/yml/00-base.yml
@@ -0,0 +1,30 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ type: choice
+ description: enumvar
+ help: bla bla bla
+ value:
+ - type: number
+ text: 3
+ choice:
+ - type: number
+ text: 1
+ - type: number
+ text: 2
+ - type: number
+ text: 3
diff --git a/tests/dictionaries_old/10valid_enum_param_empty/00-base.xml b/tests/dictionaries_old/10valid_enum_param_empty/00-base.xml
deleted file mode 100644
index 23831823a..000000000
--- a/tests/dictionaries_old/10valid_enum_param_empty/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_param_empty/makedict/after.json b/tests/dictionaries_old/10valid_enum_param_empty/makedict/after.json
index 4c3ef489d..f7fecf93b 100644
--- a/tests/dictionaries_old/10valid_enum_param_empty/makedict/after.json
+++ b/tests/dictionaries_old/10valid_enum_param_empty/makedict/after.json
@@ -1,8 +1,4 @@
{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
"rougail.enumfam.enumvar": {
"owner": "default",
"value": null
diff --git a/tests/dictionaries_old/10valid_enum_param_empty/makedict/base.json b/tests/dictionaries_old/10valid_enum_param_empty/makedict/base.json
index 53dfede82..09f494be2 100644
--- a/tests/dictionaries_old/10valid_enum_param_empty/makedict/base.json
+++ b/tests/dictionaries_old/10valid_enum_param_empty/makedict/base.json
@@ -1,4 +1,3 @@
{
- "rougail.general.mode_conteneur_actif": "non",
"rougail.enumfam.enumvar": null
}
diff --git a/tests/dictionaries_old/10valid_enum_param_empty/makedict/before.json b/tests/dictionaries_old/10valid_enum_param_empty/makedict/before.json
index 4c3ef489d..f7fecf93b 100644
--- a/tests/dictionaries_old/10valid_enum_param_empty/makedict/before.json
+++ b/tests/dictionaries_old/10valid_enum_param_empty/makedict/before.json
@@ -1,8 +1,4 @@
{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
"rougail.enumfam.enumvar": {
"owner": "default",
"value": null
diff --git a/tests/dictionaries_old/10valid_enum_param_empty/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_param_empty/result/rougail/00-base.yml
new file mode 100644
index 000000000..12e0f0a3d
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_param_empty/result/rougail/00-base.yml
@@ -0,0 +1,10 @@
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: null
+ choices:
+ - null
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_param_empty/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_param_empty/tiramisu/base.py
index be3742fc8..6c9e19a89 100644
--- a/tests/dictionaries_old/10valid_enum_param_empty/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_param_empty/tiramisu/base.py
@@ -1,20 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
-option_5 = ChoiceOption(name="enumvar", doc="multi", values=(None,), properties=frozenset({"expert"}))
-option_5.impl_set_information('help', "bla bla bla")
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = ChoiceOption(name="enumvar", doc="multi", values=(None,), properties=frozenset({"expert"}))
+option_3.impl_set_information('help', "bla bla bla")
+optiondescription_2 = OptionDescription(name="enumfam", doc="enumfam", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_param_empty/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_param_empty/tiramisu/multi.py
new file mode 100644
index 000000000..099d66d78
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_param_empty/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="enumvar", doc="multi", values=(None,), properties=frozenset({"expert"}))
+option_2.impl_set_information('help', "bla bla bla")
+optiondescription_1 = OptionDescription(name="enumfam", doc="enumfam", children=[option_2], properties=frozenset({"expert"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"expert"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = ChoiceOption(name="enumvar", doc="multi", values=(None,), properties=frozenset({"expert"}))
+option_4.impl_set_information('help', "bla bla bla")
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/10valid_enum_param_empty/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_param_empty/xml/00-base.xml
new file mode 100644
index 000000000..7a8fa09d4
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_param_empty/xml/00-base.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_param_empty/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_param_empty/yml/00-base.yml
new file mode 100644
index 000000000..708ebcdd7
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_param_empty/yml/00-base.yml
@@ -0,0 +1,15 @@
+version: '0.10'
+variables:
+- family:
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ type: choice
+ description: multi
+ help: bla bla bla
+ choice:
+ - type: nil
+ value:
+ - type: nil
diff --git a/tests/dictionaries_old/10valid_enum_param_empty2/00-base.xml b/tests/dictionaries_old/10valid_enum_param_empty2/00-base.xml
deleted file mode 100644
index 23831823a..000000000
--- a/tests/dictionaries_old/10valid_enum_param_empty2/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_param_empty2/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_param_empty2/result/rougail/00-base.yml
new file mode 100644
index 000000000..ca08e3ffe
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_param_empty2/result/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: null
+ choices:
+ - null
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_param_empty2/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_param_empty2/tiramisu/base.py
index be3742fc8..e93ed52b5 100644
--- a/tests/dictionaries_old/10valid_enum_param_empty2/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_param_empty2/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
option_5 = ChoiceOption(name="enumvar", doc="multi", values=(None,), properties=frozenset({"expert"}))
option_5.impl_set_information('help', "bla bla bla")
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_param_empty2/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_param_empty2/tiramisu/multi.py
new file mode 100644
index 000000000..dc1d341c9
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_param_empty2/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar", doc="multi", values=(None,), properties=frozenset({"expert"}))
+option_4.impl_set_information('help', "bla bla bla")
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"expert"}))
+option_8 = ChoiceOption(name="enumvar", doc="multi", values=(None,), properties=frozenset({"expert"}))
+option_8.impl_set_information('help', "bla bla bla")
+optiondescription_7 = OptionDescription(name="enumfam", doc="enumfam", children=[option_8], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10valid_enum_param_empty2/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_param_empty2/xml/00-base.xml
new file mode 100644
index 000000000..1d3299e5b
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_param_empty2/xml/00-base.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_param_empty2/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_param_empty2/yml/00-base.yml
new file mode 100644
index 000000000..d9194a907
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_param_empty2/yml/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ type: choice
+ description: multi
+ help: bla bla bla
+ choice:
+ - type: nil
+ value:
+ - type: nil
diff --git a/tests/dictionaries_old/10valid_enum_quote/00-base.xml b/tests/dictionaries_old/10valid_enum_quote/00-base.xml
deleted file mode 100644
index d8e1f824d..000000000
--- a/tests/dictionaries_old/10valid_enum_quote/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- quote'
- quote"
- quote"'
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_quote/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_quote/result/rougail/00-base.yml
new file mode 100644
index 000000000..ea4790639
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_quote/result/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode: expert
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+enumfam:
+ mode: expert
+ enumvar:
+ type: choice
+ description: multi
+ help: bla bla bla
+ default: quote'
+ choices:
+ - quote'
+ - quote"
+ - quote"'
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_quote/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_quote/tiramisu/base.py
index 7e63f90ac..7b95c7540 100644
--- a/tests/dictionaries_old/10valid_enum_quote/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_quote/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"expert"}))
option_5 = ChoiceOption(name="enumvar", doc="multi", values=("quote'", 'quote"', 'quote"\''), default="quote'", properties=frozenset({"expert", "mandatory"}))
option_5.impl_set_information('help', "bla bla bla")
-option_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="enumfam", doc="enumfam", children=[option_5], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_quote/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_quote/tiramisu/multi.py
new file mode 100644
index 000000000..e3c12baf0
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_quote/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"expert"}))
+option_4 = ChoiceOption(name="enumvar", doc="multi", values=("quote'", 'quote"', 'quote"\''), default="quote'", properties=frozenset({"expert", "mandatory"}))
+option_4.impl_set_information('help', "bla bla bla")
+optiondescription_3 = OptionDescription(name="enumfam", doc="enumfam", children=[option_4], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"expert", "mandatory"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"expert"}))
+option_8 = ChoiceOption(name="enumvar", doc="multi", values=("quote'", 'quote"', 'quote"\''), default="quote'", properties=frozenset({"expert", "mandatory"}))
+option_8.impl_set_information('help', "bla bla bla")
+optiondescription_7 = OptionDescription(name="enumfam", doc="enumfam", children=[option_8], properties=frozenset({"expert"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"expert"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/10valid_enum_quote/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_quote/xml/00-base.xml
new file mode 100644
index 000000000..1054c9a12
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_quote/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ non
+
+
+
+
+ quote'
+ quote"
+ quote"'
+ quote'
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_quote/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_quote/yml/00-base.yml
new file mode 100644
index 000000000..71819d043
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_quote/yml/00-base.yml
@@ -0,0 +1,30 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ mode: expert
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: enumfam
+ mode: expert
+ variables:
+ - variable:
+ - name: enumvar
+ type: choice
+ description: multi
+ help: bla bla bla
+ choice:
+ - type: string
+ text: quote'
+ - type: string
+ text: quote"
+ - type: string
+ text: quote"'
+ value:
+ - type: string
+ text: quote'
diff --git a/tests/dictionaries_old/10valid_enum_value/00-base.xml b/tests/dictionaries_old/10valid_enum_value/00-base.xml
deleted file mode 100644
index 4ace18912..000000000
--- a/tests/dictionaries_old/10valid_enum_value/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- b
-
-
-
-
-
- a
- b
- c
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/10valid_enum_value/result/rougail/00-base.yml b/tests/dictionaries_old/10valid_enum_value/result/rougail/00-base.yml
new file mode 100644
index 000000000..838e7f785
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_value/result/rougail/00-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ type: choice
+ description: No change
+ default: b
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries_old/10valid_enum_value/tiramisu/base.py b/tests/dictionaries_old/10valid_enum_value/tiramisu/base.py
index 5791fc0dd..24a08fe76 100644
--- a/tests/dictionaries_old/10valid_enum_value/tiramisu/base.py
+++ b/tests/dictionaries_old/10valid_enum_value/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = ChoiceOption(name="mode_conteneur_actif", doc="No change", values=('a', 'b', 'c'), default="b", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/10valid_enum_value/tiramisu/multi.py b/tests/dictionaries_old/10valid_enum_value/tiramisu/multi.py
new file mode 100644
index 000000000..1ad4a9d05
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_value/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="mode_conteneur_actif", doc="No change", values=('a', 'b', 'c'), default="b", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = ChoiceOption(name="mode_conteneur_actif", doc="No change", values=('a', 'b', 'c'), default="b", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/10valid_enum_value/xml/00-base.xml b/tests/dictionaries_old/10valid_enum_value/xml/00-base.xml
new file mode 100644
index 000000000..4454a23d3
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_value/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+ b
+ a
+ b
+ c
+
+
+
+
+
diff --git a/tests/dictionaries_old/10valid_enum_value/yml/00-base.yml b/tests/dictionaries_old/10valid_enum_value/yml/00-base.yml
new file mode 100644
index 000000000..0336c28ea
--- /dev/null
+++ b/tests/dictionaries_old/10valid_enum_value/yml/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: choice
+ description: No change
+ value:
+ - type: string
+ text: b
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: string
+ text: c
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/00-base.xml b/tests/dictionaries_old/11disabled_if_in_filelist/00-base.xml
deleted file mode 100644
index dc6be1919..000000000
--- a/tests/dictionaries_old/11disabled_if_in_filelist/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
- /etc/file
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/makedict/after.json b/tests/dictionaries_old/11disabled_if_in_filelist/makedict/after.json
index 14937b25a..f96452594 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist/makedict/after.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist/makedict/after.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": true
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/makedict/base.json b/tests/dictionaries_old/11disabled_if_in_filelist/makedict/base.json
index 05d18c188..8924b3316 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist/makedict/base.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist/makedict/base.json
@@ -2,8 +2,9 @@
"rougail.general.condition": "non",
"rougail.general.mode_conteneur_actif": "non",
"rougail.general.mode_conteneur_actif2": true,
- "services.test.files.file.name": "/etc/file",
- "services.test.files.file.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/makedict/before.json b/tests/dictionaries_old/11disabled_if_in_filelist/makedict/before.json
index 14937b25a..f96452594 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist/makedict/before.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist/makedict/before.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": true
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/result/etc/file b/tests/dictionaries_old/11disabled_if_in_filelist/result/etc/file
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries_old/11disabled_if_in_filelist/result/etc/file
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/result/rougail/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist/result/rougail/00-base.yml
new file mode 100644
index 000000000..ccb368d8b
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist/result/rougail/00-base.yml
@@ -0,0 +1,21 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: boolean
+ description: No change
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/result/services/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist/result/services/00-base.yml
new file mode 100644
index 000000000..91273e771
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /etc/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/11disabled_if_in_filelist/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 574c7b823..000000000
--- a/tests/dictionaries_old/11disabled_if_in_filelist/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-z /etc/file - - - - -
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/tiramisu/base.py b/tests/dictionaries_old/11disabled_if_in_filelist/tiramisu/base.py
index d9eca787d..4e314c9da 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist/tiramisu/base.py
+++ b/tests/dictionaries_old/11disabled_if_in_filelist/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_5 = BoolOption(name="mode_conteneur_actif2", doc="No change", default=True, properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = BoolOption(name="mode_conteneur_actif2", doc="No change", default=True, properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
-option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11])
-option_9.impl_set_information('source', "file")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/etc/file")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/tiramisu/multi.py b/tests/dictionaries_old/11disabled_if_in_filelist/tiramisu/multi.py
new file mode 100644
index 000000000..1b93e13c5
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = BoolOption(name="mode_conteneur_actif2", doc="No change", default=True, properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_14 = StrOption(name="source", doc="source", default="file")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
+optiondescription_11 = OptionDescription(name="file", doc="file", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_8 = BoolOption(name="mode_conteneur_actif2", doc="No change", default=True, properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_21 = StrOption(name="source", doc="source", default="file")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
+optiondescription_18 = OptionDescription(name="file", doc="file", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/xml/00-base.xml b/tests/dictionaries_old/11disabled_if_in_filelist/xml/00-base.xml
new file mode 100644
index 000000000..5f15500ec
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ /etc/file
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist/yml/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist/yml/00-base.yml
new file mode 100644
index 000000000..701215bd5
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist/yml/00-base.yml
@@ -0,0 +1,38 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /etc/file
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: boolean
+ description: No change
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/00-base.xml b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/00-base.xml
deleted file mode 100644
index a74e53316..000000000
--- a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
-
-
-
-
- True
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/after.json b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/after.json
index 2d2b3390a..69befa8d2 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/after.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/after.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": true
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/base.json b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/base.json
index e0b590dcc..328ee3e37 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/base.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/base.json
@@ -1,7 +1,8 @@
{
"rougail.general.condition": true,
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": false,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/before.json b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/before.json
index 2d2b3390a..69befa8d2 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/before.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/makedict/before.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": true
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/result/rougail/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/result/rougail/00-base.yml
new file mode 100644
index 000000000..9b10c48f8
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/result/rougail/00-base.yml
@@ -0,0 +1,4 @@
+general:
+ condition:
+ type: boolean
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/result/services/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/result/services/00-base.yml
new file mode 100644
index 000000000..8d43ab1c1
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == true %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/tiramisu/base.py b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/tiramisu/base.py
index 90367ba3e..655bf3a97 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/tiramisu/base.py
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/tiramisu/base.py
@@ -1,26 +1,39 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_9 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue(True)})))
-option_7 = OptionDescription(name="file1", doc="file1", children=[option_8, option_9])
-option_7.impl_set_information('source', "file1")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7])
+option_9 = FilenameOption(name="source", doc="source", default="/tmp/file1")
option_10 = BoolOption(name="activate", doc="activate", default=True)
-option_11 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_10, option_11])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_7 = OptionDescription(name="file1", doc="file1", children=[option_8, option_9, option_10])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7])
+option_11 = BoolOption(name="activate", doc="activate", default=True)
+option_12 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_11, option_12])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/tiramisu/multi.py b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/tiramisu/multi.py
new file mode 100644
index 000000000..d6644fcf8
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/tiramisu/multi.py
@@ -0,0 +1,54 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_9 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_10 = StrOption(name="source", doc="source", default="file1")
+option_8 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue(True)})))
+optiondescription_7 = OptionDescription(name="file1", doc="file1", children=[option_9, option_10, option_8])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7])
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_11 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_22 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_6, option_5, option_11])
+optiondescription_22.impl_set_information('type', "service")
+optiondescription_21 = OptionDescription(name="services", doc="services", children=[optiondescription_22], properties=frozenset({"hidden"}))
+optiondescription_19 = OptionDescription(name="1", doc="1", children=[optiondescription_20, optiondescription_21])
+option_4 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+option_16 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_17 = StrOption(name="source", doc="source", default="file1")
+option_15 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_4, notraisepropertyerror=True), 'expected_0': ParamValue(True)})))
+optiondescription_14 = OptionDescription(name="file1", doc="file1", children=[option_16, option_17, option_15])
+optiondescription_13 = OptionDescription(name="files", doc="files", children=[optiondescription_14])
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+option_18 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_13, option_12, option_18])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="2", doc="2", children=[optiondescription_24, optiondescription_25])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_19, optiondescription_23])
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/xml/00-base.xml b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/xml/00-base.xml
new file mode 100644
index 000000000..cb9c4bc18
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ /tmp/file1
+
+
+
+
+
+
+
+
+
+ True
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean/yml/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/yml/00-base.yml
new file mode 100644
index 000000000..956f4c937
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean/yml/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: boolean
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - type: boolean
+ text: true
+ target:
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/00-base.xml b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/00-base.xml
deleted file mode 100644
index a3f201174..000000000
--- a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
- False
-
-
-
-
-
- True
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/after.json b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/after.json
index a7cf2fa1f..8df0f30a1 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/after.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/after.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": false
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/base.json b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/base.json
index 1920d6a35..9635e68a5 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/base.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/base.json
@@ -1,7 +1,8 @@
{
"rougail.general.condition": false,
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/before.json b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/before.json
index a7cf2fa1f..8df0f30a1 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/before.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/makedict/before.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": false
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/result/rougail/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/result/rougail/00-base.yml
new file mode 100644
index 000000000..c0abf7583
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/result/rougail/00-base.yml
@@ -0,0 +1,5 @@
+general:
+ condition:
+ type: boolean
+ default: false
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/result/services/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/result/services/00-base.yml
new file mode 100644
index 000000000..8d43ab1c1
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == true %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/tiramisu/base.py b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/tiramisu/base.py
index 9284fbfb1..48e46b92a 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/tiramisu/base.py
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/tiramisu/base.py
@@ -1,26 +1,39 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = BoolOption(name="condition", doc="condition", default=False, properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_9 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue(True)})))
-option_7 = OptionDescription(name="file1", doc="file1", children=[option_8, option_9])
-option_7.impl_set_information('source', "file1")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7])
+option_9 = FilenameOption(name="source", doc="source", default="/tmp/file1")
option_10 = BoolOption(name="activate", doc="activate", default=True)
-option_11 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_10, option_11])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_7 = OptionDescription(name="file1", doc="file1", children=[option_8, option_9, option_10])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7])
+option_11 = BoolOption(name="activate", doc="activate", default=True)
+option_12 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_11, option_12])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/tiramisu/multi.py b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/tiramisu/multi.py
new file mode 100644
index 000000000..de38d9f2f
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/tiramisu/multi.py
@@ -0,0 +1,54 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = BoolOption(name="condition", doc="condition", default=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_9 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_10 = StrOption(name="source", doc="source", default="file1")
+option_8 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue(True)})))
+optiondescription_7 = OptionDescription(name="file1", doc="file1", children=[option_9, option_10, option_8])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7])
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_11 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_22 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_6, option_5, option_11])
+optiondescription_22.impl_set_information('type', "service")
+optiondescription_21 = OptionDescription(name="services", doc="services", children=[optiondescription_22], properties=frozenset({"hidden"}))
+optiondescription_19 = OptionDescription(name="1", doc="1", children=[optiondescription_20, optiondescription_21])
+option_4 = BoolOption(name="condition", doc="condition", default=False, properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+option_16 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_17 = StrOption(name="source", doc="source", default="file1")
+option_15 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_4, notraisepropertyerror=True), 'expected_0': ParamValue(True)})))
+optiondescription_14 = OptionDescription(name="file1", doc="file1", children=[option_16, option_17, option_15])
+optiondescription_13 = OptionDescription(name="files", doc="files", children=[optiondescription_14])
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+option_18 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_13, option_12, option_18])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="2", doc="2", children=[optiondescription_24, optiondescription_25])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_19, optiondescription_23])
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/xml/00-base.xml b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/xml/00-base.xml
new file mode 100644
index 000000000..8b58617a4
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/xml/00-base.xml
@@ -0,0 +1,21 @@
+
+
+
+
+ /tmp/file1
+
+
+
+
+
+ False
+
+
+
+
+
+ True
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/yml/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/yml/00-base.yml
new file mode 100644
index 000000000..700a65b1b
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_boolean2/yml/00-base.yml
@@ -0,0 +1,25 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: boolean
+ value:
+ - text: false
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: true
+ target:
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/00-base.xml b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/00-base.xml
deleted file mode 100644
index c9283603e..000000000
--- a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
- /etc/file
-
-
-
-
-
- oui
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/after.json b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/after.json
index 9c46a0229..221ca49f3 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/after.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/after.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/base.json b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/base.json
index a7466708d..e2b8adeae 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/base.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/base.json
@@ -1,7 +1,8 @@
{
"rougail.general.condition": "oui",
- "services.test.files.file.name": "/etc/file",
- "services.test.files.file.activate": false,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/before.json b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/before.json
index 9c46a0229..221ca49f3 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/before.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/makedict/before.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/result/rougail/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/result/rougail/00-base.yml
new file mode 100644
index 000000000..db70b3ed2
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: oui
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/result/services/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/result/services/00-base.yml
new file mode 100644
index 000000000..91273e771
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /etc/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/tiramisu/base.py b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/tiramisu/base.py
index 698d9af66..d676bf37a 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/tiramisu/base.py
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
-option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11])
-option_9.impl_set_information('source', "file")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/etc/file")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/tiramisu/multi.py b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/tiramisu/multi.py
new file mode 100644
index 000000000..1d686ede8
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_14 = StrOption(name="source", doc="source", default="file")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
+optiondescription_11 = OptionDescription(name="file", doc="file", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_21 = StrOption(name="source", doc="source", default="file")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
+optiondescription_18 = OptionDescription(name="file", doc="file", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/xml/00-base.xml b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/xml/00-base.xml
new file mode 100644
index 000000000..93676cb66
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/xml/00-base.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ /etc/file
+
+
+
+
+
+ oui
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_disabled/yml/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/yml/00-base.yml
new file mode 100644
index 000000000..c4710e6c5
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_disabled/yml/00-base.yml
@@ -0,0 +1,40 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /etc/file
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: oui
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_multi/00-base.xml b/tests/dictionaries_old/11disabled_if_in_filelist_multi/00-base.xml
deleted file mode 100644
index 43a9b82bd..000000000
--- a/tests/dictionaries_old/11disabled_if_in_filelist_multi/00-base.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- /tmp/file1
- /tmp/file2
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/after.json b/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/after.json
index f09965a89..bc8625abf 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/after.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/after.json
@@ -11,27 +11,35 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/tmp/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/base.json b/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/base.json
index 0e923582c..97f44b587 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/base.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/base.json
@@ -2,10 +2,12 @@
"rougail.general.condition": "non",
"rougail.general.mode_conteneur_actif": "non",
"rougail.general.mode_conteneur_actif2": "non",
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": true,
- "services.test.files.file2.name": "/tmp/file2",
- "services.test.files.file2.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": true,
+ "services.test_service.files.file2.name": "/tmp/file2",
+ "services.test_service.files.file2.source": "file2",
+ "services.test_service.files.file2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/before.json b/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/before.json
index f09965a89..bc8625abf 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/before.json
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_multi/makedict/before.json
@@ -11,27 +11,35 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": true
},
- "services.test.files.file2.name": {
+ "services.test_service.files.file2.name": {
"owner": "default",
"value": "/tmp/file2"
},
- "services.test.files.file2.activate": {
+ "services.test_service.files.file2.source": {
+ "owner": "default",
+ "value": "file2"
+ },
+ "services.test_service.files.file2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_multi/result/rougail/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..57453550e
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_multi/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_multi/result/services/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_multi/result/services/00-base.yml
new file mode 100644
index 000000000..ebf2d5a93
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_multi/result/services/00-base.yml
@@ -0,0 +1,13 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ /tmp/file2:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_multi/tiramisu/base.py b/tests/dictionaries_old/11disabled_if_in_filelist_multi/tiramisu/base.py
index 60425117d..e2b2fa02f 100644
--- a/tests/dictionaries_old/11disabled_if_in_filelist_multi/tiramisu/base.py
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_multi/tiramisu/base.py
@@ -1,32 +1,45 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
-option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11])
-option_9.impl_set_information('source', "file1")
-option_13 = FilenameOption(name="name", doc="name", default="/tmp/file2")
-option_14 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
-option_12 = OptionDescription(name="file2", doc="file2", children=[option_13, option_14])
-option_12.impl_set_information('source', "file2")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9, option_12])
-option_15 = BoolOption(name="activate", doc="activate", default=True)
-option_16 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_15, option_16])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file1")
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12])
+option_14 = FilenameOption(name="name", doc="name", default="/tmp/file2")
+option_15 = FilenameOption(name="source", doc="source", default="/tmp/file2")
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_13 = OptionDescription(name="file2", doc="file2", children=[option_14, option_15, option_16])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9, optiondescription_13])
+option_17 = BoolOption(name="activate", doc="activate", default=True)
+option_18 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_17, option_18])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_multi/tiramisu/multi.py b/tests/dictionaries_old/11disabled_if_in_filelist_multi/tiramisu/multi.py
new file mode 100644
index 000000000..91dbf827f
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_multi/tiramisu/multi.py
@@ -0,0 +1,66 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_32 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_14 = StrOption(name="source", doc="source", default="file1")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
+optiondescription_11 = OptionDescription(name="file1", doc="file1", children=[option_13, option_14, option_12])
+option_17 = FilenameOption(name="name", doc="name", default="/tmp/file2")
+option_18 = StrOption(name="source", doc="source", default="file2")
+option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
+optiondescription_15 = OptionDescription(name="file2", doc="file2", children=[option_17, option_18, option_16])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11, optiondescription_15])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_19 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_34 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_19])
+optiondescription_34.impl_set_information('type', "service")
+optiondescription_33 = OptionDescription(name="services", doc="services", children=[optiondescription_34], properties=frozenset({"hidden"}))
+optiondescription_31 = OptionDescription(name="1", doc="1", children=[optiondescription_32, optiondescription_33])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_36 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_24 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_25 = StrOption(name="source", doc="source", default="file1")
+option_23 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
+optiondescription_22 = OptionDescription(name="file1", doc="file1", children=[option_24, option_25, option_23])
+option_28 = FilenameOption(name="name", doc="name", default="/tmp/file2")
+option_29 = StrOption(name="source", doc="source", default="file2")
+option_27 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
+optiondescription_26 = OptionDescription(name="file2", doc="file2", children=[option_28, option_29, option_27])
+optiondescription_21 = OptionDescription(name="files", doc="files", children=[optiondescription_22, optiondescription_26])
+option_20 = BoolOption(name="activate", doc="activate", default=True)
+option_30 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_38 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_21, option_20, option_30])
+optiondescription_38.impl_set_information('type', "service")
+optiondescription_37 = OptionDescription(name="services", doc="services", children=[optiondescription_38], properties=frozenset({"hidden"}))
+optiondescription_35 = OptionDescription(name="2", doc="2", children=[optiondescription_36, optiondescription_37])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_31, optiondescription_35])
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_multi/xml/00-base.xml b/tests/dictionaries_old/11disabled_if_in_filelist_multi/xml/00-base.xml
new file mode 100644
index 000000000..9e1d3cde6
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_multi/xml/00-base.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ /tmp/file1
+ /tmp/file2
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_multi/yml/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_multi/yml/00-base.yml
new file mode 100644
index 000000000..e461573f6
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_multi/yml/00-base.yml
@@ -0,0 +1,42 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+ - filelist: afilllist
+ text: /tmp/file2
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries/01base_provider_hidden/__init__.py b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/__init__.py
similarity index 100%
rename from tests/dictionaries/01base_provider_hidden/__init__.py
rename to tests/dictionaries_old/11disabled_if_in_filelist_same_name/__init__.py
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_same_name/makedict/after.json b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/makedict/after.json
new file mode 100644
index 000000000..f96452594
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/makedict/after.json
@@ -0,0 +1,34 @@
+{
+ "rougail.general.condition": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.mode_conteneur_actif2": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.files.file.name": {
+ "owner": "default",
+ "value": "/etc/file"
+ },
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_same_name/makedict/base.json b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/makedict/base.json
new file mode 100644
index 000000000..8924b3316
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/makedict/base.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.condition": "non",
+ "rougail.general.mode_conteneur_actif": "non",
+ "rougail.general.mode_conteneur_actif2": true,
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
+}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_same_name/makedict/before.json b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/makedict/before.json
new file mode 100644
index 000000000..f96452594
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/makedict/before.json
@@ -0,0 +1,34 @@
+{
+ "rougail.general.condition": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.mode_conteneur_actif2": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.files.file.name": {
+ "owner": "default",
+ "value": "/etc/file"
+ },
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_same_name/result/rougail/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/result/rougail/00-base.yml
new file mode 100644
index 000000000..ccb368d8b
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/result/rougail/00-base.yml
@@ -0,0 +1,21 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: boolean
+ description: No change
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_same_name/result/services/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/result/services/00-base.yml
new file mode 100644
index 000000000..91273e771
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /etc/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_same_name/tiramisu/base.py b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/tiramisu/base.py
new file mode 100644
index 000000000..4e314c9da
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/tiramisu/base.py
@@ -0,0 +1,41 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = BoolOption(name="mode_conteneur_actif2", doc="No change", default=True, properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_10 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_11 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_same_name/tiramisu/multi.py b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/tiramisu/multi.py
new file mode 100644
index 000000000..1b93e13c5
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_4 = BoolOption(name="mode_conteneur_actif2", doc="No change", default=True, properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_14 = StrOption(name="source", doc="source", default="file")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
+optiondescription_11 = OptionDescription(name="file", doc="file", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_8 = BoolOption(name="mode_conteneur_actif2", doc="No change", default=True, properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_21 = StrOption(name="source", doc="source", default="file")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue("oui")})))
+optiondescription_18 = OptionDescription(name="file", doc="file", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/20notemplating/result/etc/file b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/tmpl/file
similarity index 100%
rename from tests/dictionaries_old/20notemplating/result/etc/file
rename to tests/dictionaries_old/11disabled_if_in_filelist_same_name/tmpl/file
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_same_name/xml/00-base.xml b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/xml/00-base.xml
new file mode 100644
index 000000000..11c6f4882
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ /etc/file
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+ mode_conteneur_actif2
+ condition
+
+
+
diff --git a/tests/dictionaries_old/11disabled_if_in_filelist_same_name/yml/00-base.yml b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/yml/00-base.yml
new file mode 100644
index 000000000..181be9ea4
--- /dev/null
+++ b/tests/dictionaries_old/11disabled_if_in_filelist_same_name/yml/00-base.yml
@@ -0,0 +1,38 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: condition
+ text: /etc/file
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: boolean
+ description: No change
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - type: variable
+ text: mode_conteneur_actif2
+ - type: filelist
+ text: condition
diff --git a/tests/dictionaries_old/11disabledifin_filelist_notexist/00-base.xml b/tests/dictionaries_old/11disabledifin_filelist_notexist/00-base.xml
deleted file mode 100644
index 373e6cfca..000000000
--- a/tests/dictionaries_old/11disabledifin_filelist_notexist/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
- /tmp/file
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- unpossible
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/after.json b/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/after.json
index 7017b8a5b..ae1ef20d9 100644
--- a/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/after.json
+++ b/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/after.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/tmp/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/base.json b/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/base.json
index 23361c536..1a6e1a8bd 100644
--- a/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/base.json
+++ b/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/base.json
@@ -2,8 +2,9 @@
"rougail.general.condition": "non",
"rougail.general.mode_conteneur_actif": "non",
"rougail.general.mode_conteneur_actif2": "non",
- "services.test.files.file.name": "/tmp/file",
- "services.test.files.file.activate": false,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/tmp/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/before.json b/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/before.json
index 7017b8a5b..ae1ef20d9 100644
--- a/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/before.json
+++ b/tests/dictionaries_old/11disabledifin_filelist_notexist/makedict/before.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/tmp/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabledifin_filelist_notexist/result/rougail/00-base.yml b/tests/dictionaries_old/11disabledifin_filelist_notexist/result/rougail/00-base.yml
new file mode 100644
index 000000000..0702f5f71
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifin_filelist_notexist/result/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabledifin_filelist_notexist/result/services/00-base.yml b/tests/dictionaries_old/11disabledifin_filelist_notexist/result/services/00-base.yml
new file mode 100644
index 000000000..9209d7615
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifin_filelist_notexist/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "unpossible" %}false{% else %}true{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabledifin_filelist_notexist/tiramisu/base.py b/tests/dictionaries_old/11disabledifin_filelist_notexist/tiramisu/base.py
index b38de636d..9dbf2a1f1 100644
--- a/tests/dictionaries_old/11disabledifin_filelist_notexist/tiramisu/base.py
+++ b/tests/dictionaries_old/11disabledifin_filelist_notexist/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue("unpossible"), 'reverse_condition_0': ParamValue(True)})))
-option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11])
-option_9.impl_set_information('source', "file")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/11disabledifin_filelist_notexist/tiramisu/multi.py b/tests/dictionaries_old/11disabledifin_filelist_notexist/tiramisu/multi.py
new file mode 100644
index 000000000..a29c14de5
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifin_filelist_notexist/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file")
+option_14 = StrOption(name="source", doc="source", default="file")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("unpossible"), 'reverse_condition_0': ParamValue(True)})))
+optiondescription_11 = OptionDescription(name="file", doc="file", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/tmp/file")
+option_21 = StrOption(name="source", doc="source", default="file")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue("unpossible"), 'reverse_condition_0': ParamValue(True)})))
+optiondescription_18 = OptionDescription(name="file", doc="file", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/11disabledifin_filelist_notexist/xml/00-base.xml b/tests/dictionaries_old/11disabledifin_filelist_notexist/xml/00-base.xml
new file mode 100644
index 000000000..f99b30223
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifin_filelist_notexist/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ /tmp/file
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ unpossible
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/11disabledifin_filelist_notexist/yml/00-base.yml b/tests/dictionaries_old/11disabledifin_filelist_notexist/yml/00-base.yml
new file mode 100644
index 000000000..8d6c22565
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifin_filelist_notexist/yml/00-base.yml
@@ -0,0 +1,38 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_not_in
+ source: condition
+ param:
+ - text: unpossible
+ target:
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/00-base.xml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/00-base.xml
deleted file mode 100644
index 373e6cfca..000000000
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
- /tmp/file
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- unpossible
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/after.json b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/after.json
index 7017b8a5b..ae1ef20d9 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/after.json
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/after.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/tmp/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/base.json b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/base.json
index 23361c536..1a6e1a8bd 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/base.json
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/base.json
@@ -2,8 +2,9 @@
"rougail.general.condition": "non",
"rougail.general.mode_conteneur_actif": "non",
"rougail.general.mode_conteneur_actif2": "non",
- "services.test.files.file.name": "/tmp/file",
- "services.test.files.file.activate": false,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/tmp/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/before.json b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/before.json
index 7017b8a5b..ae1ef20d9 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/before.json
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/makedict/before.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/tmp/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/result/rougail/00-base.yml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/result/rougail/00-base.yml
new file mode 100644
index 000000000..0702f5f71
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/result/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/result/services/00-base.yml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/result/services/00-base.yml
new file mode 100644
index 000000000..9209d7615
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "unpossible" %}false{% else %}true{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/tiramisu/base.py b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/tiramisu/base.py
index b38de636d..9dbf2a1f1 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/tiramisu/base.py
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue("unpossible"), 'reverse_condition_0': ParamValue(True)})))
-option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11])
-option_9.impl_set_information('source', "file")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/tiramisu/multi.py b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/tiramisu/multi.py
new file mode 100644
index 000000000..a29c14de5
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file")
+option_14 = StrOption(name="source", doc="source", default="file")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("unpossible"), 'reverse_condition_0': ParamValue(True)})))
+optiondescription_11 = OptionDescription(name="file", doc="file", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/tmp/file")
+option_21 = StrOption(name="source", doc="source", default="file")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue("unpossible"), 'reverse_condition_0': ParamValue(True)})))
+optiondescription_18 = OptionDescription(name="file", doc="file", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/xml/00-base.xml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/xml/00-base.xml
new file mode 100644
index 000000000..f99b30223
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ /tmp/file
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ unpossible
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist/yml/00-base.yml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/yml/00-base.yml
new file mode 100644
index 000000000..8d6c22565
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist/yml/00-base.yml
@@ -0,0 +1,38 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_not_in
+ source: condition
+ param:
+ - text: unpossible
+ target:
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/00-base.xml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/00-base.xml
deleted file mode 100644
index 9d8e3356f..000000000
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/00-base.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
- /tmp/file
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- unpossible
- afilllist
-
-
- oui
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/after.json b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/after.json
index 7017b8a5b..ae1ef20d9 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/after.json
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/after.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/tmp/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/base.json b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/base.json
index 23361c536..1a6e1a8bd 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/base.json
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/base.json
@@ -2,8 +2,9 @@
"rougail.general.condition": "non",
"rougail.general.mode_conteneur_actif": "non",
"rougail.general.mode_conteneur_actif2": "non",
- "services.test.files.file.name": "/tmp/file",
- "services.test.files.file.activate": false,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/tmp/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/before.json b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/before.json
index 7017b8a5b..ae1ef20d9 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/before.json
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/makedict/before.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/tmp/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/result/rougail/00-base.yml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..0702f5f71
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/result/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/result/services/00-base.yml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/result/services/00-base.yml
new file mode 100644
index 000000000..9209d7615
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "unpossible" %}false{% else %}true{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/tiramisu/base.py b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/tiramisu/base.py
index 947acdd98..9dbf2a1f1 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/tiramisu/base.py
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue("unpossible"), 'reverse_condition_0': ParamValue(True), 'condition_1': ParamOption(option_5, notraisepropertyerror=True), 'expected_1': ParamValue("oui"), 'reverse_condition_1': ParamValue(True), 'condition_operator': ParamValue("OR")})))
-option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11])
-option_9.impl_set_information('source', "file")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/tiramisu/multi.py b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/tiramisu/multi.py
new file mode 100644
index 000000000..c5537d8f7
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file")
+option_14 = StrOption(name="source", doc="source", default="file")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("unpossible"), 'reverse_condition_0': ParamValue(True), 'condition_1': ParamOption(option_4, notraisepropertyerror=True), 'expected_1': ParamValue("oui"), 'reverse_condition_1': ParamValue(True), 'condition_operator': ParamValue("OR")})))
+optiondescription_11 = OptionDescription(name="file", doc="file", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/tmp/file")
+option_21 = StrOption(name="source", doc="source", default="file")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue("unpossible"), 'reverse_condition_0': ParamValue(True), 'condition_1': ParamOption(option_8, notraisepropertyerror=True), 'expected_1': ParamValue("oui"), 'reverse_condition_1': ParamValue(True), 'condition_operator': ParamValue("OR")})))
+optiondescription_18 = OptionDescription(name="file", doc="file", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/xml/00-base.xml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/xml/00-base.xml
new file mode 100644
index 000000000..0e7d86f1e
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/xml/00-base.xml
@@ -0,0 +1,31 @@
+
+
+
+
+ /tmp/file
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ unpossible
+ afilllist
+
+
+ oui
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/yml/00-base.yml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/yml/00-base.yml
new file mode 100644
index 000000000..80c18510a
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_multi/yml/00-base.yml
@@ -0,0 +1,45 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_not_in
+ source: condition
+ param:
+ - text: unpossible
+ target:
+ - type: filelist
+ text: afilllist
+ - name: disabled_if_not_in
+ source: mode_conteneur_actif2
+ param:
+ - text: oui
+ target:
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/00-base.xml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/00-base.xml
deleted file mode 100644
index e82e5b27e..000000000
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/00-base.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
- /tmp/file
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- non
- statique
- condition
-
-
- statique
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/after.json b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/after.json
index 7017b8a5b..ae1ef20d9 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/after.json
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/after.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/tmp/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/base.json b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/base.json
index 23361c536..1a6e1a8bd 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/base.json
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/base.json
@@ -2,8 +2,9 @@
"rougail.general.condition": "non",
"rougail.general.mode_conteneur_actif": "non",
"rougail.general.mode_conteneur_actif2": "non",
- "services.test.files.file.name": "/tmp/file",
- "services.test.files.file.activate": false,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/tmp/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/before.json b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/before.json
index 7017b8a5b..ae1ef20d9 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/before.json
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/makedict/before.json
@@ -11,19 +11,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/tmp/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/result/rougail/00-base.yml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/result/rougail/00-base.yml
new file mode 100644
index 000000000..d4635ae31
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/result/rougail/00-base.yml
@@ -0,0 +1,19 @@
+general:
+ condition:
+ type: choice
+ description: No change
+ default: non
+ choices:
+ - non
+ - statique
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/result/services/00-base.yml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/result/services/00-base.yml
new file mode 100644
index 000000000..30155012f
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /tmp/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "statique" %}false{% else %}true{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/tiramisu/base.py b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/tiramisu/base.py
index f3b8052a0..496a976eb 100644
--- a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/tiramisu/base.py
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = ChoiceOption(name="condition", doc="No change", values=('non', 'statique'), default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = FilenameOption(name="name", doc="name", default="/tmp/file")
-option_11 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue("statique"), 'reverse_condition_0': ParamValue(True)})))
-option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11])
-option_9.impl_set_information('source', "file")
-option_8 = OptionDescription(name="files", doc="files", children=[option_9])
+option_11 = FilenameOption(name="source", doc="source", default="/tmp/file")
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="test", doc="test", children=[option_8, option_12, option_13])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/tiramisu/multi.py b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/tiramisu/multi.py
new file mode 100644
index 000000000..7a91f5897
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/tiramisu/multi.py
@@ -0,0 +1,58 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="condition", doc="No change", values=('non', 'statique'), default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_13 = FilenameOption(name="name", doc="name", default="/tmp/file")
+option_14 = StrOption(name="source", doc="source", default="file")
+option_12 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("statique"), 'reverse_condition_0': ParamValue(True)})))
+optiondescription_11 = OptionDescription(name="file", doc="file", children=[option_13, option_14, option_12])
+optiondescription_10 = OptionDescription(name="files", doc="files", children=[optiondescription_11])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_10, option_9, option_15])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="1", doc="1", children=[optiondescription_24, optiondescription_25])
+option_6 = ChoiceOption(name="condition", doc="No change", values=('non', 'statique'), default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_28 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_20 = FilenameOption(name="name", doc="name", default="/tmp/file")
+option_21 = StrOption(name="source", doc="source", default="file")
+option_19 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_6, notraisepropertyerror=True), 'expected_0': ParamValue("statique"), 'reverse_condition_0': ParamValue(True)})))
+optiondescription_18 = OptionDescription(name="file", doc="file", children=[option_20, option_21, option_19])
+optiondescription_17 = OptionDescription(name="files", doc="files", children=[optiondescription_18])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_30 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_17, option_16, option_22])
+optiondescription_30.impl_set_information('type', "service")
+optiondescription_29 = OptionDescription(name="services", doc="services", children=[optiondescription_30], properties=frozenset({"hidden"}))
+optiondescription_27 = OptionDescription(name="2", doc="2", children=[optiondescription_28, optiondescription_29])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_23, optiondescription_27])
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/xml/00-base.xml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/xml/00-base.xml
new file mode 100644
index 000000000..74d48ad2a
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/xml/00-base.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ /tmp/file
+
+
+
+
+
+ non
+ non
+ statique
+
+
+ non
+
+
+ non
+
+
+
+
+
+ statique
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/yml/00-base.yml b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/yml/00-base.yml
new file mode 100644
index 000000000..bd78bb6c0
--- /dev/null
+++ b/tests/dictionaries_old/11disabledifnotin_filelist_notexist_validenum/yml/00-base.yml
@@ -0,0 +1,44 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ type: choice
+ description: No change
+ value:
+ - type: string
+ text: non
+ choice:
+ - type: string
+ text: non
+ - type: string
+ text: statique
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_not_in
+ source: condition
+ param:
+ - text: statique
+ target:
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/11multi_disabled_if_in_filelist/00-base.xml b/tests/dictionaries_old/11multi_disabled_if_in_filelist/00-base.xml
deleted file mode 100644
index 52a2c9458..000000000
--- a/tests/dictionaries_old/11multi_disabled_if_in_filelist/00-base.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- non
- afilllist
-
-
- non
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/after.json b/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/after.json
index e578b184c..bcd6b56d5 100644
--- a/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/after.json
+++ b/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/after.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/base.json b/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/base.json
index 4c33e3d9f..7dd7f60d0 100644
--- a/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/base.json
+++ b/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/base.json
@@ -1,8 +1,9 @@
{
"rougail.general.mode_conteneur_actif": "non",
"rougail.general.condition": "non",
- "services.test.files.file1.name": "/tmp/file1",
- "services.test.files.file1.activate": false,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file1.name": "/tmp/file1",
+ "services.test_service.files.file1.source": "file1",
+ "services.test_service.files.file1.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/before.json b/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/before.json
index e578b184c..bcd6b56d5 100644
--- a/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/before.json
+++ b/tests/dictionaries_old/11multi_disabled_if_in_filelist/makedict/before.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file1.name": {
+ "services.test_service.files.file1.name": {
"owner": "default",
"value": "/tmp/file1"
},
- "services.test.files.file1.activate": {
+ "services.test_service.files.file1.source": {
+ "owner": "default",
+ "value": "file1"
+ },
+ "services.test_service.files.file1.activate": {
"owner": "default",
"value": false
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/11multi_disabled_if_in_filelist/result/rougail/00-base.yml b/tests/dictionaries_old/11multi_disabled_if_in_filelist/result/rougail/00-base.yml
new file mode 100644
index 000000000..b7524fed1
--- /dev/null
+++ b/tests/dictionaries_old/11multi_disabled_if_in_filelist/result/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/11multi_disabled_if_in_filelist/result/services/00-base.yml b/tests/dictionaries_old/11multi_disabled_if_in_filelist/result/services/00-base.yml
new file mode 100644
index 000000000..cef7b6d98
--- /dev/null
+++ b/tests/dictionaries_old/11multi_disabled_if_in_filelist/result/services/00-base.yml
@@ -0,0 +1,7 @@
+test.service:
+ files:
+ /tmp/file1:
+ disabled:
+ type: jinja
+ jinja: '{% if __activer_clam == "non" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11multi_disabled_if_in_filelist/tiramisu/base.py b/tests/dictionaries_old/11multi_disabled_if_in_filelist/tiramisu/base.py
index c851d0498..ccc4de141 100644
--- a/tests/dictionaries_old/11multi_disabled_if_in_filelist/tiramisu/base.py
+++ b/tests/dictionaries_old/11multi_disabled_if_in_filelist/tiramisu/base.py
@@ -1,27 +1,40 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_4 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_9 = FilenameOption(name="name", doc="name", default="/tmp/file1")
-option_10 = BoolOption(name="activate", doc="activate", default=False)
-option_8 = OptionDescription(name="file1", doc="file1", children=[option_9, option_10])
-option_8.impl_set_information('source', "file1")
-option_7 = OptionDescription(name="files", doc="files", children=[option_8])
+option_10 = FilenameOption(name="source", doc="source", default="/tmp/file1")
option_11 = BoolOption(name="activate", doc="activate", default=True)
-option_12 = BoolOption(name="manage", doc="manage", default=True)
-option_6 = OptionDescription(name="test", doc="test", children=[option_7, option_11, option_12])
-option_5 = OptionDescription(name="services", doc="services", children=[option_6], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5])
+optiondescription_8 = OptionDescription(name="file1", doc="file1", children=[option_9, option_10, option_11])
+optiondescription_7 = OptionDescription(name="files", doc="files", children=[optiondescription_8])
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+option_13 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_6 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_7, option_12, option_13])
+optiondescription_6.impl_set_information('type', "service")
+optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries_old/11multi_disabled_if_in_filelist/tiramisu/multi.py b/tests/dictionaries_old/11multi_disabled_if_in_filelist/tiramisu/multi.py
new file mode 100644
index 000000000..e7a38ca4b
--- /dev/null
+++ b/tests/dictionaries_old/11multi_disabled_if_in_filelist/tiramisu/multi.py
@@ -0,0 +1,56 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_22 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_11 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_12 = StrOption(name="source", doc="source", default="file1")
+option_10 = BoolOption(name="activate", doc="activate", default=False)
+optiondescription_9 = OptionDescription(name="file1", doc="file1", children=[option_11, option_12, option_10])
+optiondescription_8 = OptionDescription(name="files", doc="files", children=[optiondescription_9])
+option_7 = BoolOption(name="activate", doc="activate", default=True)
+option_13 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_24 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_8, option_7, option_13])
+optiondescription_24.impl_set_information('type', "service")
+optiondescription_23 = OptionDescription(name="services", doc="services", children=[optiondescription_24], properties=frozenset({"hidden"}))
+optiondescription_21 = OptionDescription(name="1", doc="1", children=[optiondescription_22, optiondescription_23])
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_6 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_26 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+option_18 = FilenameOption(name="name", doc="name", default="/tmp/file1")
+option_19 = StrOption(name="source", doc="source", default="file1")
+option_17 = BoolOption(name="activate", doc="activate", default=False)
+optiondescription_16 = OptionDescription(name="file1", doc="file1", children=[option_18, option_19, option_17])
+optiondescription_15 = OptionDescription(name="files", doc="files", children=[optiondescription_16])
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+option_20 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_28 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_15, option_14, option_20])
+optiondescription_28.impl_set_information('type', "service")
+optiondescription_27 = OptionDescription(name="services", doc="services", children=[optiondescription_28], properties=frozenset({"hidden"}))
+optiondescription_25 = OptionDescription(name="2", doc="2", children=[optiondescription_26, optiondescription_27])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_21, optiondescription_25])
diff --git a/tests/dictionaries_old/11multi_disabled_if_in_filelist/xml/00-base.xml b/tests/dictionaries_old/11multi_disabled_if_in_filelist/xml/00-base.xml
new file mode 100644
index 000000000..2c6dcef13
--- /dev/null
+++ b/tests/dictionaries_old/11multi_disabled_if_in_filelist/xml/00-base.xml
@@ -0,0 +1,28 @@
+
+
+
+
+ /tmp/file1
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
+
+ non
+ afilllist
+
+
+ non
+ afilllist
+
+
+
diff --git a/tests/dictionaries_old/11multi_disabled_if_in_filelist/yml/00-base.yml b/tests/dictionaries_old/11multi_disabled_if_in_filelist/yml/00-base.yml
new file mode 100644
index 000000000..8e37465c3
--- /dev/null
+++ b/tests/dictionaries_old/11multi_disabled_if_in_filelist/yml/00-base.yml
@@ -0,0 +1,40 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: afilllist
+ text: /tmp/file1
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: activer_clam
+ optional: true
+ param:
+ - text: non
+ target:
+ - type: filelist
+ text: afilllist
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: non
+ target:
+ - type: filelist
+ text: afilllist
diff --git a/tests/dictionaries_old/11valid_enum_function/00-base.xml b/tests/dictionaries_old/11valid_enum_function/00-base.xml
deleted file mode 100644
index 8d022f335..000000000
--- a/tests/dictionaries_old/11valid_enum_function/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- 9
-
-
-
-
-
- trange
- 0
- 10
- var
-
-
-
diff --git a/tests/dictionaries_old/11valid_enum_function/result/rougail/00-base.yml b/tests/dictionaries_old/11valid_enum_function/result/rougail/00-base.yml
new file mode 100644
index 000000000..656fcdd61
--- /dev/null
+++ b/tests/dictionaries_old/11valid_enum_function/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ var:
+ type: choice
+ description: New variable
+ default: 9
+ choices:
+ - type: jinja
+ jinja: '{{ 0 | trange(10) }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/11valid_enum_function/tiramisu/base.py b/tests/dictionaries_old/11valid_enum_function/tiramisu/base.py
index 244e84463..60f59c6ae 100644
--- a/tests/dictionaries_old/11valid_enum_function/tiramisu/base.py
+++ b/tests/dictionaries_old/11valid_enum_function/tiramisu/base.py
@@ -1,17 +1,59 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = ChoiceOption(name="var", doc="New variable", values=Calculation(func.trange, Params((ParamValue(0), ParamValue(10)))), default=9, properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.var'] = "{{ 0 | trange(10) }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = ChoiceOption(name="var", doc="New variable", values=Calculation(func.jinja_to_function, Params(())), default=9, properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/11valid_enum_function/tiramisu/multi.py b/tests/dictionaries_old/11valid_enum_function/tiramisu/multi.py
new file mode 100644
index 000000000..babe7634a
--- /dev/null
+++ b/tests/dictionaries_old/11valid_enum_function/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="var", doc="New variable", values=Calculation(func.trange, Params((ParamValue(0), ParamValue(10)))), default=9, properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = ChoiceOption(name="var", doc="New variable", values=Calculation(func.trange, Params((ParamValue(0), ParamValue(10)))), default=9, properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/11valid_enum_function/xml/00-base.xml b/tests/dictionaries_old/11valid_enum_function/xml/00-base.xml
new file mode 100644
index 000000000..c7a623d62
--- /dev/null
+++ b/tests/dictionaries_old/11valid_enum_function/xml/00-base.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ 9
+
+ 0
+ 10
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/11valid_enum_function/yml/00-base.yml b/tests/dictionaries_old/11valid_enum_function/yml/00-base.yml
new file mode 100644
index 000000000..cd5c9698b
--- /dev/null
+++ b/tests/dictionaries_old/11valid_enum_function/yml/00-base.yml
@@ -0,0 +1,20 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: var
+ type: choice
+ description: New variable
+ value:
+ - type: number
+ text: 9
+ choice:
+ - type: function
+ name: trange
+ param:
+ - type: number
+ text: 0
+ - type: number
+ text: 10
diff --git a/tests/dictionaries_old/11valid_enum_variable/00-base.xml b/tests/dictionaries_old/11valid_enum_variable/00-base.xml
deleted file mode 100644
index aacb3e1ef..000000000
--- a/tests/dictionaries_old/11valid_enum_variable/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- a
-
-
- a
- b
- c
-
-
-
-
-
- var
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/11valid_enum_variable/result/rougail/00-base.yml b/tests/dictionaries_old/11valid_enum_variable/result/rougail/00-base.yml
new file mode 100644
index 000000000..ab1accacb
--- /dev/null
+++ b/tests/dictionaries_old/11valid_enum_variable/result/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ mode_conteneur_actif:
+ type: choice
+ description: No change
+ default: a
+ choices:
+ - type: variable
+ variable: rougail.general.var
+ var:
+ type: string
+ description: New variable
+ multi: true
+ default:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries_old/11valid_enum_variable/tiramisu/base.py b/tests/dictionaries_old/11valid_enum_variable/tiramisu/base.py
index ffacedc48..fe0ebb87b 100644
--- a/tests/dictionaries_old/11valid_enum_variable/tiramisu/base.py
+++ b/tests/dictionaries_old/11valid_enum_variable/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_4 = StrOption(name="var", doc="New variable", multi=True, default=['a', 'b', 'c'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
option_3 = ChoiceOption(name="mode_conteneur_actif", doc="No change", values=Calculation(func.calc_value, Params((ParamOption(option_4)))), default="a", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/11valid_enum_variable/tiramisu/multi.py b/tests/dictionaries_old/11valid_enum_variable/tiramisu/multi.py
new file mode 100644
index 000000000..f375bb3e9
--- /dev/null
+++ b/tests/dictionaries_old/11valid_enum_variable/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="var", doc="New variable", multi=True, default=['a', 'b', 'c'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
+option_2 = ChoiceOption(name="mode_conteneur_actif", doc="No change", values=Calculation(func.calc_value, Params((ParamOption(option_3)))), default="a", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_6 = StrOption(name="var", doc="New variable", multi=True, default=['a', 'b', 'c'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
+option_5 = ChoiceOption(name="mode_conteneur_actif", doc="No change", values=Calculation(func.calc_value, Params((ParamOption(option_6)))), default="a", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/11valid_enum_variable/xml/00-base.xml b/tests/dictionaries_old/11valid_enum_variable/xml/00-base.xml
new file mode 100644
index 000000000..c758f48a1
--- /dev/null
+++ b/tests/dictionaries_old/11valid_enum_variable/xml/00-base.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ a
+ var
+
+
+ a
+ b
+ c
+
+
+
+
+
diff --git a/tests/dictionaries_old/11valid_enum_variable/yml/00-base.yml b/tests/dictionaries_old/11valid_enum_variable/yml/00-base.yml
new file mode 100644
index 000000000..8cfd8e528
--- /dev/null
+++ b/tests/dictionaries_old/11valid_enum_variable/yml/00-base.yml
@@ -0,0 +1,23 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: choice
+ description: No change
+ value:
+ - type: string
+ text: a
+ choice:
+ - type: variable
+ text: var
+ - name: var
+ type: string
+ description: New variable
+ multi: true
+ value:
+ - text: a
+ - text: b
+ - text: c
diff --git a/tests/dictionaries_old/20family_append/00-base.xml b/tests/dictionaries_old/20family_append/00-base.xml
deleted file mode 100644
index ccf8e4dd4..000000000
--- a/tests/dictionaries_old/20family_append/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/20family_append/01-base.xml b/tests/dictionaries_old/20family_append/01-base.xml
deleted file mode 100644
index 8bd81834e..000000000
--- a/tests/dictionaries_old/20family_append/01-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/20family_append/result/rougail/00-base.yml b/tests/dictionaries_old/20family_append/result/rougail/00-base.yml
new file mode 100644
index 000000000..765ba2c20
--- /dev/null
+++ b/tests/dictionaries_old/20family_append/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_append/result/rougail/01-base.yml b/tests/dictionaries_old/20family_append/result/rougail/01-base.yml
new file mode 100644
index 000000000..6819701d7
--- /dev/null
+++ b/tests/dictionaries_old/20family_append/result/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_append/tiramisu/base.py b/tests/dictionaries_old/20family_append/tiramisu/base.py
index ac14e01ca..cfd3ba6ba 100644
--- a/tests/dictionaries_old/20family_append/tiramisu/base.py
+++ b/tests/dictionaries_old/20family_append/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_append/tiramisu/multi.py b/tests/dictionaries_old/20family_append/tiramisu/multi.py
new file mode 100644
index 000000000..56228fb10
--- /dev/null
+++ b/tests/dictionaries_old/20family_append/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_6 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/20family_append/xml/00-base.xml b/tests/dictionaries_old/20family_append/xml/00-base.xml
new file mode 100644
index 000000000..1b623d241
--- /dev/null
+++ b/tests/dictionaries_old/20family_append/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/20family_append/xml/01-base.xml b/tests/dictionaries_old/20family_append/xml/01-base.xml
new file mode 100644
index 000000000..82a942d6a
--- /dev/null
+++ b/tests/dictionaries_old/20family_append/xml/01-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/20family_append/yml/00-base.yml b/tests/dictionaries_old/20family_append/yml/00-base.yml
new file mode 100644
index 000000000..1a667a33f
--- /dev/null
+++ b/tests/dictionaries_old/20family_append/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/20family_append/yml/01-base.yml b/tests/dictionaries_old/20family_append/yml/01-base.yml
new file mode 100644
index 000000000..90d621cd6
--- /dev/null
+++ b/tests/dictionaries_old/20family_append/yml/01-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries/01fill_autofreeze/__init__.py b/tests/dictionaries_old/20family_disabled/__init__.py
similarity index 100%
rename from tests/dictionaries/01fill_autofreeze/__init__.py
rename to tests/dictionaries_old/20family_disabled/__init__.py
diff --git a/tests/dictionaries_old/20family_disabled/makedict/after.json b/tests/dictionaries_old/20family_disabled/makedict/after.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/tests/dictionaries_old/20family_disabled/makedict/after.json
@@ -0,0 +1 @@
+{}
diff --git a/tests/dictionaries_old/20family_disabled/makedict/base.json b/tests/dictionaries_old/20family_disabled/makedict/base.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/tests/dictionaries_old/20family_disabled/makedict/base.json
@@ -0,0 +1 @@
+{}
diff --git a/tests/dictionaries_old/20family_disabled/makedict/before.json b/tests/dictionaries_old/20family_disabled/makedict/before.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/tests/dictionaries_old/20family_disabled/makedict/before.json
@@ -0,0 +1 @@
+{}
diff --git a/tests/dictionaries_old/20family_disabled/result/rougail/00-base.yml b/tests/dictionaries_old/20family_disabled/result/rougail/00-base.yml
new file mode 100644
index 000000000..522bc25aa
--- /dev/null
+++ b/tests/dictionaries_old/20family_disabled/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ disabled: true
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ disabled: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_disabled/tiramisu/base.py b/tests/dictionaries_old/20family_disabled/tiramisu/base.py
new file mode 100644
index 000000000..f2090f1c0
--- /dev/null
+++ b/tests/dictionaries_old/20family_disabled/tiramisu/base.py
@@ -0,0 +1,29 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"disabled", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_disabled/tiramisu/multi.py b/tests/dictionaries_old/20family_disabled/tiramisu/multi.py
new file mode 100644
index 000000000..318c2160e
--- /dev/null
+++ b/tests/dictionaries_old/20family_disabled/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"disabled", "normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"disabled", "normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/20family_disabled/xml/00-base.xml b/tests/dictionaries_old/20family_disabled/xml/00-base.xml
new file mode 100644
index 000000000..22960b089
--- /dev/null
+++ b/tests/dictionaries_old/20family_disabled/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/20family_disabled/yml/00-base.yml b/tests/dictionaries_old/20family_disabled/yml/00-base.yml
new file mode 100644
index 000000000..94bbbc55b
--- /dev/null
+++ b/tests/dictionaries_old/20family_disabled/yml/00-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ disabled: true
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ disabled: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/20family_dynamic/00-base.xml b/tests/dictionaries_old/20family_dynamic/00-base.xml
deleted file mode 100644
index ca18543d3..000000000
--- a/tests/dictionaries_old/20family_dynamic/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
- val1
- val2
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/20family_dynamic/result/rougail/00-base.yml b/tests/dictionaries_old/20family_dynamic/result/rougail/00-base.yml
new file mode 100644
index 000000000..4839ed54c
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic/result/rougail/00-base.yml
@@ -0,0 +1,15 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_dynamic/tiramisu/base.py b/tests/dictionaries_old/20family_dynamic/tiramisu/base.py
index b7216cf44..9c1e2d0b5 100644
--- a/tests/dictionaries_old/20family_dynamic/tiramisu/base.py
+++ b/tests/dictionaries_old/20family_dynamic/tiramisu/base.py
@@ -1,20 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-from rougail.tiramisu import ConvertDynOptionDescription
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
option_5 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
-option_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_dynamic/tiramisu/multi.py b/tests/dictionaries_old/20family_dynamic/tiramisu/multi.py
new file mode 100644
index 000000000..8f4723e66
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic/tiramisu/multi.py
@@ -0,0 +1,39 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from rougail.tiramisu import ConvertDynOptionDescription
+option_2 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+optiondescription_3 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"normal"}))
+option_8 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+optiondescription_7 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_6, notraisepropertyerror=True)))), children=[option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/20family_dynamic/xml/00-base.xml b/tests/dictionaries_old/20family_dynamic/xml/00-base.xml
new file mode 100644
index 000000000..dcae232ba
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+ val1
+ val2
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/20family_dynamic/yml/00-base.yml b/tests/dictionaries_old/20family_dynamic/yml/00-base.yml
new file mode 100644
index 000000000..79509e6e7
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic/yml/00-base.yml
@@ -0,0 +1,20 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: varname
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: val1
+ - text: val2
+ - name: dyn
+ dynamic: varname
+ variables:
+ - variable:
+ - name: vardyn
+ type: string
+ description: No change
diff --git a/tests/dictionaries_old/20family_dynamic_calc/00-base.xml b/tests/dictionaries_old/20family_dynamic_calc/00-base.xml
deleted file mode 100644
index 81390f862..000000000
--- a/tests/dictionaries_old/20family_dynamic_calc/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- val1
- val2
-
-
-
-
- val
-
-
-
-
-
-
-
-
- vardynval1
- newvar
-
-
-
diff --git a/tests/dictionaries_old/20family_dynamic_calc/result/rougail/00-base.yml b/tests/dictionaries_old/20family_dynamic_calc/result/rougail/00-base.yml
new file mode 100644
index 000000000..52b8ab369
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc/result/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default: val
+new:
+ newvar:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __vardynval1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_dynamic_calc/tiramisu/base.py b/tests/dictionaries_old/20family_dynamic_calc/tiramisu/base.py
index d5a8f08e6..4a1f6b8e1 100644
--- a/tests/dictionaries_old/20family_dynamic_calc/tiramisu/base.py
+++ b/tests/dictionaries_old/20family_dynamic_calc/tiramisu/base.py
@@ -1,22 +1,63 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-from rougail.tiramisu import ConvertDynOptionDescription
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.new.newvar'] = "{{ __vardynval1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
option_5 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal"}))
-option_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
-option_7 = StrOption(name="newvar", doc="No change", default=Calculation(func.calc_val, Params((ParamDynOption(option_5, 'val1', option_4)))), properties=frozenset({"normal"}))
-option_6 = OptionDescription(name="new", doc="new", children=[option_7], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4, option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
+option_7 = StrOption(name="newvar", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.new.newvar), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="new", doc="new", children=[option_7], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4, optiondescription_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_dynamic_calc/tiramisu/multi.py b/tests/dictionaries_old/20family_dynamic_calc/tiramisu/multi.py
new file mode 100644
index 000000000..7f350e073
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc/tiramisu/multi.py
@@ -0,0 +1,43 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from rougail.tiramisu import ConvertDynOptionDescription
+option_2 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_4], properties=frozenset({"normal"}))
+option_6 = StrOption(name="newvar", doc="No change", default=Calculation(func.calc_val, Params((ParamDynOption(option_4, 'val1', optiondescription_3)))), properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="new", doc="new", children=[option_6], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8], properties=frozenset({"normal"}))
+option_10 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal"}))
+optiondescription_9 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_8, notraisepropertyerror=True)))), children=[option_10], properties=frozenset({"normal"}))
+option_12 = StrOption(name="newvar", doc="No change", default=Calculation(func.calc_val, Params((ParamDynOption(option_10, 'val1', optiondescription_9)))), properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="new", doc="new", children=[option_12], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7, optiondescription_9, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/20family_dynamic_calc/xml/00-base.xml b/tests/dictionaries_old/20family_dynamic_calc/xml/00-base.xml
new file mode 100644
index 000000000..d99e59907
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ val1
+ val2
+
+
+
+
+ val
+
+
+
+
+
+
+
+
+ vardynval1
+ newvar
+
+
+
diff --git a/tests/dictionaries_old/20family_dynamic_calc/yml/00-base.yml b/tests/dictionaries_old/20family_dynamic_calc/yml/00-base.yml
new file mode 100644
index 000000000..2c64fe19c
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc/yml/00-base.yml
@@ -0,0 +1,36 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: varname
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: val1
+ - text: val2
+ - name: dyn
+ dynamic: varname
+ variables:
+ - variable:
+ - name: vardyn
+ type: string
+ description: No change
+ value:
+ - text: val
+ - name: new
+ variables:
+ - variable:
+ - name: newvar
+ type: string
+ description: No change
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: variable
+ text: vardynval1
+ target:
+ - text: newvar
diff --git a/tests/dictionaries_old/20family_dynamic_calc2/00-base.xml b/tests/dictionaries_old/20family_dynamic_calc2/00-base.xml
deleted file mode 100644
index b74388845..000000000
--- a/tests/dictionaries_old/20family_dynamic_calc2/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- val1
- val2
-
-
-
-
- val
-
-
-
-
-
-
-
-
- non
- dyn
-
-
-
diff --git a/tests/dictionaries_old/20family_dynamic_calc2/result/rougail/00-base.yml b/tests/dictionaries_old/20family_dynamic_calc2/result/rougail/00-base.yml
new file mode 100644
index 000000000..b6920b978
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc2/result/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default: val
+ hidden:
+ type: jinja
+ jinja: '{% if rougail.new.newvar == "non" %}true{% else %}false{% endif %}'
+new:
+ newvar:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_dynamic_calc2/tiramisu/base.py b/tests/dictionaries_old/20family_dynamic_calc2/tiramisu/base.py
index a4b53edd5..01e830837 100644
--- a/tests/dictionaries_old/20family_dynamic_calc2/tiramisu/base.py
+++ b/tests/dictionaries_old/20family_dynamic_calc2/tiramisu/base.py
@@ -1,22 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-from rougail.tiramisu import ConvertDynOptionDescription
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_5 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
option_7 = StrOption(name="newvar", doc="No change", properties=frozenset({"normal"}))
-option_5 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_7, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")})), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_7, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")}))}))
-option_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_7, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")}))}))
-option_6 = OptionDescription(name="new", doc="new", children=[option_7], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4, option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_6 = OptionDescription(name="new", doc="new", children=[option_7], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4, optiondescription_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_dynamic_calc2/tiramisu/multi.py b/tests/dictionaries_old/20family_dynamic_calc2/tiramisu/multi.py
new file mode 100644
index 000000000..8d6949b3a
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc2/tiramisu/multi.py
@@ -0,0 +1,43 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from rougail.tiramisu import ConvertDynOptionDescription
+option_2 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_6 = StrOption(name="newvar", doc="No change", properties=frozenset({"normal"}))
+option_4 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_3 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_4], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="new", doc="new", children=[option_6], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8], properties=frozenset({"normal"}))
+option_12 = StrOption(name="newvar", doc="No change", properties=frozenset({"normal"}))
+option_10 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_12, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('force_default_on_freeze'), kwargs={'condition': ParamOption(option_12, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_9 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_8, notraisepropertyerror=True)))), children=[option_10], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('hidden'), kwargs={'condition': ParamOption(option_12, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_11 = OptionDescription(name="new", doc="new", children=[option_12], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7, optiondescription_9, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/20family_dynamic_calc2/xml/00-base.xml b/tests/dictionaries_old/20family_dynamic_calc2/xml/00-base.xml
new file mode 100644
index 000000000..ee0aa2f6b
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc2/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ val1
+ val2
+
+
+
+
+ val
+
+
+
+
+
+
+
+
+ non
+ dyn
+
+
+
diff --git a/tests/dictionaries_old/20family_dynamic_calc2/yml/00-base.yml b/tests/dictionaries_old/20family_dynamic_calc2/yml/00-base.yml
new file mode 100644
index 000000000..0de82adae
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc2/yml/00-base.yml
@@ -0,0 +1,37 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: varname
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: val1
+ - text: val2
+ - name: dyn
+ dynamic: varname
+ variables:
+ - variable:
+ - name: vardyn
+ type: string
+ description: No change
+ value:
+ - text: val
+ - name: new
+ variables:
+ - variable:
+ - name: newvar
+ type: string
+ description: No change
+constraints:
+- condition:
+ - name: hidden_if_in
+ source: newvar
+ param:
+ - text: non
+ target:
+ - type: family
+ text: dyn
diff --git a/tests/dictionaries_old/20family_dynamic_calc_suffix/00-base.xml b/tests/dictionaries_old/20family_dynamic_calc_suffix/00-base.xml
deleted file mode 100644
index f0dcaf6a4..000000000
--- a/tests/dictionaries_old/20family_dynamic_calc_suffix/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- val1
- val2
-
-
-
-
- val
-
-
-
-
-
-
-
-
-
- vardyn
-
-
-
diff --git a/tests/dictionaries_old/20family_dynamic_calc_suffix/result/rougail/00-base.yml b/tests/dictionaries_old/20family_dynamic_calc_suffix/result/rougail/00-base.yml
new file mode 100644
index 000000000..ab109ddea
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc_suffix/result/rougail/00-base.yml
@@ -0,0 +1,25 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __suffix | calc_val }}'
+ params:
+ __suffix:
+ type: suffix
+new:
+ newvar:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_dynamic_calc_suffix/tiramisu/base.py b/tests/dictionaries_old/20family_dynamic_calc_suffix/tiramisu/base.py
index 5987a765a..992aaabf5 100644
--- a/tests/dictionaries_old/20family_dynamic_calc_suffix/tiramisu/base.py
+++ b/tests/dictionaries_old/20family_dynamic_calc_suffix/tiramisu/base.py
@@ -1,22 +1,63 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-from rougail.tiramisu import ConvertDynOptionDescription
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.dyn.vardyn'] = "{{ __suffix | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_5 = StrOption(name="vardyn", doc="No change", default=Calculation(func.calc_val, Params((ParamSuffix()))), properties=frozenset({"normal"}))
-option_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_5 = StrOption(name="vardyn", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.dyn.vardyn), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), '__suffix': ParamSuffix()})), properties=frozenset({"normal"}))
+optiondescription_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
option_7 = StrOption(name="newvar", doc="No change", properties=frozenset({"normal"}))
-option_6 = OptionDescription(name="new", doc="new", children=[option_7], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4, option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_6 = OptionDescription(name="new", doc="new", children=[option_7], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4, optiondescription_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_dynamic_calc_suffix/tiramisu/multi.py b/tests/dictionaries_old/20family_dynamic_calc_suffix/tiramisu/multi.py
new file mode 100644
index 000000000..a71a1f251
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc_suffix/tiramisu/multi.py
@@ -0,0 +1,43 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from rougail.tiramisu import ConvertDynOptionDescription
+option_2 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="vardyn", doc="No change", default=Calculation(func.calc_val, Params((ParamSuffix()))), properties=frozenset({"normal"}))
+optiondescription_3 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_4], properties=frozenset({"normal"}))
+option_6 = StrOption(name="newvar", doc="No change", properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="new", doc="new", children=[option_6], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8], properties=frozenset({"normal"}))
+option_10 = StrOption(name="vardyn", doc="No change", default=Calculation(func.calc_val, Params((ParamSuffix()))), properties=frozenset({"normal"}))
+optiondescription_9 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_8, notraisepropertyerror=True)))), children=[option_10], properties=frozenset({"normal"}))
+option_12 = StrOption(name="newvar", doc="No change", properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="new", doc="new", children=[option_12], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7, optiondescription_9, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/20family_dynamic_calc_suffix/xml/00-base.xml b/tests/dictionaries_old/20family_dynamic_calc_suffix/xml/00-base.xml
new file mode 100644
index 000000000..50975fb75
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc_suffix/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ val1
+ val2
+
+
+
+
+ val
+
+
+
+
+
+
+
+
+
+ vardyn
+
+
+
diff --git a/tests/dictionaries_old/20family_dynamic_calc_suffix/yml/00-base.yml b/tests/dictionaries_old/20family_dynamic_calc_suffix/yml/00-base.yml
new file mode 100644
index 000000000..809ad98b8
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_calc_suffix/yml/00-base.yml
@@ -0,0 +1,35 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: varname
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: val1
+ - text: val2
+ - name: dyn
+ dynamic: varname
+ variables:
+ - variable:
+ - name: vardyn
+ type: string
+ description: No change
+ value:
+ - text: val
+ - name: new
+ variables:
+ - variable:
+ - name: newvar
+ type: string
+ description: No change
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: suffix
+ target:
+ - text: vardyn
diff --git a/tests/dictionaries_old/20family_dynamic_description/00-base.xml b/tests/dictionaries_old/20family_dynamic_description/00-base.xml
deleted file mode 100644
index 39c223320..000000000
--- a/tests/dictionaries_old/20family_dynamic_description/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
- val1
- val2
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/20family_dynamic_description/result/rougail/00-base.yml b/tests/dictionaries_old/20family_dynamic_description/result/rougail/00-base.yml
new file mode 100644
index 000000000..05264b5c7
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_description/result/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ description: 'Dyn '
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_dynamic_description/tiramisu/base.py b/tests/dictionaries_old/20family_dynamic_description/tiramisu/base.py
index a6a674daf..a04891cf6 100644
--- a/tests/dictionaries_old/20family_dynamic_description/tiramisu/base.py
+++ b/tests/dictionaries_old/20family_dynamic_description/tiramisu/base.py
@@ -1,20 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-from rougail.tiramisu import ConvertDynOptionDescription
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
option_5 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
-option_4 = ConvertDynOptionDescription(name="dyn", doc="Dyn ", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = ConvertDynOptionDescription(name="dyn", doc="Dyn ", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_dynamic_description/tiramisu/multi.py b/tests/dictionaries_old/20family_dynamic_description/tiramisu/multi.py
new file mode 100644
index 000000000..af0947212
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_description/tiramisu/multi.py
@@ -0,0 +1,39 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from rougail.tiramisu import ConvertDynOptionDescription
+option_2 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+optiondescription_3 = ConvertDynOptionDescription(name="dyn", doc="Dyn ", suffixes=Calculation(func.calc_value, Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"normal"}))
+option_8 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+optiondescription_7 = ConvertDynOptionDescription(name="dyn", doc="Dyn ", suffixes=Calculation(func.calc_value, Params((ParamOption(option_6, notraisepropertyerror=True)))), children=[option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/20family_dynamic_description/xml/00-base.xml b/tests/dictionaries_old/20family_dynamic_description/xml/00-base.xml
new file mode 100644
index 000000000..f9e96c219
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_description/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+ val1
+ val2
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/20family_dynamic_description/yml/00-base.yml b/tests/dictionaries_old/20family_dynamic_description/yml/00-base.yml
new file mode 100644
index 000000000..b52654ff9
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_description/yml/00-base.yml
@@ -0,0 +1,21 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: varname
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: val1
+ - text: val2
+ - name: dyn
+ description: 'Dyn '
+ dynamic: varname
+ variables:
+ - variable:
+ - name: vardyn
+ type: string
+ description: No change
diff --git a/tests/dictionaries/01fill_autosave/__init__.py b/tests/dictionaries_old/20family_dynamic_jinja_fill/__init__.py
similarity index 100%
rename from tests/dictionaries/01fill_autosave/__init__.py
rename to tests/dictionaries_old/20family_dynamic_jinja_fill/__init__.py
diff --git a/tests/dictionaries_old/20family_dynamic_jinja_fill/makedict/after.json b/tests/dictionaries_old/20family_dynamic_jinja_fill/makedict/after.json
new file mode 100644
index 000000000..6bc6e807c
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_jinja_fill/makedict/after.json
@@ -0,0 +1,21 @@
+{
+ "rougail.general.varname": {
+ "owner": "default",
+ "value": [
+ "val1",
+ "val2"
+ ]
+ },
+ "rougail.dynval1.vardynval1": {
+ "owner": "default",
+ "value": "val"
+ },
+ "rougail.dynval2.vardynval2": {
+ "owner": "default",
+ "value": "val"
+ },
+ "rougail.new.newvar": {
+ "owner": "default",
+ "value": "val"
+ }
+}
diff --git a/tests/dictionaries_old/20family_dynamic_jinja_fill/makedict/base.json b/tests/dictionaries_old/20family_dynamic_jinja_fill/makedict/base.json
new file mode 100644
index 000000000..9b99cc844
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_jinja_fill/makedict/base.json
@@ -0,0 +1,9 @@
+{
+ "rougail.general.varname": [
+ "val1",
+ "val2"
+ ],
+ "rougail.dynval1.vardynval1": "val",
+ "rougail.dynval2.vardynval2": "val",
+ "rougail.new.newvar": "val"
+}
diff --git a/tests/dictionaries_old/20family_dynamic_jinja_fill/makedict/before.json b/tests/dictionaries_old/20family_dynamic_jinja_fill/makedict/before.json
new file mode 100644
index 000000000..6bc6e807c
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_jinja_fill/makedict/before.json
@@ -0,0 +1,21 @@
+{
+ "rougail.general.varname": {
+ "owner": "default",
+ "value": [
+ "val1",
+ "val2"
+ ]
+ },
+ "rougail.dynval1.vardynval1": {
+ "owner": "default",
+ "value": "val"
+ },
+ "rougail.dynval2.vardynval2": {
+ "owner": "default",
+ "value": "val"
+ },
+ "rougail.new.newvar": {
+ "owner": "default",
+ "value": "val"
+ }
+}
diff --git a/tests/dictionaries_old/20family_dynamic_jinja_fill/result/rougail/00-base.yml b/tests/dictionaries_old/20family_dynamic_jinja_fill/result/rougail/00-base.yml
new file mode 100644
index 000000000..6a91a60b2
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_jinja_fill/result/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default: val
+new:
+ newvar:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ vardynval1 }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_dynamic_jinja_fill/tiramisu/base.py b/tests/dictionaries_old/20family_dynamic_jinja_fill/tiramisu/base.py
new file mode 100644
index 000000000..665c85d00
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_jinja_fill/tiramisu/base.py
@@ -0,0 +1,63 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.new.newvar'] = "{{ vardynval1 }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_5 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
+option_7 = StrOption(name="newvar", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.new.newvar), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="new", doc="new", children=[option_7], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4, optiondescription_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_dynamic_jinja_fill/tiramisu/multi.py b/tests/dictionaries_old/20family_dynamic_jinja_fill/tiramisu/multi.py
new file mode 100644
index 000000000..162505877
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_jinja_fill/tiramisu/multi.py
@@ -0,0 +1,74 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['1.rougail.new.newvar'] = "{{ vardynval1 }}"
+dict_env['2.rougail.new.newvar'] = "{{ vardynval1 }}"
+from rougail.tiramisu import ConvertDynOptionDescription
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_2 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_4], properties=frozenset({"normal"}))
+option_6 = StrOption(name="newvar", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("1.rougail.new.newvar"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), 'vardynval1': ParamDynOption(option_4, 'val1', optiondescription_3)})), properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="new", doc="new", children=[option_6], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8], properties=frozenset({"normal"}))
+option_10 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal"}))
+optiondescription_9 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_8, notraisepropertyerror=True)))), children=[option_10], properties=frozenset({"normal"}))
+option_12 = StrOption(name="newvar", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue("2.rougail.new.newvar"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), 'vardynval1': ParamDynOption(option_10, 'val1', optiondescription_9)})), properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="new", doc="new", children=[option_12], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7, optiondescription_9, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/20family_dynamic_jinja_fill/xml/00-base.xml b/tests/dictionaries_old/20family_dynamic_jinja_fill/xml/00-base.xml
new file mode 100644
index 000000000..6c3d8bd6f
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_jinja_fill/xml/00-base.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ val1
+ val2
+
+
+
+
+ val
+
+
+
+
+
+
+
+
+ newvar
+
+
+
diff --git a/tests/dictionaries_old/20family_dynamic_jinja_fill/yml/00-base.yml b/tests/dictionaries_old/20family_dynamic_jinja_fill/yml/00-base.yml
new file mode 100644
index 000000000..b31960818
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_jinja_fill/yml/00-base.yml
@@ -0,0 +1,34 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: varname
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: val1
+ - text: val2
+ - name: dyn
+ dynamic: varname
+ variables:
+ - variable:
+ - name: vardyn
+ type: string
+ description: No change
+ value:
+ - text: val
+ - name: new
+ variables:
+ - variable:
+ - name: newvar
+ type: string
+ description: No change
+constraints:
+- fill:
+ - name: '{{ vardynval1 }}'
+ type: jinja
+ target:
+ - text: newvar
diff --git a/tests/dictionaries/01fill_base/__init__.py b/tests/dictionaries_old/20family_dynamic_leadership/__init__.py
similarity index 100%
rename from tests/dictionaries/01fill_base/__init__.py
rename to tests/dictionaries_old/20family_dynamic_leadership/__init__.py
diff --git a/tests/dictionaries_old/20family_dynamic_leadership/makedict/after.json b/tests/dictionaries_old/20family_dynamic_leadership/makedict/after.json
new file mode 100644
index 000000000..4fc291d5b
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_leadership/makedict/after.json
@@ -0,0 +1,25 @@
+{
+ "rougail.general.varname": {
+ "owner": "default",
+ "value": [
+ "val1",
+ "val2"
+ ]
+ },
+ "rougail.dynval1.vardynval1": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.dynval1.leadershipval1.leaderval1": {
+ "owner": "default",
+ "value": []
+ },
+ "rougail.dynval2.vardynval2": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.dynval2.leadershipval2.leaderval2": {
+ "owner": "default",
+ "value": []
+ }
+}
diff --git a/tests/dictionaries_old/20family_dynamic_leadership/makedict/base.json b/tests/dictionaries_old/20family_dynamic_leadership/makedict/base.json
new file mode 100644
index 000000000..b554bc672
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_leadership/makedict/base.json
@@ -0,0 +1,10 @@
+{
+ "rougail.general.varname": [
+ "val1",
+ "val2"
+ ],
+ "rougail.dynval1.vardynval1": null,
+ "rougail.dynval1.leadershipval1.leaderval1": [],
+ "rougail.dynval2.vardynval2": null,
+ "rougail.dynval2.leadershipval2.leaderval2": []
+}
diff --git a/tests/dictionaries_old/20family_dynamic_leadership/makedict/before.json b/tests/dictionaries_old/20family_dynamic_leadership/makedict/before.json
new file mode 100644
index 000000000..4fc291d5b
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_leadership/makedict/before.json
@@ -0,0 +1,25 @@
+{
+ "rougail.general.varname": {
+ "owner": "default",
+ "value": [
+ "val1",
+ "val2"
+ ]
+ },
+ "rougail.dynval1.vardynval1": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.dynval1.leadershipval1.leaderval1": {
+ "owner": "default",
+ "value": []
+ },
+ "rougail.dynval2.vardynval2": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.dynval2.leadershipval2.leaderval2": {
+ "owner": "default",
+ "value": []
+ }
+}
diff --git a/tests/dictionaries_old/20family_dynamic_leadership/result/rougail/00-base.yml b/tests/dictionaries_old/20family_dynamic_leadership/result/rougail/00-base.yml
new file mode 100644
index 000000000..9e3a92183
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_leadership/result/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ leadership:
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_dynamic_leadership/tiramisu/base.py b/tests/dictionaries_old/20family_dynamic_leadership/tiramisu/base.py
new file mode 100644
index 000000000..d784ee0d9
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_leadership/tiramisu/base.py
@@ -0,0 +1,35 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_5 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+option_7 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_8 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal"}))
+option_9 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_6 = Leadership(name="leadership", doc="leadership", children=[option_7, option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5, optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_dynamic_leadership/tiramisu/multi.py b/tests/dictionaries_old/20family_dynamic_leadership/tiramisu/multi.py
new file mode 100644
index 000000000..e4a0819ea
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_leadership/tiramisu/multi.py
@@ -0,0 +1,47 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from rougail.tiramisu import ConvertDynOptionDescription
+option_2 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal"}))
+option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_5 = Leadership(name="leadership", doc="leadership", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_3 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_4, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="1", doc="1", children=[optiondescription_18])
+option_10 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_9 = OptionDescription(name="general", doc="general", children=[option_10], properties=frozenset({"normal"}))
+option_12 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+option_14 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_15 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal"}))
+option_16 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_13 = Leadership(name="leadership", doc="leadership", children=[option_14, option_15, option_16], properties=frozenset({"normal"}))
+optiondescription_11 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_10, notraisepropertyerror=True)))), children=[option_12, optiondescription_13], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_9, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_19 = OptionDescription(name="2", doc="2", children=[optiondescription_20])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_17, optiondescription_19])
diff --git a/tests/dictionaries_old/20family_dynamic_leadership/xml/00-base.xml b/tests/dictionaries_old/20family_dynamic_leadership/xml/00-base.xml
new file mode 100644
index 000000000..713526082
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_leadership/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ val1
+ val2
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/20family_dynamic_leadership/yml/00-base.yml b/tests/dictionaries_old/20family_dynamic_leadership/yml/00-base.yml
new file mode 100644
index 000000000..66a54915d
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_leadership/yml/00-base.yml
@@ -0,0 +1,35 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: varname
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: val1
+ - text: val2
+ - name: dyn
+ dynamic: varname
+ variables:
+ - variable:
+ - name: vardyn
+ type: string
+ description: No change
+ - family:
+ - name: leadership
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
diff --git a/tests/dictionaries_old/20family_dynamic_number/00-base.xml b/tests/dictionaries_old/20family_dynamic_number/00-base.xml
deleted file mode 100644
index 807034700..000000000
--- a/tests/dictionaries_old/20family_dynamic_number/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- 1
- 2
-
-
-
-
- val
-
-
-
-
-
-
-
-
- vardyn1
- newvar
-
-
-
diff --git a/tests/dictionaries_old/20family_dynamic_number/result/rougail/00-base.yml b/tests/dictionaries_old/20family_dynamic_number/result/rougail/00-base.yml
new file mode 100644
index 000000000..f1fc431e1
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_number/result/rougail/00-base.yml
@@ -0,0 +1,23 @@
+general:
+ varname:
+ type: number
+ description: No change
+ multi: true
+ default:
+ - 1
+ - 2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ default: val
+new:
+ newvar:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ __vardyn1 | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_dynamic_number/tiramisu/base.py b/tests/dictionaries_old/20family_dynamic_number/tiramisu/base.py
index 6214b8842..880721bcd 100644
--- a/tests/dictionaries_old/20family_dynamic_number/tiramisu/base.py
+++ b/tests/dictionaries_old/20family_dynamic_number/tiramisu/base.py
@@ -1,22 +1,63 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-from rougail.tiramisu import ConvertDynOptionDescription
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.new.newvar'] = "{{ __vardyn1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = IntOption(name="varname", doc="No change", multi=True, default=[1, 2], default_multi=1, properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
option_5 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal"}))
-option_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
-option_7 = StrOption(name="newvar", doc="No change", default=Calculation(func.calc_val, Params((ParamDynOption(option_5, '1', option_4)))), properties=frozenset({"normal"}))
-option_6 = OptionDescription(name="new", doc="new", children=[option_7], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4, option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
+option_7 = StrOption(name="newvar", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.new.newvar), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="new", doc="new", children=[option_7], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4, optiondescription_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_dynamic_number/tiramisu/multi.py b/tests/dictionaries_old/20family_dynamic_number/tiramisu/multi.py
new file mode 100644
index 000000000..8a4d3ab19
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_number/tiramisu/multi.py
@@ -0,0 +1,43 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from rougail.tiramisu import ConvertDynOptionDescription
+option_2 = IntOption(name="varname", doc="No change", multi=True, default=[1, 2], default_multi=1, properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_4], properties=frozenset({"normal"}))
+option_6 = StrOption(name="newvar", doc="No change", default=Calculation(func.calc_val, Params((ParamDynOption(option_4, '1', optiondescription_3)))), properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="new", doc="new", children=[option_6], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = IntOption(name="varname", doc="No change", multi=True, default=[1, 2], default_multi=1, properties=frozenset({"mandatory", "normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8], properties=frozenset({"normal"}))
+option_10 = StrOption(name="vardyn", doc="No change", default="val", properties=frozenset({"mandatory", "normal"}))
+optiondescription_9 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_8, notraisepropertyerror=True)))), children=[option_10], properties=frozenset({"normal"}))
+option_12 = StrOption(name="newvar", doc="No change", default=Calculation(func.calc_val, Params((ParamDynOption(option_10, '1', optiondescription_9)))), properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="new", doc="new", children=[option_12], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7, optiondescription_9, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/20family_dynamic_number/xml/00-base.xml b/tests/dictionaries_old/20family_dynamic_number/xml/00-base.xml
new file mode 100644
index 000000000..158d63eef
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_number/xml/00-base.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ 1
+ 2
+
+
+
+
+ val
+
+
+
+
+
+
+
+
+ vardyn1
+ newvar
+
+
+
diff --git a/tests/dictionaries_old/20family_dynamic_number/yml/00-base.yml b/tests/dictionaries_old/20family_dynamic_number/yml/00-base.yml
new file mode 100644
index 000000000..aacff3bae
--- /dev/null
+++ b/tests/dictionaries_old/20family_dynamic_number/yml/00-base.yml
@@ -0,0 +1,36 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: varname
+ type: number
+ description: No change
+ multi: true
+ value:
+ - text: '1'
+ - text: '2'
+ - name: dyn
+ dynamic: varname
+ variables:
+ - variable:
+ - name: vardyn
+ type: string
+ description: No change
+ value:
+ - text: val
+ - name: new
+ variables:
+ - variable:
+ - name: newvar
+ type: string
+ description: No change
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: variable
+ text: vardyn1
+ target:
+ - text: newvar
diff --git a/tests/dictionaries_old/20family_empty/00-base.xml b/tests/dictionaries_old/20family_empty/00-base.xml
deleted file mode 100644
index 2611894b3..000000000
--- a/tests/dictionaries_old/20family_empty/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
diff --git a/tests/dictionaries_old/20family_empty/result/rougail/00-base.yml b/tests/dictionaries_old/20family_empty/result/rougail/00-base.yml
new file mode 100644
index 000000000..167d71a55
--- /dev/null
+++ b/tests/dictionaries_old/20family_empty/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ mode: basic
+ default: non
+general2:
+ help: family
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_empty/tiramisu/base.py b/tests/dictionaries_old/20family_empty/tiramisu/base.py
index 65f3c4843..54776f32f 100644
--- a/tests/dictionaries_old/20family_empty/tiramisu/base.py
+++ b/tests/dictionaries_old/20family_empty/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"basic", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_empty/tiramisu/multi.py b/tests/dictionaries_old/20family_empty/tiramisu/multi.py
new file mode 100644
index 000000000..3bc95c70e
--- /dev/null
+++ b/tests/dictionaries_old/20family_empty/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"basic", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"basic"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"basic"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"basic", "mandatory"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5], properties=frozenset({"basic"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"basic"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/20family_empty/xml/00-base.xml b/tests/dictionaries_old/20family_empty/xml/00-base.xml
new file mode 100644
index 000000000..5fbe1a4e1
--- /dev/null
+++ b/tests/dictionaries_old/20family_empty/xml/00-base.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+ non
+
+
+
+
+
diff --git a/tests/dictionaries_old/20family_empty/yml/00-base.yml b/tests/dictionaries_old/20family_empty/yml/00-base.yml
new file mode 100644
index 000000000..c7a63454b
--- /dev/null
+++ b/tests/dictionaries_old/20family_empty/yml/00-base.yml
@@ -0,0 +1,14 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ mode: basic
+ value:
+ - text: non
+ - name: general2
+ help: family
diff --git a/tests/dictionaries_old/20family_hidden/00-base.xml b/tests/dictionaries_old/20family_hidden/00-base.xml
deleted file mode 100644
index ccf8e4dd4..000000000
--- a/tests/dictionaries_old/20family_hidden/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/20family_hidden/01-base.xml b/tests/dictionaries_old/20family_hidden/01-base.xml
deleted file mode 100644
index 8556985bb..000000000
--- a/tests/dictionaries_old/20family_hidden/01-base.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/20family_hidden/result/rougail/00-base.yml b/tests/dictionaries_old/20family_hidden/result/rougail/00-base.yml
new file mode 100644
index 000000000..765ba2c20
--- /dev/null
+++ b/tests/dictionaries_old/20family_hidden/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_hidden/result/rougail/01-base.yml b/tests/dictionaries_old/20family_hidden/result/rougail/01-base.yml
new file mode 100644
index 000000000..89f4ffc45
--- /dev/null
+++ b/tests/dictionaries_old/20family_hidden/result/rougail/01-base.yml
@@ -0,0 +1,4 @@
+general:
+ hidden: true
+ redefine: true
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_hidden/tiramisu/base.py b/tests/dictionaries_old/20family_hidden/tiramisu/base.py
index aaf5c22c4..01184d8cb 100644
--- a/tests/dictionaries_old/20family_hidden/tiramisu/base.py
+++ b/tests/dictionaries_old/20family_hidden/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"hidden", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"hidden", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_hidden/tiramisu/multi.py b/tests/dictionaries_old/20family_hidden/tiramisu/multi.py
new file mode 100644
index 000000000..c4d50a1d5
--- /dev/null
+++ b/tests/dictionaries_old/20family_hidden/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"hidden", "normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"hidden", "normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/20family_hidden/xml/00-base.xml b/tests/dictionaries_old/20family_hidden/xml/00-base.xml
new file mode 100644
index 000000000..1b623d241
--- /dev/null
+++ b/tests/dictionaries_old/20family_hidden/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/20family_hidden/xml/01-base.xml b/tests/dictionaries_old/20family_hidden/xml/01-base.xml
new file mode 100644
index 000000000..4267d6bfb
--- /dev/null
+++ b/tests/dictionaries_old/20family_hidden/xml/01-base.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/20family_hidden/yml/00-base.yml b/tests/dictionaries_old/20family_hidden/yml/00-base.yml
new file mode 100644
index 000000000..1a667a33f
--- /dev/null
+++ b/tests/dictionaries_old/20family_hidden/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/20family_hidden/yml/01-base.yml b/tests/dictionaries_old/20family_hidden/yml/01-base.yml
new file mode 100644
index 000000000..6eeb9c94d
--- /dev/null
+++ b/tests/dictionaries_old/20family_hidden/yml/01-base.yml
@@ -0,0 +1,5 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ hidden: true
diff --git a/tests/dictionaries_old/20family_mode/00-base.xml b/tests/dictionaries_old/20family_mode/00-base.xml
deleted file mode 100644
index adc550df4..000000000
--- a/tests/dictionaries_old/20family_mode/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/20family_mode/result/rougail/00-base.yml b/tests/dictionaries_old/20family_mode/result/rougail/00-base.yml
new file mode 100644
index 000000000..71f7adc02
--- /dev/null
+++ b/tests/dictionaries_old/20family_mode/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ mode: basic
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_mode/tiramisu/base.py b/tests/dictionaries_old/20family_mode/tiramisu/base.py
index 65f3c4843..54776f32f 100644
--- a/tests/dictionaries_old/20family_mode/tiramisu/base.py
+++ b/tests/dictionaries_old/20family_mode/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"basic", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_mode/tiramisu/multi.py b/tests/dictionaries_old/20family_mode/tiramisu/multi.py
new file mode 100644
index 000000000..7b2130778
--- /dev/null
+++ b/tests/dictionaries_old/20family_mode/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"basic", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"basic"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"basic"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"basic", "mandatory"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"basic"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"basic"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/20family_mode/xml/00-base.xml b/tests/dictionaries_old/20family_mode/xml/00-base.xml
new file mode 100644
index 000000000..fd89ec644
--- /dev/null
+++ b/tests/dictionaries_old/20family_mode/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/20family_mode/yml/00-base.yml b/tests/dictionaries_old/20family_mode/yml/00-base.yml
new file mode 100644
index 000000000..bb33b5b61
--- /dev/null
+++ b/tests/dictionaries_old/20family_mode/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ mode: basic
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/20family_modeleadership/00-base.xml b/tests/dictionaries_old/20family_modeleadership/00-base.xml
deleted file mode 100644
index 43e729762..000000000
--- a/tests/dictionaries_old/20family_modeleadership/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/20family_modeleadership/makedict/after.json b/tests/dictionaries_old/20family_modeleadership/makedict/after.json
index dd62b9801..548ec3acc 100644
--- a/tests/dictionaries_old/20family_modeleadership/makedict/after.json
+++ b/tests/dictionaries_old/20family_modeleadership/makedict/after.json
@@ -6,13 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/20family_modeleadership/makedict/before.json b/tests/dictionaries_old/20family_modeleadership/makedict/before.json
index dd62b9801..548ec3acc 100644
--- a/tests/dictionaries_old/20family_modeleadership/makedict/before.json
+++ b/tests/dictionaries_old/20family_modeleadership/makedict/before.json
@@ -6,13 +6,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower1": {
- "owner": [],
- "value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/20family_modeleadership/result/rougail/00-base.yml b/tests/dictionaries_old/20family_modeleadership/result/rougail/00-base.yml
new file mode 100644
index 000000000..0ea2c72aa
--- /dev/null
+++ b/tests/dictionaries_old/20family_modeleadership/result/rougail/00-base.yml
@@ -0,0 +1,20 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ follower2:
+ type: string
+ description: follower2
+ mode: basic
+version: '1.0'
diff --git a/tests/dictionaries_old/20family_modeleadership/tiramisu/base.py b/tests/dictionaries_old/20family_modeleadership/tiramisu/base.py
index 88f7a239d..e965f25d1 100644
--- a/tests/dictionaries_old/20family_modeleadership/tiramisu/base.py
+++ b/tests/dictionaries_old/20family_modeleadership/tiramisu/base.py
@@ -1,21 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="leader", doc="leader", multi=True)
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"basic", "notempty"}))
option_6 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal"}))
option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"basic"}))
-option_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"basic"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"basic"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, optiondescription_4], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/20family_modeleadership/tiramisu/multi.py b/tests/dictionaries_old/20family_modeleadership/tiramisu/multi.py
new file mode 100644
index 000000000..3af970632
--- /dev/null
+++ b/tests/dictionaries_old/20family_modeleadership/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"basic"}))
+option_5 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"basic"}))
+optiondescription_3 = Leadership(name="leader", doc="leader", children=[option_4, option_5, option_6], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"basic"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"basic"}))
+option_11 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal"}))
+option_12 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"basic"}))
+optiondescription_9 = Leadership(name="leader", doc="leader", children=[option_10, option_11, option_12], properties=frozenset({"basic"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8, optiondescription_9], properties=frozenset({"basic"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7], properties=frozenset({"basic"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/20family_modeleadership/xml/00-base.xml b/tests/dictionaries_old/20family_modeleadership/xml/00-base.xml
new file mode 100644
index 000000000..1587f2577
--- /dev/null
+++ b/tests/dictionaries_old/20family_modeleadership/xml/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/20family_modeleadership/yml/00-base.yml b/tests/dictionaries_old/20family_modeleadership/yml/00-base.yml
new file mode 100644
index 000000000..f2945c6b9
--- /dev/null
+++ b/tests/dictionaries_old/20family_modeleadership/yml/00-base.yml
@@ -0,0 +1,28 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+ mode: basic
diff --git a/tests/dictionaries_old/20notemplating/00-base.xml b/tests/dictionaries_old/20notemplating/00-base.xml
deleted file mode 100644
index df71ebe27..000000000
--- a/tests/dictionaries_old/20notemplating/00-base.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
- /etc/file
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/20notemplating/makedict/after.json b/tests/dictionaries_old/20notemplating/makedict/after.json
index 406d96f09..23e76deff 100644
--- a/tests/dictionaries_old/20notemplating/makedict/after.json
+++ b/tests/dictionaries_old/20notemplating/makedict/after.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/20notemplating/makedict/base.json b/tests/dictionaries_old/20notemplating/makedict/base.json
index a1e4c0dbc..556722f4e 100644
--- a/tests/dictionaries_old/20notemplating/makedict/base.json
+++ b/tests/dictionaries_old/20notemplating/makedict/base.json
@@ -1,7 +1,8 @@
{
"rougail.general.mode_conteneur_actif": "non",
- "services.test.files.file.name": "/etc/file",
- "services.test.files.file.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/20notemplating/makedict/before.json b/tests/dictionaries_old/20notemplating/makedict/before.json
index 406d96f09..23e76deff 100644
--- a/tests/dictionaries_old/20notemplating/makedict/before.json
+++ b/tests/dictionaries_old/20notemplating/makedict/before.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": "non"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/20notemplating/result/rougail/00-base.yml b/tests/dictionaries_old/20notemplating/result/rougail/00-base.yml
new file mode 100644
index 000000000..6522280e9
--- /dev/null
+++ b/tests/dictionaries_old/20notemplating/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/20notemplating/result/services/00-base.yml b/tests/dictionaries_old/20notemplating/result/services/00-base.yml
new file mode 100644
index 000000000..0b76d6d97
--- /dev/null
+++ b/tests/dictionaries_old/20notemplating/result/services/00-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ files:
+ /etc/file:
+ engine: none
+version: '1.0'
diff --git a/tests/dictionaries_old/20notemplating/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/20notemplating/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 574c7b823..000000000
--- a/tests/dictionaries_old/20notemplating/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-z /etc/file - - - - -
diff --git a/tests/dictionaries_old/20notemplating/tiramisu/base.py b/tests/dictionaries_old/20notemplating/tiramisu/base.py
index 8b60fe59f..c25039839 100644
--- a/tests/dictionaries_old/20notemplating/tiramisu/base.py
+++ b/tests/dictionaries_old/20notemplating/tiramisu/base.py
@@ -1,27 +1,40 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9])
-option_7.impl_set_information('engine', "none")
-option_7.impl_set_information('source', "file")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/file")
option_10 = BoolOption(name="activate", doc="activate", default=True)
-option_11 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_10, option_11])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10])
+optiondescription_7.impl_set_information('engine', "none")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7])
+option_11 = BoolOption(name="activate", doc="activate", default=True)
+option_12 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_11, option_12])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries_old/20notemplating/tiramisu/multi.py b/tests/dictionaries_old/20notemplating/tiramisu/multi.py
new file mode 100644
index 000000000..65d728d48
--- /dev/null
+++ b/tests/dictionaries_old/20notemplating/tiramisu/multi.py
@@ -0,0 +1,56 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_9 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_10 = StrOption(name="source", doc="source", default="file")
+option_8 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_9, option_10, option_8])
+optiondescription_7.impl_set_information('engine', "none")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7])
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_11 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_22 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_6, option_5, option_11])
+optiondescription_22.impl_set_information('type', "service")
+optiondescription_21 = OptionDescription(name="services", doc="services", children=[optiondescription_22], properties=frozenset({"hidden"}))
+optiondescription_19 = OptionDescription(name="1", doc="1", children=[optiondescription_20, optiondescription_21])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_24 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+option_16 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_17 = StrOption(name="source", doc="source", default="file")
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_14 = OptionDescription(name="file", doc="file", children=[option_16, option_17, option_15])
+optiondescription_14.impl_set_information('engine', "none")
+optiondescription_13 = OptionDescription(name="files", doc="files", children=[optiondescription_14])
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+option_18 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_26 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_13, option_12, option_18])
+optiondescription_26.impl_set_information('type', "service")
+optiondescription_25 = OptionDescription(name="services", doc="services", children=[optiondescription_26], properties=frozenset({"hidden"}))
+optiondescription_23 = OptionDescription(name="2", doc="2", children=[optiondescription_24, optiondescription_25])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_19, optiondescription_23])
diff --git a/tests/dictionaries_old/20notemplating/xml/00-base.xml b/tests/dictionaries_old/20notemplating/xml/00-base.xml
new file mode 100644
index 000000000..9208cd1df
--- /dev/null
+++ b/tests/dictionaries_old/20notemplating/xml/00-base.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ /etc/file
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/20notemplating/yml/00-base.yml b/tests/dictionaries_old/20notemplating/yml/00-base.yml
new file mode 100644
index 000000000..8680646dd
--- /dev/null
+++ b/tests/dictionaries_old/20notemplating/yml/00-base.yml
@@ -0,0 +1,17 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - engine: none
+ text: /etc/file
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/20override/00-base.xml b/tests/dictionaries_old/20override/00-base.xml
deleted file mode 100644
index 8b81ae035..000000000
--- a/tests/dictionaries_old/20override/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/20override/makedict/after.json b/tests/dictionaries_old/20override/makedict/after.json
index a80dd37dd..b63e355a9 100644
--- a/tests/dictionaries_old/20override/makedict/after.json
+++ b/tests/dictionaries_old/20override/makedict/after.json
@@ -3,27 +3,27 @@
"owner": "default",
"value": "non"
},
- "services.test.overrides.test_service.activate": {
+ "services.test_service.overrides.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
},
- "services.test2.overrides.test2_service.activate": {
+ "services.test2_service.overrides.test2_service.activate": {
"owner": "default",
"value": true
},
- "services.test2.activate": {
+ "services.test2_service.activate": {
"owner": "default",
"value": true
},
- "services.test2.manage": {
+ "services.test2_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/20override/makedict/base.json b/tests/dictionaries_old/20override/makedict/base.json
index 2de81c42d..9a91257aa 100644
--- a/tests/dictionaries_old/20override/makedict/base.json
+++ b/tests/dictionaries_old/20override/makedict/base.json
@@ -1,9 +1,9 @@
{
"rougail.general.mode_conteneur_actif": "non",
- "services.test.overrides.test_service.activate": true,
- "services.test.activate": true,
- "services.test.manage": true,
- "services.test2.overrides.test2_service.activate": true,
- "services.test2.activate": true,
- "services.test2.manage": true
+ "services.test_service.overrides.test_service.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true,
+ "services.test2_service.overrides.test2_service.activate": true,
+ "services.test2_service.activate": true,
+ "services.test2_service.manage": true
}
diff --git a/tests/dictionaries_old/20override/makedict/before.json b/tests/dictionaries_old/20override/makedict/before.json
index a80dd37dd..b63e355a9 100644
--- a/tests/dictionaries_old/20override/makedict/before.json
+++ b/tests/dictionaries_old/20override/makedict/before.json
@@ -3,27 +3,27 @@
"owner": "default",
"value": "non"
},
- "services.test.overrides.test_service.activate": {
+ "services.test_service.overrides.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
},
- "services.test2.overrides.test2_service.activate": {
+ "services.test2_service.overrides.test2_service.activate": {
"owner": "default",
"value": true
},
- "services.test2.activate": {
+ "services.test2_service.activate": {
"owner": "default",
"value": true
},
- "services.test2.manage": {
+ "services.test2_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70service_disabled/no_base b/tests/dictionaries_old/20override/no_base
similarity index 100%
rename from tests/dictionaries/70service_disabled/no_base
rename to tests/dictionaries_old/20override/no_base
diff --git a/tests/dictionaries_old/20override/result/rougail/00-base.yml b/tests/dictionaries_old/20override/result/rougail/00-base.yml
new file mode 100644
index 000000000..6522280e9
--- /dev/null
+++ b/tests/dictionaries_old/20override/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/20override/result/services/00-base.yml b/tests/dictionaries_old/20override/result/services/00-base.yml
new file mode 100644
index 000000000..b22418e0b
--- /dev/null
+++ b/tests/dictionaries_old/20override/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ override: null
+test2.service:
+ override:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/20override/result/systemd/system/test.service.d/rougail.conf b/tests/dictionaries_old/20override/result/systemd/system/test.service.d/rougail.conf
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries_old/20override/result/systemd/system/test.service.d/rougail.conf
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/20override/result/systemd/system/test2.service.d/rougail.conf b/tests/dictionaries_old/20override/result/systemd/system/test2.service.d/rougail.conf
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries_old/20override/result/systemd/system/test2.service.d/rougail.conf
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/20override/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/20override/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/20override/tiramisu/base.py b/tests/dictionaries_old/20override/tiramisu/base.py
index e632163e6..69f8cc7ff 100644
--- a/tests/dictionaries_old/20override/tiramisu/base.py
+++ b/tests/dictionaries_old/20override/tiramisu/base.py
@@ -1,35 +1,38 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_8 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="test_service", doc="test.service", children=[option_8])
-option_7.impl_set_information('name', "test")
-option_7.impl_set_information('source', "test.service")
-option_6 = OptionDescription(name="overrides", doc="overrides", children=[option_7])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_6 = BoolOption(name="activate", doc="activate", default=True)
+option_7 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "service")
option_9 = BoolOption(name="activate", doc="activate", default=True)
option_10 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_9, option_10])
-option_14 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = OptionDescription(name="test2_service", doc="test2.service", children=[option_14])
-option_13.impl_set_information('engine', "jinja")
-option_13.impl_set_information('name', "test2")
-option_13.impl_set_information('source', "test2.service")
-option_12 = OptionDescription(name="overrides", doc="overrides", children=[option_13])
-option_15 = BoolOption(name="activate", doc="activate", default=True)
-option_16 = BoolOption(name="manage", doc="manage", default=True)
-option_11 = OptionDescription(name="test2", doc="test2", children=[option_12, option_15, option_16])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5, option_11], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_8 = OptionDescription(name="test2_service", doc="test2_service", children=[option_9, option_10])
+optiondescription_8.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5, optiondescription_8], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries_old/20override/tiramisu/multi.py b/tests/dictionaries_old/20override/tiramisu/multi.py
new file mode 100644
index 000000000..64ad9ca92
--- /dev/null
+++ b/tests/dictionaries_old/20override/tiramisu/multi.py
@@ -0,0 +1,74 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_26 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_8 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test.service", children=[option_8])
+optiondescription_7.impl_set_information('name', "test.service")
+optiondescription_7.impl_set_information('source', "test.service")
+optiondescription_6 = OptionDescription(name="overrides", doc="overrides", children=[optiondescription_7])
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_9 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_28 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_6, option_5, option_9])
+optiondescription_28.impl_set_information('type', "service")
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_12 = OptionDescription(name="test2_service", doc="test2.service", children=[option_13])
+optiondescription_12.impl_set_information('engine', "jinja")
+optiondescription_12.impl_set_information('name', "test2.service")
+optiondescription_12.impl_set_information('source', "test2.service")
+optiondescription_11 = OptionDescription(name="overrides", doc="overrides", children=[optiondescription_12])
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_29 = OptionDescription(name="test2_service", doc="test2.service", children=[optiondescription_11, option_10, option_14])
+optiondescription_29.impl_set_information('type', "service")
+optiondescription_27 = OptionDescription(name="services", doc="services", children=[optiondescription_28, optiondescription_29], properties=frozenset({"hidden"}))
+optiondescription_25 = OptionDescription(name="1", doc="1", children=[optiondescription_26, optiondescription_27])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_31 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="test_service", doc="test.service", children=[option_18])
+optiondescription_17.impl_set_information('name', "test.service")
+optiondescription_17.impl_set_information('source', "test.service")
+optiondescription_16 = OptionDescription(name="overrides", doc="overrides", children=[optiondescription_17])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_19 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_33 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_16, option_15, option_19])
+optiondescription_33.impl_set_information('type', "service")
+option_23 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_22 = OptionDescription(name="test2_service", doc="test2.service", children=[option_23])
+optiondescription_22.impl_set_information('engine', "jinja")
+optiondescription_22.impl_set_information('name', "test2.service")
+optiondescription_22.impl_set_information('source', "test2.service")
+optiondescription_21 = OptionDescription(name="overrides", doc="overrides", children=[optiondescription_22])
+option_20 = BoolOption(name="activate", doc="activate", default=True)
+option_24 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_34 = OptionDescription(name="test2_service", doc="test2.service", children=[optiondescription_21, option_20, option_24])
+optiondescription_34.impl_set_information('type', "service")
+optiondescription_32 = OptionDescription(name="services", doc="services", children=[optiondescription_33, optiondescription_34], properties=frozenset({"hidden"}))
+optiondescription_30 = OptionDescription(name="2", doc="2", children=[optiondescription_31, optiondescription_32])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_25, optiondescription_30])
diff --git a/tests/dictionaries_old/20override/xml/00-base.xml b/tests/dictionaries_old/20override/xml/00-base.xml
new file mode 100644
index 000000000..9ae8d7bd2
--- /dev/null
+++ b/tests/dictionaries_old/20override/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/20override/yml/00-base.yml b/tests/dictionaries_old/20override/yml/00-base.yml
new file mode 100644
index 000000000..88d8f874f
--- /dev/null
+++ b/tests/dictionaries_old/20override/yml/00-base.yml
@@ -0,0 +1,18 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ override: null
+ - name: test2
+ override:
+ - engine: jinja
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/20override_no_templating/00-base.xml b/tests/dictionaries_old/20override_no_templating/00-base.xml
deleted file mode 100644
index 8348d11a7..000000000
--- a/tests/dictionaries_old/20override_no_templating/00-base.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/20override_no_templating/makedict/after.json b/tests/dictionaries_old/20override_no_templating/makedict/after.json
index b76fd3d18..d916a90f3 100644
--- a/tests/dictionaries_old/20override_no_templating/makedict/after.json
+++ b/tests/dictionaries_old/20override_no_templating/makedict/after.json
@@ -3,15 +3,15 @@
"owner": "default",
"value": "non"
},
- "services.test.overrides.test_service.activate": {
+ "services.test_service.overrides.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/20override_no_templating/makedict/base.json b/tests/dictionaries_old/20override_no_templating/makedict/base.json
index 9dc9b73a9..87994e7b0 100644
--- a/tests/dictionaries_old/20override_no_templating/makedict/base.json
+++ b/tests/dictionaries_old/20override_no_templating/makedict/base.json
@@ -1,6 +1,6 @@
{
"rougail.general.mode_conteneur_actif": "non",
- "services.test.overrides.test_service.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.overrides.test_service.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/20override_no_templating/makedict/before.json b/tests/dictionaries_old/20override_no_templating/makedict/before.json
index b76fd3d18..d916a90f3 100644
--- a/tests/dictionaries_old/20override_no_templating/makedict/before.json
+++ b/tests/dictionaries_old/20override_no_templating/makedict/before.json
@@ -3,15 +3,15 @@
"owner": "default",
"value": "non"
},
- "services.test.overrides.test_service.activate": {
+ "services.test_service.overrides.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70service_engine/no_base b/tests/dictionaries_old/20override_no_templating/no_base
similarity index 100%
rename from tests/dictionaries/70service_engine/no_base
rename to tests/dictionaries_old/20override_no_templating/no_base
diff --git a/tests/dictionaries_old/20override_no_templating/result/rougail/00-base.yml b/tests/dictionaries_old/20override_no_templating/result/rougail/00-base.yml
new file mode 100644
index 000000000..6522280e9
--- /dev/null
+++ b/tests/dictionaries_old/20override_no_templating/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/20override_no_templating/result/services/00-base.yml b/tests/dictionaries_old/20override_no_templating/result/services/00-base.yml
new file mode 100644
index 000000000..d55f83ddb
--- /dev/null
+++ b/tests/dictionaries_old/20override_no_templating/result/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ override:
+ engine: none
+version: '1.0'
diff --git a/tests/dictionaries_old/20override_no_templating/result/systemd/system/test.service.d/rougail.conf b/tests/dictionaries_old/20override_no_templating/result/systemd/system/test.service.d/rougail.conf
deleted file mode 100644
index a29cfeaf3..000000000
--- a/tests/dictionaries_old/20override_no_templating/result/systemd/system/test.service.d/rougail.conf
+++ /dev/null
@@ -1 +0,0 @@
-%%mode_conteneur_actif
diff --git a/tests/dictionaries_old/20override_no_templating/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/20override_no_templating/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/20override_no_templating/tiramisu/base.py b/tests/dictionaries_old/20override_no_templating/tiramisu/base.py
index 4cce96cd6..e3aafb244 100644
--- a/tests/dictionaries_old/20override_no_templating/tiramisu/base.py
+++ b/tests/dictionaries_old/20override_no_templating/tiramisu/base.py
@@ -1,27 +1,34 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_8 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="test_service", doc="test.service", children=[option_8])
-option_7.impl_set_information('engine', "none")
-option_7.impl_set_information('name', "test")
-option_7.impl_set_information('source', "test.service")
-option_6 = OptionDescription(name="overrides", doc="overrides", children=[option_7])
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_9, option_10])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_6 = BoolOption(name="activate", doc="activate", default=True)
+option_7 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries_old/20override_no_templating/tiramisu/multi.py b/tests/dictionaries_old/20override_no_templating/tiramisu/multi.py
new file mode 100644
index 000000000..ab3241e90
--- /dev/null
+++ b/tests/dictionaries_old/20override_no_templating/tiramisu/multi.py
@@ -0,0 +1,56 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_8 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="test_service", doc="test.service", children=[option_8])
+optiondescription_7.impl_set_information('engine', "none")
+optiondescription_7.impl_set_information('name', "test.service")
+optiondescription_7.impl_set_information('source', "test.service")
+optiondescription_6 = OptionDescription(name="overrides", doc="overrides", children=[optiondescription_7])
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_9 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_18 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_6, option_5, option_9])
+optiondescription_18.impl_set_information('type', "service")
+optiondescription_17 = OptionDescription(name="services", doc="services", children=[optiondescription_18], properties=frozenset({"hidden"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16, optiondescription_17])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_12 = OptionDescription(name="test_service", doc="test.service", children=[option_13])
+optiondescription_12.impl_set_information('engine', "none")
+optiondescription_12.impl_set_information('name', "test.service")
+optiondescription_12.impl_set_information('source', "test.service")
+optiondescription_11 = OptionDescription(name="overrides", doc="overrides", children=[optiondescription_12])
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_22 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_11, option_10, option_14])
+optiondescription_22.impl_set_information('type', "service")
+optiondescription_21 = OptionDescription(name="services", doc="services", children=[optiondescription_22], properties=frozenset({"hidden"}))
+optiondescription_19 = OptionDescription(name="2", doc="2", children=[optiondescription_20, optiondescription_21])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_19])
diff --git a/tests/dictionaries_old/20override_no_templating/xml/00-base.xml b/tests/dictionaries_old/20override_no_templating/xml/00-base.xml
new file mode 100644
index 000000000..1804060cb
--- /dev/null
+++ b/tests/dictionaries_old/20override_no_templating/xml/00-base.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/20override_no_templating/yml/00-base.yml b/tests/dictionaries_old/20override_no_templating/yml/00-base.yml
new file mode 100644
index 000000000..3761864a7
--- /dev/null
+++ b/tests/dictionaries_old/20override_no_templating/yml/00-base.yml
@@ -0,0 +1,16 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ override:
+ - engine: none
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/20override_source/00-base.xml b/tests/dictionaries_old/20override_source/00-base.xml
deleted file mode 100644
index acf3748b8..000000000
--- a/tests/dictionaries_old/20override_source/00-base.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/20override_source/makedict/after.json b/tests/dictionaries_old/20override_source/makedict/after.json
index 60992c7f9..d31908827 100644
--- a/tests/dictionaries_old/20override_source/makedict/after.json
+++ b/tests/dictionaries_old/20override_source/makedict/after.json
@@ -3,15 +3,15 @@
"owner": "default",
"value": "non"
},
- "services.test.overrides.test2_service.activate": {
+ "services.test_service.overrides.test2_service.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/20override_source/makedict/base.json b/tests/dictionaries_old/20override_source/makedict/base.json
index 3c86a824b..e24f567b8 100644
--- a/tests/dictionaries_old/20override_source/makedict/base.json
+++ b/tests/dictionaries_old/20override_source/makedict/base.json
@@ -1,6 +1,6 @@
{
"rougail.general.mode_conteneur_actif": "non",
- "services.test.overrides.test2_service.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.overrides.test2_service.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/20override_source/makedict/before.json b/tests/dictionaries_old/20override_source/makedict/before.json
index 60992c7f9..d31908827 100644
--- a/tests/dictionaries_old/20override_source/makedict/before.json
+++ b/tests/dictionaries_old/20override_source/makedict/before.json
@@ -3,15 +3,15 @@
"owner": "default",
"value": "non"
},
- "services.test.overrides.test2_service.activate": {
+ "services.test_service.overrides.test2_service.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70service_engine_dash/no_base b/tests/dictionaries_old/20override_source/no_base
similarity index 100%
rename from tests/dictionaries/70service_engine_dash/no_base
rename to tests/dictionaries_old/20override_source/no_base
diff --git a/tests/dictionaries_old/20override_source/result/rougail/00-base.yml b/tests/dictionaries_old/20override_source/result/rougail/00-base.yml
new file mode 100644
index 000000000..6522280e9
--- /dev/null
+++ b/tests/dictionaries_old/20override_source/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/20override_source/result/services/00-base.yml b/tests/dictionaries_old/20override_source/result/services/00-base.yml
new file mode 100644
index 000000000..b199c5321
--- /dev/null
+++ b/tests/dictionaries_old/20override_source/result/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ override:
+ source: test2.service
+version: '1.0'
diff --git a/tests/dictionaries_old/20override_source/result/systemd/system/test.service.d/rougail.conf b/tests/dictionaries_old/20override_source/result/systemd/system/test.service.d/rougail.conf
deleted file mode 100644
index d907505b5..000000000
--- a/tests/dictionaries_old/20override_source/result/systemd/system/test.service.d/rougail.conf
+++ /dev/null
@@ -1 +0,0 @@
-non
diff --git a/tests/dictionaries_old/20override_source/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/20override_source/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/20override_source/tiramisu/base.py b/tests/dictionaries_old/20override_source/tiramisu/base.py
index c2dc8f2d3..e3aafb244 100644
--- a/tests/dictionaries_old/20override_source/tiramisu/base.py
+++ b/tests/dictionaries_old/20override_source/tiramisu/base.py
@@ -1,26 +1,34 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_8 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="test2_service", doc="test2.service", children=[option_8])
-option_7.impl_set_information('name', "test")
-option_7.impl_set_information('source', "test2.service")
-option_6 = OptionDescription(name="overrides", doc="overrides", children=[option_7])
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_9, option_10])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_6 = BoolOption(name="activate", doc="activate", default=True)
+option_7 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries_old/20override_source/tiramisu/multi.py b/tests/dictionaries_old/20override_source/tiramisu/multi.py
new file mode 100644
index 000000000..f9f6a9259
--- /dev/null
+++ b/tests/dictionaries_old/20override_source/tiramisu/multi.py
@@ -0,0 +1,54 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_8 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="test2_service", doc="test2.service", children=[option_8])
+optiondescription_7.impl_set_information('name', "test.service")
+optiondescription_7.impl_set_information('source', "test2.service")
+optiondescription_6 = OptionDescription(name="overrides", doc="overrides", children=[optiondescription_7])
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_9 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_18 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_6, option_5, option_9])
+optiondescription_18.impl_set_information('type', "service")
+optiondescription_17 = OptionDescription(name="services", doc="services", children=[optiondescription_18], properties=frozenset({"hidden"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16, optiondescription_17])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_12 = OptionDescription(name="test2_service", doc="test2.service", children=[option_13])
+optiondescription_12.impl_set_information('name', "test.service")
+optiondescription_12.impl_set_information('source', "test2.service")
+optiondescription_11 = OptionDescription(name="overrides", doc="overrides", children=[optiondescription_12])
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+option_14 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_22 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_11, option_10, option_14])
+optiondescription_22.impl_set_information('type', "service")
+optiondescription_21 = OptionDescription(name="services", doc="services", children=[optiondescription_22], properties=frozenset({"hidden"}))
+optiondescription_19 = OptionDescription(name="2", doc="2", children=[optiondescription_20, optiondescription_21])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_19])
diff --git a/tests/dictionaries_old/20override_source/xml/00-base.xml b/tests/dictionaries_old/20override_source/xml/00-base.xml
new file mode 100644
index 000000000..826d9e37c
--- /dev/null
+++ b/tests/dictionaries_old/20override_source/xml/00-base.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/20override_source/yml/00-base.yml b/tests/dictionaries_old/20override_source/yml/00-base.yml
new file mode 100644
index 000000000..0a1c06c7e
--- /dev/null
+++ b/tests/dictionaries_old/20override_source/yml/00-base.yml
@@ -0,0 +1,16 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ override:
+ - source: test2.service
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/21family_empty/00-base.xml b/tests/dictionaries_old/21family_empty/00-base.xml
deleted file mode 100644
index b628e39b7..000000000
--- a/tests/dictionaries_old/21family_empty/00-base.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/21family_empty/result/rougail/00-base.yml b/tests/dictionaries_old/21family_empty/result/rougail/00-base.yml
new file mode 100644
index 000000000..cc32e34b9
--- /dev/null
+++ b/tests/dictionaries_old/21family_empty/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/21family_empty/tiramisu/base.py b/tests/dictionaries_old/21family_empty/tiramisu/base.py
index 02d0d601e..8d2f0a697 100644
--- a/tests/dictionaries_old/21family_empty/tiramisu/base.py
+++ b/tests/dictionaries_old/21family_empty/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/21family_empty/tiramisu/multi.py b/tests/dictionaries_old/21family_empty/tiramisu/multi.py
new file mode 100644
index 000000000..d96ffc5a9
--- /dev/null
+++ b/tests/dictionaries_old/21family_empty/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/21family_empty/xml/00-base.xml b/tests/dictionaries_old/21family_empty/xml/00-base.xml
new file mode 100644
index 000000000..49813e8f7
--- /dev/null
+++ b/tests/dictionaries_old/21family_empty/xml/00-base.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/21family_empty/yml/00-base.yml b/tests/dictionaries_old/21family_empty/yml/00-base.yml
new file mode 100644
index 000000000..a6df0e902
--- /dev/null
+++ b/tests/dictionaries_old/21family_empty/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general1
diff --git a/tests/dictionaries/01fill_mandatory/__init__.py b/tests/dictionaries_old/21family_empty_sub/__init__.py
similarity index 100%
rename from tests/dictionaries/01fill_mandatory/__init__.py
rename to tests/dictionaries_old/21family_empty_sub/__init__.py
diff --git a/tests/dictionaries/00load_comment/makedict/after.json b/tests/dictionaries_old/21family_empty_sub/makedict/after.json
similarity index 100%
rename from tests/dictionaries/00load_comment/makedict/after.json
rename to tests/dictionaries_old/21family_empty_sub/makedict/after.json
diff --git a/tests/dictionaries/00load_comment/makedict/base.json b/tests/dictionaries_old/21family_empty_sub/makedict/base.json
similarity index 100%
rename from tests/dictionaries/00load_comment/makedict/base.json
rename to tests/dictionaries_old/21family_empty_sub/makedict/base.json
diff --git a/tests/dictionaries/00load_comment/makedict/before.json b/tests/dictionaries_old/21family_empty_sub/makedict/before.json
similarity index 100%
rename from tests/dictionaries/00load_comment/makedict/before.json
rename to tests/dictionaries_old/21family_empty_sub/makedict/before.json
diff --git a/tests/dictionaries_old/21family_empty_sub/result/rougail/00-base.yml b/tests/dictionaries_old/21family_empty_sub/result/rougail/00-base.yml
new file mode 100644
index 000000000..60b2b848f
--- /dev/null
+++ b/tests/dictionaries_old/21family_empty_sub/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+general1:
+ general2: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/21family_empty_sub/tiramisu/base.py b/tests/dictionaries_old/21family_empty_sub/tiramisu/base.py
new file mode 100644
index 000000000..8d2f0a697
--- /dev/null
+++ b/tests/dictionaries_old/21family_empty_sub/tiramisu/base.py
@@ -0,0 +1,29 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/21family_empty_sub/tiramisu/multi.py b/tests/dictionaries_old/21family_empty_sub/tiramisu/multi.py
new file mode 100644
index 000000000..e850ec281
--- /dev/null
+++ b/tests/dictionaries_old/21family_empty_sub/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/21family_empty_sub/xml/00-base.xml b/tests/dictionaries_old/21family_empty_sub/xml/00-base.xml
new file mode 100644
index 000000000..84680f51c
--- /dev/null
+++ b/tests/dictionaries_old/21family_empty_sub/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+ non
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/21family_empty_sub/yml/00-base.yml b/tests/dictionaries_old/21family_empty_sub/yml/00-base.yml
new file mode 100644
index 000000000..b36c88eae
--- /dev/null
+++ b/tests/dictionaries_old/21family_empty_sub/yml/00-base.yml
@@ -0,0 +1,15 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general1
+ variables:
+ - family:
+ - name: general2
diff --git a/tests/dictionaries/01fill_number/__init__.py b/tests/dictionaries_old/22provider_dynamic/__init__.py
similarity index 100%
rename from tests/dictionaries/01fill_number/__init__.py
rename to tests/dictionaries_old/22provider_dynamic/__init__.py
diff --git a/tests/dictionaries_old/22provider_dynamic/makedict/after.json b/tests/dictionaries_old/22provider_dynamic/makedict/after.json
new file mode 100644
index 000000000..4201ce973
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic/makedict/after.json
@@ -0,0 +1,17 @@
+{
+ "rougail.general.varname": {
+ "owner": "default",
+ "value": [
+ "val1",
+ "val2"
+ ]
+ },
+ "rougail.dynval1.vardynval1": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.dynval2.vardynval2": {
+ "owner": "default",
+ "value": null
+ }
+}
diff --git a/tests/dictionaries_old/22provider_dynamic/makedict/base.json b/tests/dictionaries_old/22provider_dynamic/makedict/base.json
new file mode 100644
index 000000000..f3dfb5918
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic/makedict/base.json
@@ -0,0 +1,8 @@
+{
+ "rougail.general.varname": [
+ "val1",
+ "val2"
+ ],
+ "rougail.dynval1.vardynval1": null,
+ "rougail.dynval2.vardynval2": null
+}
diff --git a/tests/dictionaries_old/22provider_dynamic/makedict/before.json b/tests/dictionaries_old/22provider_dynamic/makedict/before.json
new file mode 100644
index 000000000..4201ce973
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic/makedict/before.json
@@ -0,0 +1,17 @@
+{
+ "rougail.general.varname": {
+ "owner": "default",
+ "value": [
+ "val1",
+ "val2"
+ ]
+ },
+ "rougail.dynval1.vardynval1": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.dynval2.vardynval2": {
+ "owner": "default",
+ "value": null
+ }
+}
diff --git a/tests/dictionaries_old/22provider_dynamic/result/rougail/00-base.yml b/tests/dictionaries_old/22provider_dynamic/result/rougail/00-base.yml
new file mode 100644
index 000000000..54383c0d4
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic/result/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+dyn:
+ type: dynamic
+ variable: rougail.general.varname
+ vardyn:
+ type: string
+ description: No change
+ provider: dyn
+version: '1.0'
diff --git a/tests/dictionaries_old/22provider_dynamic/tiramisu/base.py b/tests/dictionaries_old/22provider_dynamic/tiramisu/base.py
new file mode 100644
index 000000000..9c1e2d0b5
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic/tiramisu/base.py
@@ -0,0 +1,31 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_5 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+optiondescription_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/22provider_dynamic/tiramisu/multi.py b/tests/dictionaries_old/22provider_dynamic/tiramisu/multi.py
new file mode 100644
index 000000000..136352532
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic/tiramisu/multi.py
@@ -0,0 +1,41 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from rougail.tiramisu import ConvertDynOptionDescription
+option_2 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+optiondescription_3 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+optiondescription_9.impl_set_information('provider:dyn', "rougail.dyn{suffix}.vardyn{suffix}")
+option_6 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"normal"}))
+option_8 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+optiondescription_7 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_6, notraisepropertyerror=True)))), children=[option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+optiondescription_11.impl_set_information('provider:dyn', "rougail.dyn{suffix}.vardyn{suffix}")
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/22provider_dynamic/xml/00-base.xml b/tests/dictionaries_old/22provider_dynamic/xml/00-base.xml
new file mode 100644
index 000000000..a651a8fe5
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+ val1
+ val2
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/22provider_dynamic/yml/00-base.yml b/tests/dictionaries_old/22provider_dynamic/yml/00-base.yml
new file mode 100644
index 000000000..4de8d1463
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic/yml/00-base.yml
@@ -0,0 +1,21 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: varname
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: val1
+ - text: val2
+ - name: dyn
+ dynamic: varname
+ variables:
+ - variable:
+ - name: vardyn
+ type: string
+ description: No change
+ provider: dyn
diff --git a/tests/dictionaries/01fill_only_optional/__init__.py b/tests/dictionaries_old/22provider_dynamic_2/__init__.py
similarity index 100%
rename from tests/dictionaries/01fill_only_optional/__init__.py
rename to tests/dictionaries_old/22provider_dynamic_2/__init__.py
diff --git a/tests/dictionaries_old/22provider_dynamic_2/makedict/after.json b/tests/dictionaries_old/22provider_dynamic_2/makedict/after.json
new file mode 100644
index 000000000..5c81b6a85
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic_2/makedict/after.json
@@ -0,0 +1,17 @@
+{
+ "rougail.varname": {
+ "owner": "default",
+ "value": [
+ "val1",
+ "val2"
+ ]
+ },
+ "rougail.general.dynval1.vardynval1": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.general.dynval2.vardynval2": {
+ "owner": "default",
+ "value": null
+ }
+}
diff --git a/tests/dictionaries_old/22provider_dynamic_2/makedict/base.json b/tests/dictionaries_old/22provider_dynamic_2/makedict/base.json
new file mode 100644
index 000000000..2d7754e77
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic_2/makedict/base.json
@@ -0,0 +1,8 @@
+{
+ "rougail.varname": [
+ "val1",
+ "val2"
+ ],
+ "rougail.general.dynval1.vardynval1": null,
+ "rougail.general.dynval2.vardynval2": null
+}
diff --git a/tests/dictionaries_old/22provider_dynamic_2/makedict/before.json b/tests/dictionaries_old/22provider_dynamic_2/makedict/before.json
new file mode 100644
index 000000000..5c81b6a85
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic_2/makedict/before.json
@@ -0,0 +1,17 @@
+{
+ "rougail.varname": {
+ "owner": "default",
+ "value": [
+ "val1",
+ "val2"
+ ]
+ },
+ "rougail.general.dynval1.vardynval1": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.general.dynval2.vardynval2": {
+ "owner": "default",
+ "value": null
+ }
+}
diff --git a/tests/dictionaries_old/22provider_dynamic_2/result/rougail/00-base.yml b/tests/dictionaries_old/22provider_dynamic_2/result/rougail/00-base.yml
new file mode 100644
index 000000000..05233675f
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic_2/result/rougail/00-base.yml
@@ -0,0 +1,16 @@
+varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - val1
+ - val2
+general:
+ dyn:
+ type: dynamic
+ variable: rougail.varname
+ vardyn:
+ type: string
+ description: No change
+ provider: dyn
+version: '1.0'
diff --git a/tests/dictionaries_old/22provider_dynamic_2/tiramisu/base.py b/tests/dictionaries_old/22provider_dynamic_2/tiramisu/base.py
new file mode 100644
index 000000000..1a46d15d4
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic_2/tiramisu/base.py
@@ -0,0 +1,31 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+optiondescription_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/22provider_dynamic_2/tiramisu/multi.py b/tests/dictionaries_old/22provider_dynamic_2/tiramisu/multi.py
new file mode 100644
index 000000000..46662d733
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic_2/tiramisu/multi.py
@@ -0,0 +1,41 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from rougail.tiramisu import ConvertDynOptionDescription
+option_1 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+optiondescription_3 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_1, notraisepropertyerror=True)))), children=[option_4], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, optiondescription_2], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+optiondescription_9.impl_set_information('provider:dyn', "rougail.general.dyn{suffix}.vardyn{suffix}")
+option_5 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
+optiondescription_7 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_5, notraisepropertyerror=True)))), children=[option_8], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[option_5, optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+optiondescription_11.impl_set_information('provider:dyn', "rougail.general.dyn{suffix}.vardyn{suffix}")
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/22provider_dynamic_2/xml/00-base.xml b/tests/dictionaries_old/22provider_dynamic_2/xml/00-base.xml
new file mode 100644
index 000000000..972e74423
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic_2/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ val1
+ val2
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/22provider_dynamic_2/yml/00-base.yml b/tests/dictionaries_old/22provider_dynamic_2/yml/00-base.yml
new file mode 100644
index 000000000..561eeaafb
--- /dev/null
+++ b/tests/dictionaries_old/22provider_dynamic_2/yml/00-base.yml
@@ -0,0 +1,22 @@
+version: '0.10'
+variables:
+- variable:
+ - name: varname
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: val1
+ - text: val2
+- family:
+ - name: general
+ variables:
+ - family:
+ - name: dyn
+ dynamic: varname
+ variables:
+ - variable:
+ - name: vardyn
+ type: string
+ description: No change
+ provider: dyn
diff --git a/tests/dictionaries_old/30mandatory_withoutvalue/00-base.xml b/tests/dictionaries_old/30mandatory_withoutvalue/00-base.xml
deleted file mode 100644
index dd8cc45f6..000000000
--- a/tests/dictionaries_old/30mandatory_withoutvalue/00-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/30mandatory_withoutvalue/result/rougail/00-base.yml b/tests/dictionaries_old/30mandatory_withoutvalue/result/rougail/00-base.yml
new file mode 100644
index 000000000..3390ba5c4
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withoutvalue/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries_old/30mandatory_withoutvalue/tiramisu/base.py b/tests/dictionaries_old/30mandatory_withoutvalue/tiramisu/base.py
index 616276472..833b5716b 100644
--- a/tests/dictionaries_old/30mandatory_withoutvalue/tiramisu/base.py
+++ b/tests/dictionaries_old/30mandatory_withoutvalue/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", properties=frozenset({"basic", "mandatory"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/30mandatory_withoutvalue/tiramisu/multi.py b/tests/dictionaries_old/30mandatory_withoutvalue/tiramisu/multi.py
new file mode 100644
index 000000000..129b3ee57
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withoutvalue/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", properties=frozenset({"basic", "mandatory"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"basic"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"basic"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", properties=frozenset({"basic", "mandatory"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"basic"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"basic"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/30mandatory_withoutvalue/xml/00-base.xml b/tests/dictionaries_old/30mandatory_withoutvalue/xml/00-base.xml
new file mode 100644
index 000000000..5b12cded9
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withoutvalue/xml/00-base.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/30mandatory_withoutvalue/yml/00-base.yml b/tests/dictionaries_old/30mandatory_withoutvalue/yml/00-base.yml
new file mode 100644
index 000000000..e0a669dc4
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withoutvalue/yml/00-base.yml
@@ -0,0 +1,10 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ mandatory: true
diff --git a/tests/dictionaries_old/30mandatory_withoutvaluecalc/00-base.xml b/tests/dictionaries_old/30mandatory_withoutvaluecalc/00-base.xml
deleted file mode 100644
index 74ac4379f..000000000
--- a/tests/dictionaries_old/30mandatory_withoutvaluecalc/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
- value
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/30mandatory_withoutvaluecalc/result/rougail/00-base.yml b/tests/dictionaries_old/30mandatory_withoutvaluecalc/result/rougail/00-base.yml
new file mode 100644
index 000000000..665ca03fb
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withoutvaluecalc/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "value" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/30mandatory_withoutvaluecalc/tiramisu/base.py b/tests/dictionaries_old/30mandatory_withoutvaluecalc/tiramisu/base.py
index 2834df77e..c61491e8a 100644
--- a/tests/dictionaries_old/30mandatory_withoutvaluecalc/tiramisu/base.py
+++ b/tests/dictionaries_old/30mandatory_withoutvaluecalc/tiramisu/base.py
@@ -1,17 +1,59 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("value")))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ \"value\" | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/30mandatory_withoutvaluecalc/tiramisu/multi.py b/tests/dictionaries_old/30mandatory_withoutvaluecalc/tiramisu/multi.py
new file mode 100644
index 000000000..3e3805be4
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withoutvaluecalc/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("value")))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("value")))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/30mandatory_withoutvaluecalc/xml/00-base.xml b/tests/dictionaries_old/30mandatory_withoutvaluecalc/xml/00-base.xml
new file mode 100644
index 000000000..824ee0f93
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withoutvaluecalc/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+ value
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/30mandatory_withoutvaluecalc/yml/00-base.yml b/tests/dictionaries_old/30mandatory_withoutvaluecalc/yml/00-base.yml
new file mode 100644
index 000000000..c61afb972
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withoutvaluecalc/yml/00-base.yml
@@ -0,0 +1,17 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - text: value
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/30mandatory_withvalue/00-base.xml b/tests/dictionaries_old/30mandatory_withvalue/00-base.xml
deleted file mode 100644
index cfbe7ed05..000000000
--- a/tests/dictionaries_old/30mandatory_withvalue/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- value
-
-
-
-
diff --git a/tests/dictionaries_old/30mandatory_withvalue/result/rougail/00-base.yml b/tests/dictionaries_old/30mandatory_withvalue/result/rougail/00-base.yml
new file mode 100644
index 000000000..5b7b86f1f
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withvalue/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: value
+version: '1.0'
diff --git a/tests/dictionaries_old/30mandatory_withvalue/tiramisu/base.py b/tests/dictionaries_old/30mandatory_withvalue/tiramisu/base.py
index db8702545..a8e5107e6 100644
--- a/tests/dictionaries_old/30mandatory_withvalue/tiramisu/base.py
+++ b/tests/dictionaries_old/30mandatory_withvalue/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="value", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/30mandatory_withvalue/tiramisu/multi.py b/tests/dictionaries_old/30mandatory_withvalue/tiramisu/multi.py
new file mode 100644
index 000000000..8bcbe5e84
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withvalue/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="value", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default="value", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/30mandatory_withvalue/xml/00-base.xml b/tests/dictionaries_old/30mandatory_withvalue/xml/00-base.xml
new file mode 100644
index 000000000..9c5e2427b
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withvalue/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ value
+
+
+
+
diff --git a/tests/dictionaries_old/30mandatory_withvalue/yml/00-base.yml b/tests/dictionaries_old/30mandatory_withvalue/yml/00-base.yml
new file mode 100644
index 000000000..dfea92a24
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withvalue/yml/00-base.yml
@@ -0,0 +1,11 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: value
diff --git a/tests/dictionaries_old/30mandatory_withvaluecalc/00-base.xml b/tests/dictionaries_old/30mandatory_withvaluecalc/00-base.xml
deleted file mode 100644
index 899ce4dd1..000000000
--- a/tests/dictionaries_old/30mandatory_withvaluecalc/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
- value
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/30mandatory_withvaluecalc/result/rougail/00-base.yml b/tests/dictionaries_old/30mandatory_withvaluecalc/result/rougail/00-base.yml
new file mode 100644
index 000000000..c40c13623
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withvaluecalc/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "value" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/30mandatory_withvaluecalc/tiramisu/base.py b/tests/dictionaries_old/30mandatory_withvaluecalc/tiramisu/base.py
index 0396c195b..81225b67f 100644
--- a/tests/dictionaries_old/30mandatory_withvaluecalc/tiramisu/base.py
+++ b/tests/dictionaries_old/30mandatory_withvaluecalc/tiramisu/base.py
@@ -1,17 +1,59 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("value")))), properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ \"value\" | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/30mandatory_withvaluecalc/tiramisu/multi.py b/tests/dictionaries_old/30mandatory_withvaluecalc/tiramisu/multi.py
new file mode 100644
index 000000000..6a0e5331d
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withvaluecalc/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("value")))), properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.calc_val, Params((ParamValue("value")))), properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/30mandatory_withvaluecalc/xml/00-base.xml b/tests/dictionaries_old/30mandatory_withvaluecalc/xml/00-base.xml
new file mode 100644
index 000000000..4480774b0
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withvaluecalc/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+ value
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/30mandatory_withvaluecalc/yml/00-base.yml b/tests/dictionaries_old/30mandatory_withvaluecalc/yml/00-base.yml
new file mode 100644
index 000000000..5455b238d
--- /dev/null
+++ b/tests/dictionaries_old/30mandatory_withvaluecalc/yml/00-base.yml
@@ -0,0 +1,16 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - text: value
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/40condition_base/00-base.xml b/tests/dictionaries_old/40condition_base/00-base.xml
deleted file mode 100644
index c4aa968ac..000000000
--- a/tests/dictionaries_old/40condition_base/00-base.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif1
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/40condition_base/result/rougail/00-base.yml b/tests/dictionaries_old/40condition_base/result/rougail/00-base.yml
new file mode 100644
index 000000000..7bb8fc4e3
--- /dev/null
+++ b/tests/dictionaries_old/40condition_base/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/40condition_base/tiramisu/base.py b/tests/dictionaries_old/40condition_base/tiramisu/base.py
index e06f75254..3f3031c65 100644
--- a/tests/dictionaries_old/40condition_base/tiramisu/base.py
+++ b/tests/dictionaries_old/40condition_base/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_6 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40condition_base/tiramisu/multi.py b/tests/dictionaries_old/40condition_base/tiramisu/multi.py
new file mode 100644
index 000000000..e8a67e8bf
--- /dev/null
+++ b/tests/dictionaries_old/40condition_base/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_10 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7, option_8, option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/40condition_base/xml/00-base.xml b/tests/dictionaries_old/40condition_base/xml/00-base.xml
new file mode 100644
index 000000000..5116ca99a
--- /dev/null
+++ b/tests/dictionaries_old/40condition_base/xml/00-base.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif1
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/40condition_base/yml/00-base.yml b/tests/dictionaries_old/40condition_base/yml/00-base.yml
new file mode 100644
index 000000000..fbb661e20
--- /dev/null
+++ b/tests/dictionaries_old/40condition_base/yml/00-base.yml
@@ -0,0 +1,39 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - optional: true
+ name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif1
+ - type: variable
+ optional: true
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/40condition_base_add/00-base.xml b/tests/dictionaries_old/40condition_base_add/00-base.xml
deleted file mode 100644
index c4aa968ac..000000000
--- a/tests/dictionaries_old/40condition_base_add/00-base.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif1
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/40condition_base_add/01-base.xml b/tests/dictionaries_old/40condition_base_add/01-base.xml
deleted file mode 100644
index cca063ed2..000000000
--- a/tests/dictionaries_old/40condition_base_add/01-base.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
- oui
- mode_conteneur_actif1
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/40condition_base_add/result/rougail/00-base.yml b/tests/dictionaries_old/40condition_base_add/result/rougail/00-base.yml
new file mode 100644
index 000000000..7bb8fc4e3
--- /dev/null
+++ b/tests/dictionaries_old/40condition_base_add/result/rougail/00-base.yml
@@ -0,0 +1,26 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/40condition_base_add/result/rougail/01-base.yml b/tests/dictionaries_old/40condition_base_add/result/rougail/01-base.yml
new file mode 100644
index 000000000..d80321891
--- /dev/null
+++ b/tests/dictionaries_old/40condition_base_add/result/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ condition:
+ redefine: true
+ hidden: false
+ disabled: false
+ mandatory: false
+version: '1.0'
diff --git a/tests/dictionaries_old/40condition_base_add/tiramisu/base.py b/tests/dictionaries_old/40condition_base_add/tiramisu/base.py
index e06f75254..eb60798ee 100644
--- a/tests/dictionaries_old/40condition_base_add/tiramisu/base.py
+++ b/tests/dictionaries_old/40condition_base_add/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_6 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_4 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"normal"}))
+option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40condition_base_add/tiramisu/multi.py b/tests/dictionaries_old/40condition_base_add/tiramisu/multi.py
new file mode 100644
index 000000000..e8a67e8bf
--- /dev/null
+++ b/tests/dictionaries_old/40condition_base_add/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_10 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_8, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7, option_8, option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/40condition_base_add/xml/00-base.xml b/tests/dictionaries_old/40condition_base_add/xml/00-base.xml
new file mode 100644
index 000000000..5116ca99a
--- /dev/null
+++ b/tests/dictionaries_old/40condition_base_add/xml/00-base.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif1
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/40condition_base_add/xml/01-base.xml b/tests/dictionaries_old/40condition_base_add/xml/01-base.xml
new file mode 100644
index 000000000..c7b3c65ec
--- /dev/null
+++ b/tests/dictionaries_old/40condition_base_add/xml/01-base.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+ oui
+ mode_conteneur_actif1
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/40condition_base_add/yml/00-base.yml b/tests/dictionaries_old/40condition_base_add/yml/00-base.yml
new file mode 100644
index 000000000..fbb661e20
--- /dev/null
+++ b/tests/dictionaries_old/40condition_base_add/yml/00-base.yml
@@ -0,0 +1,39 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - optional: true
+ name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif1
+ - type: variable
+ optional: true
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/40condition_base_add/yml/01-base.yml b/tests/dictionaries_old/40condition_base_add/yml/01-base.yml
new file mode 100644
index 000000000..15d413f0f
--- /dev/null
+++ b/tests/dictionaries_old/40condition_base_add/yml/01-base.yml
@@ -0,0 +1,22 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ redefine: true
+ remove_condition: true
+constraints:
+- condition:
+ - optional: true
+ name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif1
+ - type: variable
+ optional: true
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/40condition_fallback/00-base.xml b/tests/dictionaries_old/40condition_fallback/00-base.xml
deleted file mode 100644
index 4b3dcbb55..000000000
--- a/tests/dictionaries_old/40condition_fallback/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif1
- mode_conteneur_actif2
- disabled_family
-
-
-
diff --git a/tests/dictionaries_old/40condition_fallback/result/rougail/00-base.yml b/tests/dictionaries_old/40condition_fallback/result/rougail/00-base.yml
new file mode 100644
index 000000000..7bd55dd8d
--- /dev/null
+++ b/tests/dictionaries_old/40condition_fallback/result/rougail/00-base.yml
@@ -0,0 +1,28 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __condition == "oui" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __condition == "oui" %}true{% else %}false{% endif %}'
+disabled_family:
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if __condition == "oui" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/40condition_fallback/tiramisu/base.py b/tests/dictionaries_old/40condition_fallback/tiramisu/base.py
index a9a0a43e7..b5ada7613 100644
--- a/tests/dictionaries_old/40condition_fallback/tiramisu/base.py
+++ b/tests/dictionaries_old/40condition_fallback/tiramisu/base.py
@@ -1,21 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
option_7 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_6 = OptionDescription(name="disabled_family", doc="disabled_family", children=[option_7], properties=frozenset({"disabled", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_6 = OptionDescription(name="disabled_family", doc="disabled_family", children=[option_7], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40condition_fallback/tiramisu/multi.py b/tests/dictionaries_old/40condition_fallback/tiramisu/multi.py
new file mode 100644
index 000000000..b362ab39f
--- /dev/null
+++ b/tests/dictionaries_old/40condition_fallback/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="disabled_family", doc="disabled_family", children=[option_6], properties=frozenset({"disabled", "normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_8 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+option_10 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="general", children=[option_8, option_9, option_10], properties=frozenset({"normal"}))
+option_12 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_11 = OptionDescription(name="disabled_family", doc="disabled_family", children=[option_12], properties=frozenset({"disabled", "normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/40condition_fallback/xml/00-base.xml b/tests/dictionaries_old/40condition_fallback/xml/00-base.xml
new file mode 100644
index 000000000..94ff4cc12
--- /dev/null
+++ b/tests/dictionaries_old/40condition_fallback/xml/00-base.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif1
+ mode_conteneur_actif2
+ disabled_family
+
+
+
diff --git a/tests/dictionaries_old/40condition_fallback/yml/00-base.yml b/tests/dictionaries_old/40condition_fallback/yml/00-base.yml
new file mode 100644
index 000000000..ce3908992
--- /dev/null
+++ b/tests/dictionaries_old/40condition_fallback/yml/00-base.yml
@@ -0,0 +1,44 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: disabled_family
+ variables:
+ - variable:
+ - name: mode_conteneur_actif3
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - optional: true
+ name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif1
+ - type: variable
+ optional: true
+ text: mode_conteneur_actif2
+ - type: family
+ text: disabled_family
diff --git a/tests/dictionaries_old/40condition_optional/00-base.xml b/tests/dictionaries_old/40condition_optional/00-base.xml
deleted file mode 100644
index 3190d07af..000000000
--- a/tests/dictionaries_old/40condition_optional/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif1
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/40condition_optional/result/rougail/00-base.yml b/tests/dictionaries_old/40condition_optional/result/rougail/00-base.yml
new file mode 100644
index 000000000..418ca0b54
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional/result/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/40condition_optional/tiramisu/base.py b/tests/dictionaries_old/40condition_optional/tiramisu/base.py
index a38f70b59..0653f1ee9 100644
--- a/tests/dictionaries_old/40condition_optional/tiramisu/base.py
+++ b/tests/dictionaries_old/40condition_optional/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40condition_optional/tiramisu/multi.py b/tests/dictionaries_old/40condition_optional/tiramisu/multi.py
new file mode 100644
index 000000000..90b10c198
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/40condition_optional/xml/00-base.xml b/tests/dictionaries_old/40condition_optional/xml/00-base.xml
new file mode 100644
index 000000000..ed408f6a2
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional/xml/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif1
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/40condition_optional/yml/00-base.yml b/tests/dictionaries_old/40condition_optional/yml/00-base.yml
new file mode 100644
index 000000000..77d3db6df
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional/yml/00-base.yml
@@ -0,0 +1,34 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - optional: true
+ name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif1
+ - type: variable
+ optional: true
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/40condition_optional_empty/00-base.xml b/tests/dictionaries_old/40condition_optional_empty/00-base.xml
deleted file mode 100644
index 15197d244..000000000
--- a/tests/dictionaries_old/40condition_optional_empty/00-base.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/40condition_optional_empty/result/rougail/00-base.yml b/tests/dictionaries_old/40condition_optional_empty/result/rougail/00-base.yml
new file mode 100644
index 000000000..b0508a169
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional_empty/result/rougail/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/40condition_optional_empty/tiramisu/base.py b/tests/dictionaries_old/40condition_optional_empty/tiramisu/base.py
index fb1489834..0653f1ee9 100644
--- a/tests/dictionaries_old/40condition_optional_empty/tiramisu/base.py
+++ b/tests/dictionaries_old/40condition_optional_empty/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40condition_optional_empty/tiramisu/multi.py b/tests/dictionaries_old/40condition_optional_empty/tiramisu/multi.py
new file mode 100644
index 000000000..77b1954e0
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional_empty/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/40condition_optional_empty/xml/00-base.xml b/tests/dictionaries_old/40condition_optional_empty/xml/00-base.xml
new file mode 100644
index 000000000..99c10ad6b
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional_empty/xml/00-base.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/40condition_optional_empty/yml/00-base.yml b/tests/dictionaries_old/40condition_optional_empty/yml/00-base.yml
new file mode 100644
index 000000000..6a113b30e
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional_empty/yml/00-base.yml
@@ -0,0 +1,32 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - optional: true
+ name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ optional: true
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/40condition_optional_family/00-base.xml b/tests/dictionaries_old/40condition_optional_family/00-base.xml
deleted file mode 100644
index 8e67c7e38..000000000
--- a/tests/dictionaries_old/40condition_optional_family/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- True
- general
- general2
-
-
-
diff --git a/tests/dictionaries_old/40condition_optional_family/result/rougail/00-base.yml b/tests/dictionaries_old/40condition_optional_family/result/rougail/00-base.yml
new file mode 100644
index 000000000..8c7bfe881
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional_family/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+condition:
+ type: boolean
+general:
+ my_variable: {}
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == true %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/40condition_optional_family/tiramisu/base.py b/tests/dictionaries_old/40condition_optional_family/tiramisu/base.py
index 4e8a35b93..7dc3fc4b3 100644
--- a/tests/dictionaries_old/40condition_optional_family/tiramisu/base.py
+++ b/tests/dictionaries_old/40condition_optional_family/tiramisu/base.py
@@ -1,18 +1,28 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="my_variable", doc="my_variable", properties=frozenset({"normal"}))
-option_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, todict=True, notraisepropertyerror=True), 'expected': ParamValue(True)}))}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40condition_optional_family/tiramisu/multi.py b/tests/dictionaries_old/40condition_optional_family/tiramisu/multi.py
new file mode 100644
index 000000000..8ba13887a
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional_family/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="my_variable", doc="my_variable", properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_1, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, optiondescription_2], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_4 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="my_variable", doc="my_variable", properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[option_4, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/40condition_optional_family/xml/00-base.xml b/tests/dictionaries_old/40condition_optional_family/xml/00-base.xml
new file mode 100644
index 000000000..43de38b65
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional_family/xml/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+ True
+ general
+ general2
+
+
+
diff --git a/tests/dictionaries_old/40condition_optional_family/yml/00-base.yml b/tests/dictionaries_old/40condition_optional_family/yml/00-base.yml
new file mode 100644
index 000000000..45a98acea
--- /dev/null
+++ b/tests/dictionaries_old/40condition_optional_family/yml/00-base.yml
@@ -0,0 +1,23 @@
+version: '0.10'
+variables:
+- variable:
+ - name: condition
+ type: boolean
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: my_variable
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: true
+ target:
+ - type: family
+ optional: true
+ text: general
+ - type: family
+ optional: true
+ text: general2
diff --git a/tests/dictionaries_old/40empty_param/00_base.xml b/tests/dictionaries_old/40empty_param/00_base.xml
deleted file mode 100644
index 43c59f4b3..000000000
--- a/tests/dictionaries_old/40empty_param/00_base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
- 3127
-
-
-
-
-
-
- toto1
-
-
-
diff --git a/tests/dictionaries_old/40empty_param/result/rougail/00_base.yml b/tests/dictionaries_old/40empty_param/result/rougail/00_base.yml
new file mode 100644
index 000000000..405f1b112
--- /dev/null
+++ b/tests/dictionaries_old/40empty_param/result/rougail/00_base.yml
@@ -0,0 +1,15 @@
+proxy_authentifie:
+ description: proxy authentifié
+ toto1:
+ type: port
+ description: Port d'écoute du proxy
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ null | calc_multi_condition }}'
+ toto2:
+ type: port
+ description: Port d'écoute du proxy NTLM
+ mode: expert
+ default: '3127'
+version: '1.0'
diff --git a/tests/dictionaries_old/40empty_param/tiramisu/base.py b/tests/dictionaries_old/40empty_param/tiramisu/base.py
index a94c83daa..e0f446ed3 100644
--- a/tests/dictionaries_old/40empty_param/tiramisu/base.py
+++ b/tests/dictionaries_old/40empty_param/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = PortOption(name="toto1", doc="Port d'écoute du proxy", default=Calculation(func.calc_multi_condition, Params((ParamValue(None)))), allow_private=True, properties=frozenset({"expert"}))
-option_4 = PortOption(name="toto2", doc="Port d'écoute du proxy NTLM", default="3127", allow_private=True, properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="proxy_authentifie", doc="proxy authentifié", children=[option_3, option_4], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.proxy_authentifie.toto1'] = "{{ null | calc_multi_condition }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = PortOption(name="toto1", doc="Port d'écoute du proxy", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.proxy_authentifie.toto1), '__internal_type': ParamValue(port), '__internal_multi': ParamValue(False)})), allow_private=True, allow_protocol=True, properties=frozenset({"expert"}))
+option_4 = PortOption(name="toto2", doc="Port d'écoute du proxy NTLM", default="3127", allow_private=True, allow_protocol=True, properties=frozenset({"expert", "mandatory"}))
+optiondescription_2 = OptionDescription(name="proxy_authentifie", doc="proxy authentifié", children=[option_3, option_4], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40empty_param/tiramisu/multi.py b/tests/dictionaries_old/40empty_param/tiramisu/multi.py
new file mode 100644
index 000000000..062703b22
--- /dev/null
+++ b/tests/dictionaries_old/40empty_param/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = PortOption(name="toto1", doc="Port d'écoute du proxy", default=Calculation(func.calc_multi_condition, Params((ParamValue(None)))), allow_private=True, allow_protocol=True, properties=frozenset({"expert"}))
+option_3 = PortOption(name="toto2", doc="Port d'écoute du proxy NTLM", default="3127", allow_private=True, allow_protocol=True, properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="proxy_authentifie", doc="proxy authentifié", children=[option_2, option_3], properties=frozenset({"expert"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"expert"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = PortOption(name="toto1", doc="Port d'écoute du proxy", default=Calculation(func.calc_multi_condition, Params((ParamValue(None)))), allow_private=True, allow_protocol=True, properties=frozenset({"expert"}))
+option_6 = PortOption(name="toto2", doc="Port d'écoute du proxy NTLM", default="3127", allow_private=True, allow_protocol=True, properties=frozenset({"expert", "mandatory"}))
+optiondescription_4 = OptionDescription(name="proxy_authentifie", doc="proxy authentifié", children=[option_5, option_6], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/40empty_param/xml/00_base.xml b/tests/dictionaries_old/40empty_param/xml/00_base.xml
new file mode 100644
index 000000000..3593fc225
--- /dev/null
+++ b/tests/dictionaries_old/40empty_param/xml/00_base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+ 3127
+
+
+
+
+
+
+ toto1
+
+
+
diff --git a/tests/dictionaries_old/40empty_param/yml/00_base.yml b/tests/dictionaries_old/40empty_param/yml/00_base.yml
new file mode 100644
index 000000000..1956b1799
--- /dev/null
+++ b/tests/dictionaries_old/40empty_param/yml/00_base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+variables:
+- family:
+ - name: proxy_authentifie
+ description: "proxy authentifi\xE9"
+ variables:
+ - variable:
+ - name: toto1
+ type: port
+ description: "Port d'\xE9coute du proxy"
+ mode: expert
+ - name: toto2
+ type: port
+ description: "Port d'\xE9coute du proxy NTLM"
+ mode: expert
+ value:
+ - text: 3127
+constraints:
+- fill:
+ - name: calc_multi_condition
+ param:
+ - type: nil
+ target:
+ - text: toto1
diff --git a/tests/dictionaries_old/40empty_param2/00_base.xml b/tests/dictionaries_old/40empty_param2/00_base.xml
deleted file mode 100644
index 93d7575bf..000000000
--- a/tests/dictionaries_old/40empty_param2/00_base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
- 3127
-
-
-
-
-
-
- toto1
-
-
-
diff --git a/tests/dictionaries_old/40empty_param2/result/rougail/00_base.yml b/tests/dictionaries_old/40empty_param2/result/rougail/00_base.yml
new file mode 100644
index 000000000..405f1b112
--- /dev/null
+++ b/tests/dictionaries_old/40empty_param2/result/rougail/00_base.yml
@@ -0,0 +1,15 @@
+proxy_authentifie:
+ description: proxy authentifié
+ toto1:
+ type: port
+ description: Port d'écoute du proxy
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ null | calc_multi_condition }}'
+ toto2:
+ type: port
+ description: Port d'écoute du proxy NTLM
+ mode: expert
+ default: '3127'
+version: '1.0'
diff --git a/tests/dictionaries_old/40empty_param2/tiramisu/base.py b/tests/dictionaries_old/40empty_param2/tiramisu/base.py
index b49a413e3..e0f446ed3 100644
--- a/tests/dictionaries_old/40empty_param2/tiramisu/base.py
+++ b/tests/dictionaries_old/40empty_param2/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = PortOption(name="toto1", doc="Port d'écoute du proxy", default=Calculation(func.calc_multi_condition, Params((), kwargs={'value': ParamValue(None)})), allow_private=True, properties=frozenset({"expert"}))
-option_4 = PortOption(name="toto2", doc="Port d'écoute du proxy NTLM", default="3127", allow_private=True, properties=frozenset({"expert", "mandatory"}))
-option_2 = OptionDescription(name="proxy_authentifie", doc="proxy authentifié", children=[option_3, option_4], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.proxy_authentifie.toto1'] = "{{ null | calc_multi_condition }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = PortOption(name="toto1", doc="Port d'écoute du proxy", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.proxy_authentifie.toto1), '__internal_type': ParamValue(port), '__internal_multi': ParamValue(False)})), allow_private=True, allow_protocol=True, properties=frozenset({"expert"}))
+option_4 = PortOption(name="toto2", doc="Port d'écoute du proxy NTLM", default="3127", allow_private=True, allow_protocol=True, properties=frozenset({"expert", "mandatory"}))
+optiondescription_2 = OptionDescription(name="proxy_authentifie", doc="proxy authentifié", children=[option_3, option_4], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40empty_param2/tiramisu/multi.py b/tests/dictionaries_old/40empty_param2/tiramisu/multi.py
new file mode 100644
index 000000000..32d2464eb
--- /dev/null
+++ b/tests/dictionaries_old/40empty_param2/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = PortOption(name="toto1", doc="Port d'écoute du proxy", default=Calculation(func.calc_multi_condition, Params((), kwargs={'value': ParamValue(None)})), allow_private=True, allow_protocol=True, properties=frozenset({"expert"}))
+option_3 = PortOption(name="toto2", doc="Port d'écoute du proxy NTLM", default="3127", allow_private=True, allow_protocol=True, properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="proxy_authentifie", doc="proxy authentifié", children=[option_2, option_3], properties=frozenset({"expert"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"expert"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = PortOption(name="toto1", doc="Port d'écoute du proxy", default=Calculation(func.calc_multi_condition, Params((), kwargs={'value': ParamValue(None)})), allow_private=True, allow_protocol=True, properties=frozenset({"expert"}))
+option_6 = PortOption(name="toto2", doc="Port d'écoute du proxy NTLM", default="3127", allow_private=True, allow_protocol=True, properties=frozenset({"expert", "mandatory"}))
+optiondescription_4 = OptionDescription(name="proxy_authentifie", doc="proxy authentifié", children=[option_5, option_6], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/40empty_param2/xml/00_base.xml b/tests/dictionaries_old/40empty_param2/xml/00_base.xml
new file mode 100644
index 000000000..ad8ad7bc9
--- /dev/null
+++ b/tests/dictionaries_old/40empty_param2/xml/00_base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+ 3127
+
+
+
+
+
+
+ toto1
+
+
+
diff --git a/tests/dictionaries_old/40empty_param2/yml/00_base.yml b/tests/dictionaries_old/40empty_param2/yml/00_base.yml
new file mode 100644
index 000000000..3dc4b8f4b
--- /dev/null
+++ b/tests/dictionaries_old/40empty_param2/yml/00_base.yml
@@ -0,0 +1,25 @@
+version: '0.10'
+variables:
+- family:
+ - name: proxy_authentifie
+ description: "proxy authentifi\xE9"
+ variables:
+ - variable:
+ - name: toto1
+ type: port
+ description: "Port d'\xE9coute du proxy"
+ mode: expert
+ - name: toto2
+ type: port
+ description: "Port d'\xE9coute du proxy NTLM"
+ mode: expert
+ value:
+ - text: 3127
+constraints:
+- fill:
+ - name: calc_multi_condition
+ param:
+ - name: value
+ type: nil
+ target:
+ - text: toto1
diff --git a/tests/dictionaries_old/40hidden_if_in_group_fallback/00-base.xml b/tests/dictionaries_old/40hidden_if_in_group_fallback/00-base.xml
deleted file mode 100644
index b12f6df90..000000000
--- a/tests/dictionaries_old/40hidden_if_in_group_fallback/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif1
-
-
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/40hidden_if_in_group_fallback/__init__.py b/tests/dictionaries_old/40hidden_if_in_group_fallback/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/40hidden_if_in_group_fallback/tiramisu/base.py b/tests/dictionaries_old/40hidden_if_in_group_fallback/tiramisu/base.py
deleted file mode 100644
index f55844254..000000000
--- a/tests/dictionaries_old/40hidden_if_in_group_fallback/tiramisu/base.py
+++ /dev/null
@@ -1,20 +0,0 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
-try:
- from tiramisu4 import *
-except:
- from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", multi=True, default=['non'], properties=frozenset({"force_default_on_freeze", "frozen", "mandatory"}))
-option_6 = StrOption(name="mode_conteneur_actif2", doc="No change", multi=True, default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "mandatory", "normal"}))
-option_4 = Leadership(name="mode_conteneur_actif1", doc="No change", children=[option_5, option_6], properties=frozenset({"hidden", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
diff --git a/tests/dictionaries/70container_files/__init__.py b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_files/__init__.py
rename to tests/dictionaries_old/40hidden_if_in_leadership_fallback/__init__.py
diff --git a/tests/dictionaries_old/40hidden_if_in_group_fallback/makedict/after.json b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/makedict/after.json
similarity index 100%
rename from tests/dictionaries_old/40hidden_if_in_group_fallback/makedict/after.json
rename to tests/dictionaries_old/40hidden_if_in_leadership_fallback/makedict/after.json
diff --git a/tests/dictionaries_old/40hidden_if_in_group_fallback/makedict/base.json b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/makedict/base.json
similarity index 100%
rename from tests/dictionaries_old/40hidden_if_in_group_fallback/makedict/base.json
rename to tests/dictionaries_old/40hidden_if_in_leadership_fallback/makedict/base.json
diff --git a/tests/dictionaries_old/40hidden_if_in_group_fallback/makedict/before.json b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/makedict/before.json
similarity index 100%
rename from tests/dictionaries_old/40hidden_if_in_group_fallback/makedict/before.json
rename to tests/dictionaries_old/40hidden_if_in_leadership_fallback/makedict/before.json
diff --git a/tests/dictionaries_old/40hidden_if_in_leadership_fallback/result/rougail/00-base.yml b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/result/rougail/00-base.yml
new file mode 100644
index 000000000..867b366ff
--- /dev/null
+++ b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ description: No change
+ type: leadership
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - non
+ hidden:
+ type: jinja
+ jinja: '{% if __condition == "oui" %}true{% else %}false{% endif %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/40hidden_if_in_leadership_fallback/tiramisu/base.py b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/tiramisu/base.py
new file mode 100644
index 000000000..1ff24853c
--- /dev/null
+++ b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/tiramisu/base.py
@@ -0,0 +1,32 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", multi=True, default=['non'], properties=frozenset({"force_default_on_freeze", "frozen", "mandatory", "normal"}))
+option_6 = StrOption(name="mode_conteneur_actif2", doc="No change", multi=True, default="non", properties=frozenset({"force_default_on_freeze", "frozen", "mandatory", "normal"}))
+optiondescription_4 = Leadership(name="mode_conteneur_actif1", doc="No change", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40hidden_if_in_leadership_fallback/tiramisu/multi.py b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/tiramisu/multi.py
new file mode 100644
index 000000000..759590729
--- /dev/null
+++ b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", multi=True, default=['non'], properties=frozenset({"force_default_on_freeze", "frozen", "mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", multi=True, default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "mandatory", "normal"}))
+optiondescription_3 = Leadership(name="mode_conteneur_actif1", doc="No change", children=[option_4, option_5], properties=frozenset({"hidden", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode_conteneur_actif1", doc="No change", multi=True, default=['non'], properties=frozenset({"force_default_on_freeze", "frozen", "mandatory", "normal"}))
+option_10 = StrOption(name="mode_conteneur_actif2", doc="No change", multi=True, default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "mandatory", "normal"}))
+optiondescription_8 = Leadership(name="mode_conteneur_actif1", doc="No change", children=[option_9, option_10], properties=frozenset({"hidden", "normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7, optiondescription_8], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/40hidden_if_in_leadership_fallback/xml/00-base.xml b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/xml/00-base.xml
new file mode 100644
index 000000000..11fd90187
--- /dev/null
+++ b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/xml/00-base.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ non
+
+
+
+ non
+
+
+ non
+
+
+
+
+
+
+ oui
+ mode_conteneur_actif1
+
+
+
diff --git a/tests/dictionaries_old/40hidden_if_in_leadership_fallback/yml/00-base.yml b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/yml/00-base.yml
new file mode 100644
index 000000000..31445a8aa
--- /dev/null
+++ b/tests/dictionaries_old/40hidden_if_in_leadership_fallback/yml/00-base.yml
@@ -0,0 +1,38 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - family:
+ - name: mode_conteneur_actif1
+ description: No change
+ leadership: true
+ variables:
+ - variable:
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - optional: true
+ name: hidden_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif1
diff --git a/tests/dictionaries_old/40ifin_leadership/00-base.xml b/tests/dictionaries_old/40ifin_leadership/00-base.xml
deleted file mode 100644
index 1e5ef63da..000000000
--- a/tests/dictionaries_old/40ifin_leadership/00-base.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- non
-
-
- oui
-
-
-
-
-
-
-
-
- follower1
- follower2
-
-
- oui
- follower1
-
-
-
diff --git a/tests/dictionaries_old/40ifin_leadership/makedict/after.json b/tests/dictionaries_old/40ifin_leadership/makedict/after.json
index 1578e3fb9..becfaca7d 100644
--- a/tests/dictionaries_old/40ifin_leadership/makedict/after.json
+++ b/tests/dictionaries_old/40ifin_leadership/makedict/after.json
@@ -10,9 +10,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/40ifin_leadership/makedict/before.json b/tests/dictionaries_old/40ifin_leadership/makedict/before.json
index 1578e3fb9..becfaca7d 100644
--- a/tests/dictionaries_old/40ifin_leadership/makedict/before.json
+++ b/tests/dictionaries_old/40ifin_leadership/makedict/before.json
@@ -10,9 +10,5 @@
"rougail.general.leader.leader": {
"owner": "default",
"value": []
- },
- "rougail.general.leader.follower2": {
- "owner": [],
- "value": []
}
}
diff --git a/tests/dictionaries_old/40ifin_leadership/result/rougail/00-base.yml b/tests/dictionaries_old/40ifin_leadership/result/rougail/00-base.yml
new file mode 100644
index 000000000..b0df068c6
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadership/result/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: condition
+ default: oui
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ follower1:
+ type: string
+ description: follower1
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/40ifin_leadership/tiramisu/base.py b/tests/dictionaries_old/40ifin_leadership/tiramisu/base.py
index 25cebef2f..16c4c4799 100644
--- a/tests/dictionaries_old/40ifin_leadership/tiramisu/base.py
+++ b/tests/dictionaries_old/40ifin_leadership/tiramisu/base.py
@@ -1,22 +1,34 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="condition", doc="condition", default="oui", properties=frozenset({"mandatory", "normal"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True)
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal", "notempty"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal"}))
option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
-option_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40ifin_leadership/tiramisu/multi.py b/tests/dictionaries_old/40ifin_leadership/tiramisu/multi.py
new file mode 100644
index 000000000..2bf952725
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadership/tiramisu/multi.py
@@ -0,0 +1,44 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition", doc="condition", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="condition", doc="condition", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, properties=frozenset({"normal"}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_10, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_11 = Leadership(name="leader", doc="leader", children=[option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9, option_10, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="2", doc="2", children=[optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_17])
diff --git a/tests/dictionaries_old/40ifin_leadership/xml/00-base.xml b/tests/dictionaries_old/40ifin_leadership/xml/00-base.xml
new file mode 100644
index 000000000..bd22f01d3
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadership/xml/00-base.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ non
+
+
+ oui
+
+
+
+
+
+
+
+
+
+
+ oui
+ follower1
+
+
+
diff --git a/tests/dictionaries_old/40ifin_leadership/yml/00-base.yml b/tests/dictionaries_old/40ifin_leadership/yml/00-base.yml
new file mode 100644
index 000000000..9ab512bce
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadership/yml/00-base.yml
@@ -0,0 +1,41 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: condition
+ type: string
+ description: condition
+ value:
+ - text: oui
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: follower1
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/00-base.xml b/tests/dictionaries_old/40ifin_leadershipauto/00-base.xml
deleted file mode 100644
index a65384b65..000000000
--- a/tests/dictionaries_old/40ifin_leadershipauto/00-base.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
- /etc/mailname
-
-
-
-
-
- non
-
-
- oui
-
-
- a
-
-
-
-
-
-
-
- follower1
- follower2
-
-
- valfill
- follower1
-
-
- oui
- follower1
-
-
-
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/makedict/after.json b/tests/dictionaries_old/40ifin_leadershipauto/makedict/after.json
index 3cde10136..2824bccf5 100644
--- a/tests/dictionaries_old/40ifin_leadershipauto/makedict/after.json
+++ b/tests/dictionaries_old/40ifin_leadershipauto/makedict/after.json
@@ -21,19 +21,23 @@
null
]
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/makedict/base.json b/tests/dictionaries_old/40ifin_leadershipauto/makedict/base.json
index 364a2fa98..5152a1875 100644
--- a/tests/dictionaries_old/40ifin_leadershipauto/makedict/base.json
+++ b/tests/dictionaries_old/40ifin_leadershipauto/makedict/base.json
@@ -7,8 +7,9 @@
"rougail.general.leader.follower2": null
}
],
- "services.test.files.mailname.name": "/etc/mailname",
- "services.test.files.mailname.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.mailname.name": "/etc/mailname",
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/makedict/before.json b/tests/dictionaries_old/40ifin_leadershipauto/makedict/before.json
index 3cde10136..2824bccf5 100644
--- a/tests/dictionaries_old/40ifin_leadershipauto/makedict/before.json
+++ b/tests/dictionaries_old/40ifin_leadershipauto/makedict/before.json
@@ -21,19 +21,23 @@
null
]
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/result/etc/mailname b/tests/dictionaries_old/40ifin_leadershipauto/result/etc/mailname
deleted file mode 100644
index 6da0a4c21..000000000
--- a/tests/dictionaries_old/40ifin_leadershipauto/result/etc/mailname
+++ /dev/null
@@ -1,6 +0,0 @@
-#attr
-leader: a
-follower2:
-#key
-leader: a
-follower2:
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/result/rougail/00-base.yml b/tests/dictionaries_old/40ifin_leadershipauto/result/rougail/00-base.yml
new file mode 100644
index 000000000..b6bf3909c
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadershipauto/result/rougail/00-base.yml
@@ -0,0 +1,33 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: condition
+ default: oui
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - a
+ follower1:
+ type: string
+ description: follower1
+ hidden: true
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/result/services/00-base.yml b/tests/dictionaries_old/40ifin_leadershipauto/result/services/00-base.yml
new file mode 100644
index 000000000..e25233253
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadershipauto/result/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ files:
+ /etc/mailname: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/40ifin_leadershipauto/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 46697e03a..000000000
--- a/tests/dictionaries_old/40ifin_leadershipauto/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
-z /etc/mailname - - - - -
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/tiramisu/base.py b/tests/dictionaries_old/40ifin_leadershipauto/tiramisu/base.py
index a47bad73b..40e555f6a 100644
--- a/tests/dictionaries_old/40ifin_leadershipauto/tiramisu/base.py
+++ b/tests/dictionaries_old/40ifin_leadershipauto/tiramisu/base.py
@@ -1,31 +1,74 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="condition", doc="condition", default="oui", properties=frozenset({"mandatory", "normal"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True, default=['a'], properties=frozenset({"mandatory"}))
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, default=['a'], properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
-option_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_13 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_14 = BoolOption(name="activate", doc="activate", default=True)
-option_12 = OptionDescription(name="mailname", doc="mailname", children=[option_13, option_14])
-option_12.impl_set_information('source', "mailname")
-option_11 = OptionDescription(name="files", doc="files", children=[option_12])
+option_14 = FilenameOption(name="source", doc="source", default="/etc/mailname")
option_15 = BoolOption(name="activate", doc="activate", default=True)
-option_16 = BoolOption(name="manage", doc="manage", default=True)
-option_10 = OptionDescription(name="test", doc="test", children=[option_11, option_15, option_16])
-option_9 = OptionDescription(name="services", doc="services", children=[option_10], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_9])
+optiondescription_12 = OptionDescription(name="mailname", doc="mailname", children=[option_13, option_14, option_15])
+optiondescription_11 = OptionDescription(name="files", doc="files", children=[optiondescription_12])
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+option_17 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_10 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_11, option_16, option_17])
+optiondescription_10.impl_set_information('type', "service")
+optiondescription_9 = OptionDescription(name="services", doc="services", children=[optiondescription_10], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_9])
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/tiramisu/multi.py b/tests/dictionaries_old/40ifin_leadershipauto/tiramisu/multi.py
new file mode 100644
index 000000000..111bdc944
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadershipauto/tiramisu/multi.py
@@ -0,0 +1,64 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition", doc="condition", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, default=['a'], properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_30 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_19 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_20 = StrOption(name="source", doc="source", default="mailname")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="mailname", doc="mailname", children=[option_19, option_20, option_18])
+optiondescription_16 = OptionDescription(name="files", doc="files", children=[optiondescription_17])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_21 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_32 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_16, option_15, option_21])
+optiondescription_32.impl_set_information('type', "service")
+optiondescription_31 = OptionDescription(name="services", doc="services", children=[optiondescription_32], properties=frozenset({"hidden"}))
+optiondescription_29 = OptionDescription(name="1", doc="1", children=[optiondescription_30, optiondescription_31])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="condition", doc="condition", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, default=['a'], properties=frozenset({"mandatory", "normal"}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_10, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_11 = Leadership(name="leader", doc="leader", children=[option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9, option_10, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_34 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+option_26 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_27 = StrOption(name="source", doc="source", default="mailname")
+option_25 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_24 = OptionDescription(name="mailname", doc="mailname", children=[option_26, option_27, option_25])
+optiondescription_23 = OptionDescription(name="files", doc="files", children=[optiondescription_24])
+option_22 = BoolOption(name="activate", doc="activate", default=True)
+option_28 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_36 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_23, option_22, option_28])
+optiondescription_36.impl_set_information('type', "service")
+optiondescription_35 = OptionDescription(name="services", doc="services", children=[optiondescription_36], properties=frozenset({"hidden"}))
+optiondescription_33 = OptionDescription(name="2", doc="2", children=[optiondescription_34, optiondescription_35])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_29, optiondescription_33])
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/xml/00-base.xml b/tests/dictionaries_old/40ifin_leadershipauto/xml/00-base.xml
new file mode 100644
index 000000000..71ec860c2
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadershipauto/xml/00-base.xml
@@ -0,0 +1,35 @@
+
+
+
+
+ /etc/mailname
+
+
+
+
+
+ non
+
+
+ oui
+
+
+
+ a
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ oui
+ follower1
+
+
+
diff --git a/tests/dictionaries_old/40ifin_leadershipauto/yml/00-base.yml b/tests/dictionaries_old/40ifin_leadershipauto/yml/00-base.yml
new file mode 100644
index 000000000..ec048fb8e
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadershipauto/yml/00-base.yml
@@ -0,0 +1,56 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - text: /etc/mailname
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: condition
+ type: string
+ description: condition
+ value:
+ - text: oui
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ value:
+ - text: a
+ - name: follower1
+ type: string
+ description: follower1
+ hidden: true
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: follower1
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/00-base.xml b/tests/dictionaries_old/40ifin_leadershipauto_follower/00-base.xml
deleted file mode 100644
index 305669267..000000000
--- a/tests/dictionaries_old/40ifin_leadershipauto_follower/00-base.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
- /etc/mailname
- /etc/mailname2
-
-
-
-
-
- non
-
-
- oui
-
-
- a
- b
-
-
-
-
-
-
-
- follower1
- follower2
-
-
- valfill
- follower1
-
-
- a
- follower1
-
-
-
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/after.json b/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/after.json
index c78d6ab14..b899df8eb 100644
--- a/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/after.json
+++ b/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/after.json
@@ -20,7 +20,7 @@
"default"
],
"value": [
- "cannot access to option \"follower1\" because has property \"disabled\"",
+ "cannot access to option \"follower1\" because has property \"disabled\" (the value of \"leader\" is \"a\")",
null
]
},
@@ -34,27 +34,35 @@
null
]
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.mailname2.name": {
+ "services.test_service.files.mailname2.name": {
"owner": "default",
"value": "/etc/mailname2"
},
- "services.test.files.mailname2.activate": {
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/base.json b/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/base.json
index 28acc53e7..37749908e 100644
--- a/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/base.json
+++ b/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/base.json
@@ -12,10 +12,12 @@
"rougail.general.leader.follower2": null
}
],
- "services.test.files.mailname.name": "/etc/mailname",
- "services.test.files.mailname.activate": true,
- "services.test.files.mailname2.name": "/etc/mailname2",
- "services.test.files.mailname2.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.mailname.name": "/etc/mailname",
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.files.mailname2.name": "/etc/mailname2",
+ "services.test_service.files.mailname2.source": "mailname2",
+ "services.test_service.files.mailname2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/before.json b/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/before.json
index c78d6ab14..b899df8eb 100644
--- a/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/before.json
+++ b/tests/dictionaries_old/40ifin_leadershipauto_follower/makedict/before.json
@@ -20,7 +20,7 @@
"default"
],
"value": [
- "cannot access to option \"follower1\" because has property \"disabled\"",
+ "cannot access to option \"follower1\" because has property \"disabled\" (the value of \"leader\" is \"a\")",
null
]
},
@@ -34,27 +34,35 @@
null
]
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.mailname2.name": {
+ "services.test_service.files.mailname2.name": {
"owner": "default",
"value": "/etc/mailname2"
},
- "services.test.files.mailname2.activate": {
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/result/etc/mailname b/tests/dictionaries_old/40ifin_leadershipauto_follower/result/etc/mailname
deleted file mode 100644
index b7cbd32c2..000000000
--- a/tests/dictionaries_old/40ifin_leadershipauto_follower/result/etc/mailname
+++ /dev/null
@@ -1,5 +0,0 @@
-leader: a
-follower2:
-leader: b
-follower1:
-follower2:
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/result/etc/mailname2 b/tests/dictionaries_old/40ifin_leadershipauto_follower/result/etc/mailname2
deleted file mode 100644
index b7cbd32c2..000000000
--- a/tests/dictionaries_old/40ifin_leadershipauto_follower/result/etc/mailname2
+++ /dev/null
@@ -1,5 +0,0 @@
-leader: a
-follower2:
-leader: b
-follower1:
-follower2:
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/result/rougail/00-base.yml b/tests/dictionaries_old/40ifin_leadershipauto_follower/result/rougail/00-base.yml
new file mode 100644
index 000000000..7f6599f15
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadershipauto_follower/result/rougail/00-base.yml
@@ -0,0 +1,33 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: condition
+ default: oui
+ leader:
+ description: leader
+ type: leadership
+ leader:
+ type: string
+ description: leader
+ multi: true
+ default:
+ - a
+ - b
+ follower1:
+ type: string
+ description: follower1
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.leader.leader == "a" %}true{% else %}false{%
+ endif %}'
+ default:
+ type: jinja
+ jinja: '{{ "valfill" | calc_val }}'
+ follower2:
+ type: string
+ description: follower2
+version: '1.0'
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/result/services/00-base.yml b/tests/dictionaries_old/40ifin_leadershipauto_follower/result/services/00-base.yml
new file mode 100644
index 000000000..01ae40493
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadershipauto_follower/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/mailname2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/40ifin_leadershipauto_follower/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 7a8d00f42..000000000
--- a/tests/dictionaries_old/40ifin_leadershipauto_follower/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
-z /etc/mailname - - - - -
-C /etc/mailname2 0644 root root - /usr/local/lib/etc/mailname2
-z /etc/mailname2 - - - - -
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/tiramisu/base.py b/tests/dictionaries_old/40ifin_leadershipauto_follower/tiramisu/base.py
index 25579c722..caf1b4ac1 100644
--- a/tests/dictionaries_old/40ifin_leadershipauto_follower/tiramisu/base.py
+++ b/tests/dictionaries_old/40ifin_leadershipauto_follower/tiramisu/base.py
@@ -1,36 +1,79 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.leader.follower1'] = "{{ \"valfill\" | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="condition", doc="condition", default="oui", properties=frozenset({"mandatory", "normal"}))
-option_6 = StrOption(name="leader", doc="leader", multi=True, default=['a', 'b'], properties=frozenset({"mandatory"}))
-option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, todict=True, notraisepropertyerror=True), 'expected': ParamValue("a")}))}))
+option_6 = StrOption(name="leader", doc="leader", multi=True, default=['a', 'b'], properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.leader.follower1), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(True)})), properties=frozenset({"normal"}))
option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
-option_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_13 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_14 = BoolOption(name="activate", doc="activate", default=True)
-option_12 = OptionDescription(name="mailname", doc="mailname", children=[option_13, option_14])
-option_12.impl_set_information('source', "mailname")
-option_16 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
-option_17 = BoolOption(name="activate", doc="activate", default=True)
-option_15 = OptionDescription(name="mailname2", doc="mailname2", children=[option_16, option_17])
-option_15.impl_set_information('engine', "jinja")
-option_15.impl_set_information('source', "mailname2")
-option_11 = OptionDescription(name="files", doc="files", children=[option_12, option_15])
-option_18 = BoolOption(name="activate", doc="activate", default=True)
-option_19 = BoolOption(name="manage", doc="manage", default=True)
-option_10 = OptionDescription(name="test", doc="test", children=[option_11, option_18, option_19])
-option_9 = OptionDescription(name="services", doc="services", children=[option_10], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_9])
+option_14 = FilenameOption(name="source", doc="source", default="/etc/mailname")
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_12 = OptionDescription(name="mailname", doc="mailname", children=[option_13, option_14, option_15])
+option_17 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_18 = FilenameOption(name="source", doc="source", default="/etc/mailname2")
+option_19 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_16 = OptionDescription(name="mailname2", doc="mailname2", children=[option_17, option_18, option_19])
+optiondescription_16.impl_set_information('engine', "jinja")
+optiondescription_11 = OptionDescription(name="files", doc="files", children=[optiondescription_12, optiondescription_16])
+option_20 = BoolOption(name="activate", doc="activate", default=True)
+option_21 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_10 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_11, option_20, option_21])
+optiondescription_10.impl_set_information('type', "service")
+optiondescription_9 = OptionDescription(name="services", doc="services", children=[optiondescription_10], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_9])
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/tiramisu/multi.py b/tests/dictionaries_old/40ifin_leadershipauto_follower/tiramisu/multi.py
new file mode 100644
index 000000000..e0011275a
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadershipauto_follower/tiramisu/multi.py
@@ -0,0 +1,74 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition", doc="condition", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_5 = StrOption(name="leader", doc="leader", multi=True, default=['a', 'b'], properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_5, notraisepropertyerror=True), 'expected': ParamValue("a")}), func.calc_value_property_help)}))
+option_7 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_4 = Leadership(name="leader", doc="leader", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_38 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_19 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_20 = StrOption(name="source", doc="source", default="mailname")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="mailname", doc="mailname", children=[option_19, option_20, option_18])
+option_23 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_24 = StrOption(name="source", doc="source", default="mailname2")
+option_22 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_21 = OptionDescription(name="mailname2", doc="mailname2", children=[option_23, option_24, option_22])
+optiondescription_21.impl_set_information('engine', "jinja")
+optiondescription_16 = OptionDescription(name="files", doc="files", children=[optiondescription_17, optiondescription_21])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_25 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_40 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_16, option_15, option_25])
+optiondescription_40.impl_set_information('type', "service")
+optiondescription_39 = OptionDescription(name="services", doc="services", children=[optiondescription_40], properties=frozenset({"hidden"}))
+optiondescription_37 = OptionDescription(name="1", doc="1", children=[optiondescription_38, optiondescription_39])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_10 = StrOption(name="condition", doc="condition", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_12 = StrOption(name="leader", doc="leader", multi=True, default=['a', 'b'], properties=frozenset({"mandatory", "normal"}))
+option_13 = StrOption(name="follower1", doc="follower1", multi=True, default=Calculation(func.calc_val, Params((), kwargs={'valeur': ParamValue("valfill")})), properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_12, notraisepropertyerror=True), 'expected': ParamValue("a")}), func.calc_value_property_help)}))
+option_14 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
+optiondescription_11 = Leadership(name="leader", doc="leader", children=[option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="general", children=[option_9, option_10, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_42 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+option_30 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_31 = StrOption(name="source", doc="source", default="mailname")
+option_29 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_28 = OptionDescription(name="mailname", doc="mailname", children=[option_30, option_31, option_29])
+option_34 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_35 = StrOption(name="source", doc="source", default="mailname2")
+option_33 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_32 = OptionDescription(name="mailname2", doc="mailname2", children=[option_34, option_35, option_33])
+optiondescription_32.impl_set_information('engine', "jinja")
+optiondescription_27 = OptionDescription(name="files", doc="files", children=[optiondescription_28, optiondescription_32])
+option_26 = BoolOption(name="activate", doc="activate", default=True)
+option_36 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_44 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_27, option_26, option_36])
+optiondescription_44.impl_set_information('type', "service")
+optiondescription_43 = OptionDescription(name="services", doc="services", children=[optiondescription_44], properties=frozenset({"hidden"}))
+optiondescription_41 = OptionDescription(name="2", doc="2", children=[optiondescription_42, optiondescription_43])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_37, optiondescription_41])
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/xml/00-base.xml b/tests/dictionaries_old/40ifin_leadershipauto_follower/xml/00-base.xml
new file mode 100644
index 000000000..50f8dcc3c
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadershipauto_follower/xml/00-base.xml
@@ -0,0 +1,37 @@
+
+
+
+
+ /etc/mailname
+ /etc/mailname2
+
+
+
+
+
+ non
+
+
+ oui
+
+
+
+ a
+ b
+
+
+
+
+
+
+
+
+ valfill
+ follower1
+
+
+ a
+ follower1
+
+
+
diff --git a/tests/dictionaries_old/40ifin_leadershipauto_follower/yml/00-base.yml b/tests/dictionaries_old/40ifin_leadershipauto_follower/yml/00-base.yml
new file mode 100644
index 000000000..6b77fa272
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_leadershipauto_follower/yml/00-base.yml
@@ -0,0 +1,58 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - text: /etc/mailname
+ - engine: jinja
+ text: /etc/mailname2
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: condition
+ type: string
+ description: condition
+ value:
+ - text: oui
+ - family:
+ - name: leader
+ description: leader
+ leadership: true
+ variables:
+ - variable:
+ - name: leader
+ type: string
+ description: leader
+ multi: true
+ value:
+ - text: a
+ - text: b
+ - name: follower1
+ type: string
+ description: follower1
+ - name: follower2
+ type: string
+ description: follower2
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: valfill
+ target:
+ - text: follower1
+ condition:
+ - name: disabled_if_in
+ source: leader
+ param:
+ - text: a
+ target:
+ - type: variable
+ text: follower1
diff --git a/tests/dictionaries_old/40ifin_multi/00-base.xml b/tests/dictionaries_old/40ifin_multi/00-base.xml
deleted file mode 100644
index 4b95acc80..000000000
--- a/tests/dictionaries_old/40ifin_multi/00-base.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif3
-
-
- oui
- mode_conteneur_actif3
-
-
-
diff --git a/tests/dictionaries_old/40ifin_multi/result/rougail/00-base.yml b/tests/dictionaries_old/40ifin_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..c77570184
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_multi/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+general2:
+ hidden: true
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general2.mode_conteneur_actif2 == "oui" %}true{% else
+ %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/40ifin_multi/tiramisu/base.py b/tests/dictionaries_old/40ifin_multi/tiramisu/base.py
index 2519c6ca6..ceeb7bc61 100644
--- a/tests/dictionaries_old/40ifin_multi/tiramisu/base.py
+++ b/tests/dictionaries_old/40ifin_multi/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_5, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_4 = OptionDescription(name="general2", doc="general2", children=[option_5, option_6], properties=frozenset({"hidden", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general2", doc="general2", children=[option_5, option_6], properties=frozenset({"hidden", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40ifin_multi/tiramisu/multi.py b/tests/dictionaries_old/40ifin_multi/tiramisu/multi.py
new file mode 100644
index 000000000..04a628bc2
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_multi/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_3 = OptionDescription(name="general2", doc="general2", children=[option_4, option_5], properties=frozenset({"hidden", "normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7], properties=frozenset({"normal"}))
+option_9 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_8 = OptionDescription(name="general2", doc="general2", children=[option_9, option_10], properties=frozenset({"hidden", "normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6, optiondescription_8], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/40ifin_multi/xml/00-base.xml b/tests/dictionaries_old/40ifin_multi/xml/00-base.xml
new file mode 100644
index 000000000..cf8956d4f
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_multi/xml/00-base.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+ non
+
+
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif3
+
+
+ oui
+ mode_conteneur_actif3
+
+
+
diff --git a/tests/dictionaries_old/40ifin_multi/yml/00-base.yml b/tests/dictionaries_old/40ifin_multi/yml/00-base.yml
new file mode 100644
index 000000000..016e0d743
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_multi/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: general2
+ hidden: true
+ variables:
+ - variable:
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif3
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: mode_conteneur_actif
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif3
+ - name: disabled_if_in
+ source: mode_conteneur_actif2
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif3
diff --git a/tests/dictionaries_old/40ifin_multi2/00-base.xml b/tests/dictionaries_old/40ifin_multi2/00-base.xml
deleted file mode 100644
index 035c1c1bd..000000000
--- a/tests/dictionaries_old/40ifin_multi2/00-base.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- oui
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif3
-
-
- oui
- mode_conteneur_actif3
-
-
-
diff --git a/tests/dictionaries_old/40ifin_multi2/result/rougail/00-base.yml b/tests/dictionaries_old/40ifin_multi2/result/rougail/00-base.yml
new file mode 100644
index 000000000..bb6799ab5
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_multi2/result/rougail/00-base.yml
@@ -0,0 +1,22 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+general2:
+ hidden: true
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+ mode_conteneur_actif3:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general2.mode_conteneur_actif2 == "oui" %}true{% else
+ %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/40ifin_multi2/tiramisu/base.py b/tests/dictionaries_old/40ifin_multi2/tiramisu/base.py
index 7d5aa4a3d..6b8a2686f 100644
--- a/tests/dictionaries_old/40ifin_multi2/tiramisu/base.py
+++ b/tests/dictionaries_old/40ifin_multi2/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")})), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_5, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_4 = OptionDescription(name="general2", doc="general2", children=[option_5, option_6], properties=frozenset({"hidden", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_6 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general2", doc="general2", children=[option_5, option_6], properties=frozenset({"hidden", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40ifin_multi2/tiramisu/multi.py b/tests/dictionaries_old/40ifin_multi2/tiramisu/multi.py
new file mode 100644
index 000000000..7d0754d5b
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_multi2/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_4, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_3 = OptionDescription(name="general2", doc="general2", children=[option_4, option_5], properties=frozenset({"hidden", "normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7], properties=frozenset({"normal"}))
+option_9 = StrOption(name="mode_conteneur_actif2", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="mode_conteneur_actif3", doc="No change", default="non", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help), Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_9, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_8 = OptionDescription(name="general2", doc="general2", children=[option_9, option_10], properties=frozenset({"hidden", "normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6, optiondescription_8], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/40ifin_multi2/xml/00-base.xml b/tests/dictionaries_old/40ifin_multi2/xml/00-base.xml
new file mode 100644
index 000000000..0a10db95b
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_multi2/xml/00-base.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+ non
+
+
+
+
+ oui
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif3
+
+
+ oui
+ mode_conteneur_actif3
+
+
+
diff --git a/tests/dictionaries_old/40ifin_multi2/yml/00-base.yml b/tests/dictionaries_old/40ifin_multi2/yml/00-base.yml
new file mode 100644
index 000000000..601363e7d
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_multi2/yml/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: general2
+ hidden: true
+ variables:
+ - variable:
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: oui
+ - name: mode_conteneur_actif3
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: mode_conteneur_actif
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif3
+ - name: disabled_if_in
+ source: mode_conteneur_actif2
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif3
diff --git a/tests/dictionaries_old/40ifin_validenum/00-base.xml b/tests/dictionaries_old/40ifin_validenum/00-base.xml
deleted file mode 100644
index 6754639bc..000000000
--- a/tests/dictionaries_old/40ifin_validenum/00-base.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- non
-
-
-
-
-
-
- a
- b
- c
- mode_conteneur_actif3
-
-
- d
- mode_conteneur_actif
-
-
- d
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/40ifin_validenum/result/rougail/00-base.yml b/tests/dictionaries_old/40ifin_validenum/result/rougail/00-base.yml
new file mode 100644
index 000000000..56ee00db4
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_validenum/result/rougail/00-base.yml
@@ -0,0 +1,28 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general2.mode_conteneur_actif3 == "d" %}true{% else %}false{%
+ endif %}'
+general2:
+ hidden: true
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general2.mode_conteneur_actif3 == "d" %}false{% else %}true{%
+ endif %}'
+ mode_conteneur_actif3:
+ type: choice
+ description: No change
+ default: a
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries_old/40ifin_validenum/tiramisu/base.py b/tests/dictionaries_old/40ifin_validenum/tiramisu/base.py
index 89b38c8b5..5e981355c 100644
--- a/tests/dictionaries_old/40ifin_validenum/tiramisu/base.py
+++ b/tests/dictionaries_old/40ifin_validenum/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_6 = ChoiceOption(name="mode_conteneur_actif3", doc="No change", values=('a', 'b', 'c'), default="a", properties=frozenset({"mandatory", "normal"}))
-option_4 = OptionDescription(name="general2", doc="general2", children=[option_5, option_6], properties=frozenset({"hidden", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="general2", doc="general2", children=[option_5, option_6], properties=frozenset({"hidden", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40ifin_validenum/tiramisu/multi.py b/tests/dictionaries_old/40ifin_validenum/tiramisu/multi.py
new file mode 100644
index 000000000..4f7c3450d
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_validenum/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+option_5 = ChoiceOption(name="mode_conteneur_actif3", doc="No change", values=('a', 'b', 'c'), default="a", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general2", doc="general2", children=[option_4, option_5], properties=frozenset({"hidden", "normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7], properties=frozenset({"normal"}))
+option_9 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"disabled", "mandatory", "normal"}))
+option_10 = ChoiceOption(name="mode_conteneur_actif3", doc="No change", values=('a', 'b', 'c'), default="a", properties=frozenset({"mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general2", doc="general2", children=[option_9, option_10], properties=frozenset({"hidden", "normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6, optiondescription_8], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/40ifin_validenum/xml/00-base.xml b/tests/dictionaries_old/40ifin_validenum/xml/00-base.xml
new file mode 100644
index 000000000..161e3a305
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_validenum/xml/00-base.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ non
+
+
+
+
+ non
+
+
+ a
+ b
+ c
+ a
+
+
+
+
+
+ d
+ mode_conteneur_actif
+
+
+ d
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/40ifin_validenum/yml/00-base.yml b/tests/dictionaries_old/40ifin_validenum/yml/00-base.yml
new file mode 100644
index 000000000..73092154d
--- /dev/null
+++ b/tests/dictionaries_old/40ifin_validenum/yml/00-base.yml
@@ -0,0 +1,49 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: general2
+ hidden: true
+ variables:
+ - variable:
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif3
+ type: choice
+ description: No change
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: string
+ text: c
+ value:
+ - type: string
+ text: a
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: mode_conteneur_actif3
+ param:
+ - text: d
+ target:
+ - type: variable
+ text: mode_conteneur_actif
+ - name: disabled_if_not_in
+ source: mode_conteneur_actif3
+ param:
+ - text: d
+ target:
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries/70container_files_symlink_multi/__init__.py b/tests/dictionaries_old/40space_param/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_multi/__init__.py
rename to tests/dictionaries_old/40space_param/__init__.py
diff --git a/tests/dictionaries_old/40space_param/makedict/after.json b/tests/dictionaries_old/40space_param/makedict/after.json
new file mode 100644
index 000000000..b88ddc479
--- /dev/null
+++ b/tests/dictionaries_old/40space_param/makedict/after.json
@@ -0,0 +1,10 @@
+{
+ "rougail.proxy_authentifie.toto1": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.proxy_authentifie.toto2": {
+ "owner": "default",
+ "value": "3127"
+ }
+}
diff --git a/tests/dictionaries_old/40space_param/makedict/base.json b/tests/dictionaries_old/40space_param/makedict/base.json
new file mode 100644
index 000000000..36d66f3d7
--- /dev/null
+++ b/tests/dictionaries_old/40space_param/makedict/base.json
@@ -0,0 +1,4 @@
+{
+ "rougail.proxy_authentifie.toto1": null,
+ "rougail.proxy_authentifie.toto2": "3127"
+}
diff --git a/tests/dictionaries_old/40space_param/makedict/before.json b/tests/dictionaries_old/40space_param/makedict/before.json
new file mode 100644
index 000000000..b88ddc479
--- /dev/null
+++ b/tests/dictionaries_old/40space_param/makedict/before.json
@@ -0,0 +1,10 @@
+{
+ "rougail.proxy_authentifie.toto1": {
+ "owner": "default",
+ "value": null
+ },
+ "rougail.proxy_authentifie.toto2": {
+ "owner": "default",
+ "value": "3127"
+ }
+}
diff --git a/tests/dictionaries_old/40space_param/result/rougail/00_base.yml b/tests/dictionaries_old/40space_param/result/rougail/00_base.yml
new file mode 100644
index 000000000..092129092
--- /dev/null
+++ b/tests/dictionaries_old/40space_param/result/rougail/00_base.yml
@@ -0,0 +1,15 @@
+proxy_authentifie:
+ description: proxy authentifié
+ toto1:
+ type: port
+ description: Port d'écoute du proxy
+ mode: expert
+ default:
+ type: jinja
+ jinja: '{{ " " | calc_multi_condition }}'
+ toto2:
+ type: port
+ description: Port d'écoute du proxy NTLM
+ mode: expert
+ default: '3127'
+version: '1.0'
diff --git a/tests/dictionaries_old/40space_param/tiramisu/base.py b/tests/dictionaries_old/40space_param/tiramisu/base.py
new file mode 100644
index 000000000..63cb39ef9
--- /dev/null
+++ b/tests/dictionaries_old/40space_param/tiramisu/base.py
@@ -0,0 +1,60 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.proxy_authentifie.toto1'] = "{{ \" \" | calc_multi_condition }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = PortOption(name="toto1", doc="Port d'écoute du proxy", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.proxy_authentifie.toto1), '__internal_type': ParamValue(port), '__internal_multi': ParamValue(False)})), allow_private=True, allow_protocol=True, properties=frozenset({"expert"}))
+option_4 = PortOption(name="toto2", doc="Port d'écoute du proxy NTLM", default="3127", allow_private=True, allow_protocol=True, properties=frozenset({"expert", "mandatory"}))
+optiondescription_2 = OptionDescription(name="proxy_authentifie", doc="proxy authentifié", children=[option_3, option_4], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/40space_param/tiramisu/multi.py b/tests/dictionaries_old/40space_param/tiramisu/multi.py
new file mode 100644
index 000000000..748c236bd
--- /dev/null
+++ b/tests/dictionaries_old/40space_param/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = PortOption(name="toto1", doc="Port d'écoute du proxy", default=Calculation(func.calc_multi_condition, Params((ParamValue(" ")))), allow_private=True, allow_protocol=True, properties=frozenset({"expert"}))
+option_3 = PortOption(name="toto2", doc="Port d'écoute du proxy NTLM", default="3127", allow_private=True, allow_protocol=True, properties=frozenset({"expert", "mandatory"}))
+optiondescription_1 = OptionDescription(name="proxy_authentifie", doc="proxy authentifié", children=[option_2, option_3], properties=frozenset({"expert"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"expert"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = PortOption(name="toto1", doc="Port d'écoute du proxy", default=Calculation(func.calc_multi_condition, Params((ParamValue(" ")))), allow_private=True, allow_protocol=True, properties=frozenset({"expert"}))
+option_6 = PortOption(name="toto2", doc="Port d'écoute du proxy NTLM", default="3127", allow_private=True, allow_protocol=True, properties=frozenset({"expert", "mandatory"}))
+optiondescription_4 = OptionDescription(name="proxy_authentifie", doc="proxy authentifié", children=[option_5, option_6], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/40space_param/xml/00_base.xml b/tests/dictionaries_old/40space_param/xml/00_base.xml
new file mode 100644
index 000000000..3b02f50c2
--- /dev/null
+++ b/tests/dictionaries_old/40space_param/xml/00_base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+ 3127
+
+
+
+
+
+
+ toto1
+
+
+
diff --git a/tests/dictionaries_old/40space_param/yml/00_base.yml b/tests/dictionaries_old/40space_param/yml/00_base.yml
new file mode 100644
index 000000000..eda930e43
--- /dev/null
+++ b/tests/dictionaries_old/40space_param/yml/00_base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+variables:
+- family:
+ - name: proxy_authentifie
+ description: "proxy authentifi\xE9"
+ variables:
+ - variable:
+ - name: toto1
+ type: port
+ description: "Port d'\xE9coute du proxy"
+ mode: expert
+ - name: toto2
+ type: port
+ description: "Port d'\xE9coute du proxy NTLM"
+ mode: expert
+ value:
+ - text: 3127
+constraints:
+- fill:
+ - name: calc_multi_condition
+ param:
+ - type: space
+ target:
+ - text: toto1
diff --git a/tests/dictionaries_old/45extra_without_family/00-base.xml b/tests/dictionaries_old/45extra_without_family/00-base.xml
deleted file mode 100644
index 2d0b52c96..000000000
--- a/tests/dictionaries_old/45extra_without_family/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- /etc/file
-
-
-
-
- rougail
-
-
-
diff --git a/tests/dictionaries_old/45extra_without_family/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/45extra_without_family/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 73fe80607..000000000
--- a/tests/dictionaries_old/45extra_without_family/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
- non
- extra.my_var
-
-
-
diff --git a/tests/dictionaries_old/45extra_without_family/makedict/after.json b/tests/dictionaries_old/45extra_without_family/makedict/after.json
index 648d84a64..36f02f9c9 100644
--- a/tests/dictionaries_old/45extra_without_family/makedict/after.json
+++ b/tests/dictionaries_old/45extra_without_family/makedict/after.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": null
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/45extra_without_family/makedict/base.json b/tests/dictionaries_old/45extra_without_family/makedict/base.json
index 645b9a2d5..b97ad3bc0 100644
--- a/tests/dictionaries_old/45extra_without_family/makedict/base.json
+++ b/tests/dictionaries_old/45extra_without_family/makedict/base.json
@@ -1,8 +1,9 @@
{
"rougail.my_var": "rougail",
"extra.my_var": null,
- "services.test.files.file.name": "/etc/file",
- "services.test.files.file.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/45extra_without_family/makedict/before.json b/tests/dictionaries_old/45extra_without_family/makedict/before.json
index 648d84a64..36f02f9c9 100644
--- a/tests/dictionaries_old/45extra_without_family/makedict/before.json
+++ b/tests/dictionaries_old/45extra_without_family/makedict/before.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": null
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/45extra_without_family/result/etc/file b/tests/dictionaries_old/45extra_without_family/result/etc/file
deleted file mode 100644
index 7ef821752..000000000
--- a/tests/dictionaries_old/45extra_without_family/result/etc/file
+++ /dev/null
@@ -1,2 +0,0 @@
-rougail
-
diff --git a/tests/dictionaries_old/45extra_without_family/result/extra/00-base.yml b/tests/dictionaries_old/45extra_without_family/result/extra/00-base.yml
new file mode 100644
index 000000000..bf71cd665
--- /dev/null
+++ b/tests/dictionaries_old/45extra_without_family/result/extra/00-base.yml
@@ -0,0 +1,6 @@
+my_var:
+ type: string
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/45extra_without_family/result/rougail/00-base.yml b/tests/dictionaries_old/45extra_without_family/result/rougail/00-base.yml
new file mode 100644
index 000000000..dd35e17ad
--- /dev/null
+++ b/tests/dictionaries_old/45extra_without_family/result/rougail/00-base.yml
@@ -0,0 +1,3 @@
+my_var:
+ default: rougail
+version: '1.0'
diff --git a/tests/dictionaries_old/45extra_without_family/result/services/00-base.yml b/tests/dictionaries_old/45extra_without_family/result/services/00-base.yml
new file mode 100644
index 000000000..d1659db1b
--- /dev/null
+++ b/tests/dictionaries_old/45extra_without_family/result/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ files:
+ /etc/file: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/45extra_without_family/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/45extra_without_family/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 574c7b823..000000000
--- a/tests/dictionaries_old/45extra_without_family/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/file 0644 root root - /usr/local/lib/etc/file
-z /etc/file - - - - -
diff --git a/tests/dictionaries_old/45extra_without_family/tiramisu/base.py b/tests/dictionaries_old/45extra_without_family/tiramisu/base.py
index 74e36c24a..ea3c9eb26 100644
--- a/tests/dictionaries_old/45extra_without_family/tiramisu/base.py
+++ b/tests/dictionaries_old/45extra_without_family/tiramisu/base.py
@@ -1,27 +1,70 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['extra.my_var'] = "{{ \"non\" | calc_multi_condition }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_2 = StrOption(name="my_var", doc="my_var", default="rougail", properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_4 = StrOption(name="my_var", doc="my_var", default=Calculation(func.calc_multi_condition, Params((ParamValue("non")))), properties=frozenset({"normal"}))
-option_3 = OptionDescription(name="extra", doc="extra", children=[option_4])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="my_var", doc="my_var", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(extra.my_var), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="extra", doc="extra", children=[option_4], properties=frozenset({"normal"}))
option_9 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_10 = BoolOption(name="activate", doc="activate", default=True)
-option_8 = OptionDescription(name="file", doc="file", children=[option_9, option_10])
-option_8.impl_set_information('source', "file")
-option_7 = OptionDescription(name="files", doc="files", children=[option_8])
+option_10 = FilenameOption(name="source", doc="source", default="/etc/file")
option_11 = BoolOption(name="activate", doc="activate", default=True)
-option_12 = BoolOption(name="manage", doc="manage", default=True)
-option_6 = OptionDescription(name="test", doc="test", children=[option_7, option_11, option_12])
-option_5 = OptionDescription(name="services", doc="services", children=[option_6], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_3, option_5])
+optiondescription_8 = OptionDescription(name="file", doc="file", children=[option_9, option_10, option_11])
+optiondescription_7 = OptionDescription(name="files", doc="files", children=[optiondescription_8])
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+option_13 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_6 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_7, option_12, option_13])
+optiondescription_6.impl_set_information('type', "service")
+optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3, optiondescription_5])
diff --git a/tests/dictionaries_old/45extra_without_family/tiramisu/multi.py b/tests/dictionaries_old/45extra_without_family/tiramisu/multi.py
new file mode 100644
index 000000000..a88ed3c52
--- /dev/null
+++ b/tests/dictionaries_old/45extra_without_family/tiramisu/multi.py
@@ -0,0 +1,56 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = StrOption(name="my_var", doc="my_var", default="rougail", properties=frozenset({"mandatory", "normal"}))
+optiondescription_20 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
+option_2 = StrOption(name="my_var", doc="my_var", default=Calculation(func.calc_multi_condition, Params((ParamValue("non")))), properties=frozenset({"normal"}))
+optiondescription_21 = OptionDescription(name="extra", doc="extra", children=[option_2], properties=frozenset({"normal"}))
+option_9 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_10 = StrOption(name="source", doc="source", default="file")
+option_8 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_9, option_10, option_8])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7])
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_11 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_23 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_6, option_5, option_11])
+optiondescription_23.impl_set_information('type', "service")
+optiondescription_22 = OptionDescription(name="services", doc="services", children=[optiondescription_23], properties=frozenset({"hidden"}))
+optiondescription_19 = OptionDescription(name="1", doc="1", children=[optiondescription_20, optiondescription_21, optiondescription_22])
+option_3 = StrOption(name="my_var", doc="my_var", default="rougail", properties=frozenset({"mandatory", "normal"}))
+optiondescription_25 = OptionDescription(name="rougail", doc="Rougail", children=[option_3], properties=frozenset({"normal"}))
+option_4 = StrOption(name="my_var", doc="my_var", default=Calculation(func.calc_multi_condition, Params((ParamValue("non")))), properties=frozenset({"normal"}))
+optiondescription_26 = OptionDescription(name="extra", doc="extra", children=[option_4], properties=frozenset({"normal"}))
+option_16 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_17 = StrOption(name="source", doc="source", default="file")
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_14 = OptionDescription(name="file", doc="file", children=[option_16, option_17, option_15])
+optiondescription_13 = OptionDescription(name="files", doc="files", children=[optiondescription_14])
+option_12 = BoolOption(name="activate", doc="activate", default=True)
+option_18 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_28 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_13, option_12, option_18])
+optiondescription_28.impl_set_information('type', "service")
+optiondescription_27 = OptionDescription(name="services", doc="services", children=[optiondescription_28], properties=frozenset({"hidden"}))
+optiondescription_24 = OptionDescription(name="2", doc="2", children=[optiondescription_25, optiondescription_26, optiondescription_27])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_19, optiondescription_24])
diff --git a/tests/dictionaries_old/45extra_without_family/xml/00-base.xml b/tests/dictionaries_old/45extra_without_family/xml/00-base.xml
new file mode 100644
index 000000000..5996f6a62
--- /dev/null
+++ b/tests/dictionaries_old/45extra_without_family/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ /etc/file
+
+
+
+
+ rougail
+
+
+
diff --git a/tests/dictionaries_old/45extra_without_family/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/45extra_without_family/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..ee97b99be
--- /dev/null
+++ b/tests/dictionaries_old/45extra_without_family/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+ non
+ extra.my_var
+
+
+
diff --git a/tests/dictionaries_old/45extra_without_family/yml/00-base.yml b/tests/dictionaries_old/45extra_without_family/yml/00-base.yml
new file mode 100644
index 000000000..005da8b6b
--- /dev/null
+++ b/tests/dictionaries_old/45extra_without_family/yml/00-base.yml
@@ -0,0 +1,11 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - text: /etc/file
+variables:
+- variable:
+ - name: my_var
+ value:
+ - text: rougail
diff --git a/tests/dictionaries_old/45extra_without_family/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/45extra_without_family/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..cb9796467
--- /dev/null
+++ b/tests/dictionaries_old/45extra_without_family/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- variable:
+ - name: my_var
+ type: string
+constraints:
+- fill:
+ - name: calc_multi_condition
+ param:
+ - text: non
+ target:
+ - text: extra.my_var
diff --git a/tests/dictionaries_old/45multi_family/00-base.xml b/tests/dictionaries_old/45multi_family/00-base.xml
deleted file mode 100644
index 4f5d86b6d..000000000
--- a/tests/dictionaries_old/45multi_family/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/45multi_family/result/rougail/00-base.yml b/tests/dictionaries_old/45multi_family/result/rougail/00-base.yml
new file mode 100644
index 000000000..b64455981
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family/result/rougail/00-base.yml
@@ -0,0 +1,4 @@
+base:
+ subfamily:
+ variable: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/45multi_family/tiramisu/base.py b/tests/dictionaries_old/45multi_family/tiramisu/base.py
index 73252d55d..5f6e38186 100644
--- a/tests/dictionaries_old/45multi_family/tiramisu/base.py
+++ b/tests/dictionaries_old/45multi_family/tiramisu/base.py
@@ -1,18 +1,27 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_4 = StrOption(name="variable", doc="variable", properties=frozenset({"normal"}))
-option_3 = OptionDescription(name="subfamily", doc="subfamily", children=[option_4], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="base", doc="base", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/45multi_family/tiramisu/multi.py b/tests/dictionaries_old/45multi_family/tiramisu/multi.py
new file mode 100644
index 000000000..fdbd7aebb
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="variable", doc="variable", properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="subfamily", doc="subfamily", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="base", doc="base", children=[optiondescription_2], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_6 = StrOption(name="variable", doc="variable", properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="subfamily", doc="subfamily", children=[option_6], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="base", doc="base", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/45multi_family/xml/00-base.xml b/tests/dictionaries_old/45multi_family/xml/00-base.xml
new file mode 100644
index 000000000..79a3eb1bd
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/45multi_family/yml/00-base.yml b/tests/dictionaries_old/45multi_family/yml/00-base.yml
new file mode 100644
index 000000000..b5b3a9c0e
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family/yml/00-base.yml
@@ -0,0 +1,10 @@
+version: '0.10'
+variables:
+- family:
+ - name: base
+ variables:
+ - family:
+ - name: subfamily
+ variables:
+ - variable:
+ - name: variable
diff --git a/tests/dictionaries_old/45multi_family_basic/00-base.xml b/tests/dictionaries_old/45multi_family_basic/00-base.xml
deleted file mode 100644
index 831c04364..000000000
--- a/tests/dictionaries_old/45multi_family_basic/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/45multi_family_basic/result/rougail/00-base.yml b/tests/dictionaries_old/45multi_family_basic/result/rougail/00-base.yml
new file mode 100644
index 000000000..512a20c18
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_basic/result/rougail/00-base.yml
@@ -0,0 +1,5 @@
+base:
+ subfamily:
+ variable:
+ mode: basic
+version: '1.0'
diff --git a/tests/dictionaries_old/45multi_family_basic/tiramisu/base.py b/tests/dictionaries_old/45multi_family_basic/tiramisu/base.py
index 97e5b2e80..5f6e38186 100644
--- a/tests/dictionaries_old/45multi_family_basic/tiramisu/base.py
+++ b/tests/dictionaries_old/45multi_family_basic/tiramisu/base.py
@@ -1,18 +1,27 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_4 = StrOption(name="variable", doc="variable", properties=frozenset({"basic"}))
-option_3 = OptionDescription(name="subfamily", doc="subfamily", children=[option_4], properties=frozenset({"basic"}))
-option_2 = OptionDescription(name="base", doc="base", children=[option_3], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/45multi_family_basic/tiramisu/multi.py b/tests/dictionaries_old/45multi_family_basic/tiramisu/multi.py
new file mode 100644
index 000000000..9a9fc8661
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_basic/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="variable", doc="variable", properties=frozenset({"basic"}))
+optiondescription_2 = OptionDescription(name="subfamily", doc="subfamily", children=[option_3], properties=frozenset({"basic"}))
+optiondescription_1 = OptionDescription(name="base", doc="base", children=[optiondescription_2], properties=frozenset({"basic"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"basic"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_6 = StrOption(name="variable", doc="variable", properties=frozenset({"basic"}))
+optiondescription_5 = OptionDescription(name="subfamily", doc="subfamily", children=[option_6], properties=frozenset({"basic"}))
+optiondescription_4 = OptionDescription(name="base", doc="base", children=[optiondescription_5], properties=frozenset({"basic"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"basic"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/45multi_family_basic/xml/00-base.xml b/tests/dictionaries_old/45multi_family_basic/xml/00-base.xml
new file mode 100644
index 000000000..49af9854b
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_basic/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/45multi_family_basic/yml/00-base.yml b/tests/dictionaries_old/45multi_family_basic/yml/00-base.yml
new file mode 100644
index 000000000..6759d2386
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_basic/yml/00-base.yml
@@ -0,0 +1,11 @@
+version: '0.10'
+variables:
+- family:
+ - name: base
+ variables:
+ - family:
+ - name: subfamily
+ variables:
+ - variable:
+ - name: variable
+ mode: basic
diff --git a/tests/dictionaries_old/45multi_family_expert/00-base.xml b/tests/dictionaries_old/45multi_family_expert/00-base.xml
deleted file mode 100644
index 307757d25..000000000
--- a/tests/dictionaries_old/45multi_family_expert/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/45multi_family_expert/result/rougail/00-base.yml b/tests/dictionaries_old/45multi_family_expert/result/rougail/00-base.yml
new file mode 100644
index 000000000..30d106591
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_expert/result/rougail/00-base.yml
@@ -0,0 +1,5 @@
+base:
+ mode: expert
+ subfamily:
+ variable: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/45multi_family_expert/tiramisu/base.py b/tests/dictionaries_old/45multi_family_expert/tiramisu/base.py
index e762e5e52..5f6e38186 100644
--- a/tests/dictionaries_old/45multi_family_expert/tiramisu/base.py
+++ b/tests/dictionaries_old/45multi_family_expert/tiramisu/base.py
@@ -1,18 +1,27 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_4 = StrOption(name="variable", doc="variable", properties=frozenset({"expert"}))
-option_3 = OptionDescription(name="subfamily", doc="subfamily", children=[option_4], properties=frozenset({"expert"}))
-option_2 = OptionDescription(name="base", doc="base", children=[option_3], properties=frozenset({"expert"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/45multi_family_expert/tiramisu/multi.py b/tests/dictionaries_old/45multi_family_expert/tiramisu/multi.py
new file mode 100644
index 000000000..33913f4bb
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_expert/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="variable", doc="variable", properties=frozenset({"expert"}))
+optiondescription_2 = OptionDescription(name="subfamily", doc="subfamily", children=[option_3], properties=frozenset({"expert"}))
+optiondescription_1 = OptionDescription(name="base", doc="base", children=[optiondescription_2], properties=frozenset({"expert"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"expert"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_6 = StrOption(name="variable", doc="variable", properties=frozenset({"expert"}))
+optiondescription_5 = OptionDescription(name="subfamily", doc="subfamily", children=[option_6], properties=frozenset({"expert"}))
+optiondescription_4 = OptionDescription(name="base", doc="base", children=[optiondescription_5], properties=frozenset({"expert"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"expert"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/45multi_family_expert/xml/00-base.xml b/tests/dictionaries_old/45multi_family_expert/xml/00-base.xml
new file mode 100644
index 000000000..35f954bf1
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_expert/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/45multi_family_expert/yml/00-base.yml b/tests/dictionaries_old/45multi_family_expert/yml/00-base.yml
new file mode 100644
index 000000000..da5dd74cb
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_expert/yml/00-base.yml
@@ -0,0 +1,11 @@
+version: '0.10'
+variables:
+- family:
+ - name: base
+ mode: expert
+ variables:
+ - family:
+ - name: subfamily
+ variables:
+ - variable:
+ - name: variable
diff --git a/tests/dictionaries_old/45multi_family_order/00-base.xml b/tests/dictionaries_old/45multi_family_order/00-base.xml
deleted file mode 100644
index b04d9937c..000000000
--- a/tests/dictionaries_old/45multi_family_order/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/45multi_family_order/result/rougail/00-base.yml b/tests/dictionaries_old/45multi_family_order/result/rougail/00-base.yml
new file mode 100644
index 000000000..6c0b21cf0
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_order/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+variable1: {}
+base:
+ variable2: {}
+ subfamily:
+ variable3: {}
+ variable4: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/45multi_family_order/tiramisu/base.py b/tests/dictionaries_old/45multi_family_order/tiramisu/base.py
index 467d1c1ee..5f6e38186 100644
--- a/tests/dictionaries_old/45multi_family_order/tiramisu/base.py
+++ b/tests/dictionaries_old/45multi_family_order/tiramisu/base.py
@@ -1,21 +1,27 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_2 = StrOption(name="variable1", doc="variable1", properties=frozenset({"normal"}))
-option_4 = StrOption(name="variable2", doc="variable2", properties=frozenset({"normal"}))
-option_6 = StrOption(name="variable3", doc="variable3", properties=frozenset({"normal"}))
-option_5 = OptionDescription(name="subfamily", doc="subfamily", children=[option_6], properties=frozenset({"normal"}))
-option_7 = StrOption(name="variable4", doc="variable4", properties=frozenset({"normal"}))
-option_3 = OptionDescription(name="base", doc="base", children=[option_4, option_5, option_7], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/45multi_family_order/tiramisu/multi.py b/tests/dictionaries_old/45multi_family_order/tiramisu/multi.py
new file mode 100644
index 000000000..3c64b9712
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_order/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = StrOption(name="variable1", doc="variable1", properties=frozenset({"normal"}))
+option_3 = StrOption(name="variable2", doc="variable2", properties=frozenset({"normal"}))
+option_5 = StrOption(name="variable3", doc="variable3", properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="subfamily", doc="subfamily", children=[option_5], properties=frozenset({"normal"}))
+option_6 = StrOption(name="variable4", doc="variable4", properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="base", doc="base", children=[option_3, optiondescription_4, option_6], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, optiondescription_2], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14])
+option_7 = StrOption(name="variable1", doc="variable1", properties=frozenset({"normal"}))
+option_9 = StrOption(name="variable2", doc="variable2", properties=frozenset({"normal"}))
+option_11 = StrOption(name="variable3", doc="variable3", properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="subfamily", doc="subfamily", children=[option_11], properties=frozenset({"normal"}))
+option_12 = StrOption(name="variable4", doc="variable4", properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="base", doc="base", children=[option_9, optiondescription_10, option_12], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[option_7, optiondescription_8], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="2", doc="2", children=[optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_15])
diff --git a/tests/dictionaries_old/45multi_family_order/xml/00-base.xml b/tests/dictionaries_old/45multi_family_order/xml/00-base.xml
new file mode 100644
index 000000000..2c8f8eeb4
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_order/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/45multi_family_order/yml/00-base.yml b/tests/dictionaries_old/45multi_family_order/yml/00-base.yml
new file mode 100644
index 000000000..466fce279
--- /dev/null
+++ b/tests/dictionaries_old/45multi_family_order/yml/00-base.yml
@@ -0,0 +1,16 @@
+version: '0.10'
+variables:
+- variable:
+ - name: variable1
+- family:
+ - name: base
+ variables:
+ - variable:
+ - name: variable2
+ - family:
+ - name: subfamily
+ variables:
+ - variable:
+ - name: variable3
+ - variable:
+ - name: variable4
diff --git a/tests/dictionaries_old/45without_family/00-base.xml b/tests/dictionaries_old/45without_family/00-base.xml
deleted file mode 100644
index 4d3f27155..000000000
--- a/tests/dictionaries_old/45without_family/00-base.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/45without_family/result/rougail/00-base.yml b/tests/dictionaries_old/45without_family/result/rougail/00-base.yml
new file mode 100644
index 000000000..32911c123
--- /dev/null
+++ b/tests/dictionaries_old/45without_family/result/rougail/00-base.yml
@@ -0,0 +1,2 @@
+variable: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/45without_family/tiramisu/base.py b/tests/dictionaries_old/45without_family/tiramisu/base.py
index d4eb09fcf..5f6e38186 100644
--- a/tests/dictionaries_old/45without_family/tiramisu/base.py
+++ b/tests/dictionaries_old/45without_family/tiramisu/base.py
@@ -1,16 +1,27 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_2 = StrOption(name="variable", doc="variable", properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/45without_family/tiramisu/multi.py b/tests/dictionaries_old/45without_family/tiramisu/multi.py
new file mode 100644
index 000000000..dfd6cb29a
--- /dev/null
+++ b/tests/dictionaries_old/45without_family/tiramisu/multi.py
@@ -0,0 +1,32 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_1 = StrOption(name="variable", doc="variable", properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="rougail", doc="Rougail", children=[option_1], properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="1", doc="1", children=[optiondescription_4])
+option_2 = StrOption(name="variable", doc="variable", properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="2", doc="2", children=[optiondescription_6])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_3, optiondescription_5])
diff --git a/tests/dictionaries_old/45without_family/xml/00-base.xml b/tests/dictionaries_old/45without_family/xml/00-base.xml
new file mode 100644
index 000000000..b9c3b7ddb
--- /dev/null
+++ b/tests/dictionaries_old/45without_family/xml/00-base.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/45without_family/yml/00-base.yml b/tests/dictionaries_old/45without_family/yml/00-base.yml
new file mode 100644
index 000000000..a251d8952
--- /dev/null
+++ b/tests/dictionaries_old/45without_family/yml/00-base.yml
@@ -0,0 +1,4 @@
+version: '0.10'
+variables:
+- variable:
+ - name: variable
diff --git a/tests/dictionaries_old/50exists_exists/00-base.xml b/tests/dictionaries_old/50exists_exists/00-base.xml
deleted file mode 100644
index 8d03cb4e5..000000000
--- a/tests/dictionaries_old/50exists_exists/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/50exists_exists/01-base.xml b/tests/dictionaries_old/50exists_exists/01-base.xml
deleted file mode 100644
index 518de7561..000000000
--- a/tests/dictionaries_old/50exists_exists/01-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/50exists_exists/result/rougail/00-base.yml b/tests/dictionaries_old/50exists_exists/result/rougail/00-base.yml
new file mode 100644
index 000000000..98b2ee4ba
--- /dev/null
+++ b/tests/dictionaries_old/50exists_exists/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/50exists_exists/result/rougail/01-base.yml b/tests/dictionaries_old/50exists_exists/result/rougail/01-base.yml
new file mode 100644
index 000000000..5942a802a
--- /dev/null
+++ b/tests/dictionaries_old/50exists_exists/result/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: New description
+ exists: false
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/50exists_exists/tiramisu/base.py b/tests/dictionaries_old/50exists_exists/tiramisu/base.py
index 44b674bda..49e4306e1 100644
--- a/tests/dictionaries_old/50exists_exists/tiramisu/base.py
+++ b/tests/dictionaries_old/50exists_exists/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/50exists_exists/tiramisu/multi.py b/tests/dictionaries_old/50exists_exists/tiramisu/multi.py
new file mode 100644
index 000000000..83aa99a96
--- /dev/null
+++ b/tests/dictionaries_old/50exists_exists/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/50exists_exists/xml/00-base.xml b/tests/dictionaries_old/50exists_exists/xml/00-base.xml
new file mode 100644
index 000000000..c4eb67496
--- /dev/null
+++ b/tests/dictionaries_old/50exists_exists/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/50exists_exists/xml/01-base.xml b/tests/dictionaries_old/50exists_exists/xml/01-base.xml
new file mode 100644
index 000000000..e5e2013a8
--- /dev/null
+++ b/tests/dictionaries_old/50exists_exists/xml/01-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ oui
+
+
+
+
diff --git a/tests/dictionaries_old/50exists_exists/yml/00-base.yml b/tests/dictionaries_old/50exists_exists/yml/00-base.yml
new file mode 100644
index 000000000..86fe7c3d9
--- /dev/null
+++ b/tests/dictionaries_old/50exists_exists/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Description
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/50exists_exists/yml/01-base.yml b/tests/dictionaries_old/50exists_exists/yml/01-base.yml
new file mode 100644
index 000000000..92d13e303
--- /dev/null
+++ b/tests/dictionaries_old/50exists_exists/yml/01-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: New description
+ exists: false
+ value:
+ - text: oui
diff --git a/tests/dictionaries_old/50redefine_description/00-base.xml b/tests/dictionaries_old/50redefine_description/00-base.xml
deleted file mode 100644
index 8c9d801f9..000000000
--- a/tests/dictionaries_old/50redefine_description/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/50redefine_description/01-redefine.xml b/tests/dictionaries_old/50redefine_description/01-redefine.xml
deleted file mode 100644
index 758bd2f2f..000000000
--- a/tests/dictionaries_old/50redefine_description/01-redefine.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/50redefine_description/result/rougail/00-base.yml b/tests/dictionaries_old/50redefine_description/result/rougail/00-base.yml
new file mode 100644
index 000000000..da1ea3c58
--- /dev/null
+++ b/tests/dictionaries_old/50redefine_description/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/50redefine_description/result/rougail/01-redefine.yml b/tests/dictionaries_old/50redefine_description/result/rougail/01-redefine.yml
new file mode 100644
index 000000000..24ab230e5
--- /dev/null
+++ b/tests/dictionaries_old/50redefine_description/result/rougail/01-redefine.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ description: Redefined
+version: '1.0'
diff --git a/tests/dictionaries_old/50redefine_description/tiramisu/base.py b/tests/dictionaries_old/50redefine_description/tiramisu/base.py
index 076e545ba..b5095a5fb 100644
--- a/tests/dictionaries_old/50redefine_description/tiramisu/base.py
+++ b/tests/dictionaries_old/50redefine_description/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefined", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/50redefine_description/tiramisu/multi.py b/tests/dictionaries_old/50redefine_description/tiramisu/multi.py
new file mode 100644
index 000000000..dc3fc4ed7
--- /dev/null
+++ b/tests/dictionaries_old/50redefine_description/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefined", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefined", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/50redefine_description/xml/00-base.xml b/tests/dictionaries_old/50redefine_description/xml/00-base.xml
new file mode 100644
index 000000000..210875c0a
--- /dev/null
+++ b/tests/dictionaries_old/50redefine_description/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/50redefine_description/xml/01-redefine.xml b/tests/dictionaries_old/50redefine_description/xml/01-redefine.xml
new file mode 100644
index 000000000..6983ceea7
--- /dev/null
+++ b/tests/dictionaries_old/50redefine_description/xml/01-redefine.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/50redefine_description/yml/00-base.yml b/tests/dictionaries_old/50redefine_description/yml/00-base.yml
new file mode 100644
index 000000000..8617016fb
--- /dev/null
+++ b/tests/dictionaries_old/50redefine_description/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/50redefine_description/yml/01-redefine.yml b/tests/dictionaries_old/50redefine_description/yml/01-redefine.yml
new file mode 100644
index 000000000..8ed54937b
--- /dev/null
+++ b/tests/dictionaries_old/50redefine_description/yml/01-redefine.yml
@@ -0,0 +1,9 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ description: Redefined
diff --git a/tests/dictionaries_old/51exists_nonexists/00-base.xml b/tests/dictionaries_old/51exists_nonexists/00-base.xml
deleted file mode 100644
index 6d475995c..000000000
--- a/tests/dictionaries_old/51exists_nonexists/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/51exists_nonexists/01-base.xml b/tests/dictionaries_old/51exists_nonexists/01-base.xml
deleted file mode 100644
index 59583fe19..000000000
--- a/tests/dictionaries_old/51exists_nonexists/01-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/51exists_nonexists/result/rougail/00-base.yml b/tests/dictionaries_old/51exists_nonexists/result/rougail/00-base.yml
new file mode 100644
index 000000000..f3ac44820
--- /dev/null
+++ b/tests/dictionaries_old/51exists_nonexists/result/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: Description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/51exists_nonexists/result/rougail/01-base.yml b/tests/dictionaries_old/51exists_nonexists/result/rougail/01-base.yml
new file mode 100644
index 000000000..4ebe57964
--- /dev/null
+++ b/tests/dictionaries_old/51exists_nonexists/result/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif2:
+ type: string
+ description: New description
+ exists: false
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/51exists_nonexists/tiramisu/base.py b/tests/dictionaries_old/51exists_nonexists/tiramisu/base.py
index f4ea2745e..fad8ef2f5 100644
--- a/tests/dictionaries_old/51exists_nonexists/tiramisu/base.py
+++ b/tests/dictionaries_old/51exists_nonexists/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif1", doc="Description", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_5 = StrOption(name="mode_conteneur_actif2", doc="New description", default="oui", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51exists_nonexists/tiramisu/multi.py b/tests/dictionaries_old/51exists_nonexists/tiramisu/multi.py
new file mode 100644
index 000000000..3ecf9c7e9
--- /dev/null
+++ b/tests/dictionaries_old/51exists_nonexists/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif1", doc="Description", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="New description", default="oui", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="Description", default="non", properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode_conteneur_actif1", doc="Description", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="New description", default="oui", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/51exists_nonexists/xml/00-base.xml b/tests/dictionaries_old/51exists_nonexists/xml/00-base.xml
new file mode 100644
index 000000000..f36484663
--- /dev/null
+++ b/tests/dictionaries_old/51exists_nonexists/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/51exists_nonexists/xml/01-base.xml b/tests/dictionaries_old/51exists_nonexists/xml/01-base.xml
new file mode 100644
index 000000000..221e7e6a0
--- /dev/null
+++ b/tests/dictionaries_old/51exists_nonexists/xml/01-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ oui
+
+
+
+
diff --git a/tests/dictionaries_old/51exists_nonexists/yml/00-base.yml b/tests/dictionaries_old/51exists_nonexists/yml/00-base.yml
new file mode 100644
index 000000000..ae0a4ed9c
--- /dev/null
+++ b/tests/dictionaries_old/51exists_nonexists/yml/00-base.yml
@@ -0,0 +1,17 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Description
+ value:
+ - text: non
+ - name: mode_conteneur_actif1
+ type: string
+ description: Description
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/51exists_nonexists/yml/01-base.yml b/tests/dictionaries_old/51exists_nonexists/yml/01-base.yml
new file mode 100644
index 000000000..f0aa5871a
--- /dev/null
+++ b/tests/dictionaries_old/51exists_nonexists/yml/01-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif2
+ type: string
+ description: New description
+ exists: false
+ value:
+ - text: oui
diff --git a/tests/dictionaries_old/51exists_redefine/00-base.xml b/tests/dictionaries_old/51exists_redefine/00-base.xml
deleted file mode 100644
index 8d03cb4e5..000000000
--- a/tests/dictionaries_old/51exists_redefine/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/51exists_redefine/01-base.xml b/tests/dictionaries_old/51exists_redefine/01-base.xml
deleted file mode 100644
index 61c054295..000000000
--- a/tests/dictionaries_old/51exists_redefine/01-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- oui
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/51exists_redefine/result/rougail/00-base.yml b/tests/dictionaries_old/51exists_redefine/result/rougail/00-base.yml
new file mode 100644
index 000000000..98b2ee4ba
--- /dev/null
+++ b/tests/dictionaries_old/51exists_redefine/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/51exists_redefine/result/rougail/01-base.yml b/tests/dictionaries_old/51exists_redefine/result/rougail/01-base.yml
new file mode 100644
index 000000000..238b1bb47
--- /dev/null
+++ b/tests/dictionaries_old/51exists_redefine/result/rougail/01-base.yml
@@ -0,0 +1,10 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ exists: true
+ default: oui
+ mode_conteneur_actif1:
+ redefine: true
+ exists: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/51exists_redefine/tiramisu/base.py b/tests/dictionaries_old/51exists_redefine/tiramisu/base.py
index 3286603e1..c93112328 100644
--- a/tests/dictionaries_old/51exists_redefine/tiramisu/base.py
+++ b/tests/dictionaries_old/51exists_redefine/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51exists_redefine/tiramisu/multi.py b/tests/dictionaries_old/51exists_redefine/tiramisu/multi.py
new file mode 100644
index 000000000..9712639f6
--- /dev/null
+++ b/tests/dictionaries_old/51exists_redefine/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Description", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Description", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/51exists_redefine/xml/00-base.xml b/tests/dictionaries_old/51exists_redefine/xml/00-base.xml
new file mode 100644
index 000000000..c4eb67496
--- /dev/null
+++ b/tests/dictionaries_old/51exists_redefine/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/51exists_redefine/xml/01-base.xml b/tests/dictionaries_old/51exists_redefine/xml/01-base.xml
new file mode 100644
index 000000000..6da6ec58a
--- /dev/null
+++ b/tests/dictionaries_old/51exists_redefine/xml/01-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ oui
+
+
+ oui
+
+
+
+
diff --git a/tests/dictionaries_old/51exists_redefine/yml/00-base.yml b/tests/dictionaries_old/51exists_redefine/yml/00-base.yml
new file mode 100644
index 000000000..86fe7c3d9
--- /dev/null
+++ b/tests/dictionaries_old/51exists_redefine/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Description
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/51exists_redefine/yml/01-base.yml b/tests/dictionaries_old/51exists_redefine/yml/01-base.yml
new file mode 100644
index 000000000..f0f6dbe05
--- /dev/null
+++ b/tests/dictionaries_old/51exists_redefine/yml/01-base.yml
@@ -0,0 +1,16 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ exists: true
+ value:
+ - text: oui
+ - name: mode_conteneur_actif1
+ redefine: true
+ exists: true
+ value:
+ - text: oui
diff --git a/tests/dictionaries_old/51redefine_auto/00-base.xml b/tests/dictionaries_old/51redefine_auto/00-base.xml
deleted file mode 100644
index 1195d9fe7..000000000
--- a/tests/dictionaries_old/51redefine_auto/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51redefine_auto/01-base.xml b/tests/dictionaries_old/51redefine_auto/01-base.xml
deleted file mode 100644
index 698aed491..000000000
--- a/tests/dictionaries_old/51redefine_auto/01-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51redefine_auto/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_auto/result/rougail/00-base.yml
new file mode 100644
index 000000000..a30a45a99
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_auto/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_auto/result/rougail/01-base.yml b/tests/dictionaries_old/51redefine_auto/result/rougail/01-base.yml
new file mode 100644
index 000000000..3dd4c3524
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_auto/result/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | concat }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_auto/tiramisu/base.py b/tests/dictionaries_old/51redefine_auto/tiramisu/base.py
index cae9200a7..42698d284 100644
--- a/tests/dictionaries_old/51redefine_auto/tiramisu/base.py
+++ b/tests/dictionaries_old/51redefine_auto/tiramisu/base.py
@@ -1,17 +1,59 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ \"non\" | concat }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_auto/tiramisu/multi.py b/tests/dictionaries_old/51redefine_auto/tiramisu/multi.py
new file mode 100644
index 000000000..d498b9969
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_auto/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/51redefine_auto/xml/00-base.xml b/tests/dictionaries_old/51redefine_auto/xml/00-base.xml
new file mode 100644
index 000000000..4e1ec84ca
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_auto/xml/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ non
+
+
+
+
+
+ non
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/51redefine_auto/xml/01-base.xml b/tests/dictionaries_old/51redefine_auto/xml/01-base.xml
new file mode 100644
index 000000000..a0f8ec9d3
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_auto/xml/01-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+ non
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/51redefine_auto/yml/00-base.yml b/tests/dictionaries_old/51redefine_auto/yml/00-base.yml
new file mode 100644
index 000000000..29860799c
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_auto/yml/00-base.yml
@@ -0,0 +1,20 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: non
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/51redefine_auto/yml/01-base.yml b/tests/dictionaries_old/51redefine_auto/yml/01-base.yml
new file mode 100644
index 000000000..9eb1a949d
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_auto/yml/01-base.yml
@@ -0,0 +1,16 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+constraints:
+- fill:
+ - name: concat
+ param:
+ - name: valeur
+ text: non
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/51redefine_autofill/00-base.xml b/tests/dictionaries_old/51redefine_autofill/00-base.xml
deleted file mode 100644
index 0da7cab19..000000000
--- a/tests/dictionaries_old/51redefine_autofill/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51redefine_autofill/01-base.xml b/tests/dictionaries_old/51redefine_autofill/01-base.xml
deleted file mode 100644
index 28881d84f..000000000
--- a/tests/dictionaries_old/51redefine_autofill/01-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51redefine_autofill/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_autofill/result/rougail/00-base.yml
new file mode 100644
index 000000000..4bd6a838b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_autofill/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "oui" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_autofill/result/rougail/01-base.yml b/tests/dictionaries_old/51redefine_autofill/result/rougail/01-base.yml
new file mode 100644
index 000000000..5fe628160
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_autofill/result/rougail/01-base.yml
@@ -0,0 +1,8 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ hidden: false
+ default:
+ type: jinja
+ jinja: '{{ "non" | concat }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_autofill/tiramisu/base.py b/tests/dictionaries_old/51redefine_autofill/tiramisu/base.py
index 6ca5e4961..3c47c2edc 100644
--- a/tests/dictionaries_old/51redefine_autofill/tiramisu/base.py
+++ b/tests/dictionaries_old/51redefine_autofill/tiramisu/base.py
@@ -1,17 +1,59 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ \"non\" | concat }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_autofill/tiramisu/multi.py b/tests/dictionaries_old/51redefine_autofill/tiramisu/multi.py
new file mode 100644
index 000000000..19c79d37a
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_autofill/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/51redefine_autofill/xml/00-base.xml b/tests/dictionaries_old/51redefine_autofill/xml/00-base.xml
new file mode 100644
index 000000000..da431cf71
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_autofill/xml/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/51redefine_autofill/xml/01-base.xml b/tests/dictionaries_old/51redefine_autofill/xml/01-base.xml
new file mode 100644
index 000000000..d49c297db
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_autofill/xml/01-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+ non
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/51redefine_autofill/yml/00-base.yml b/tests/dictionaries_old/51redefine_autofill/yml/00-base.yml
new file mode 100644
index 000000000..5d00bd41b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_autofill/yml/00-base.yml
@@ -0,0 +1,20 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: oui
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/51redefine_autofill/yml/01-base.yml b/tests/dictionaries_old/51redefine_autofill/yml/01-base.yml
new file mode 100644
index 000000000..030b5ef35
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_autofill/yml/01-base.yml
@@ -0,0 +1,17 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ hidden: false
+constraints:
+- fill:
+ - name: concat
+ param:
+ - name: valeur
+ text: non
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/51redefine_family/00-base.xml b/tests/dictionaries_old/51redefine_family/00-base.xml
deleted file mode 100644
index 458057f26..000000000
--- a/tests/dictionaries_old/51redefine_family/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- non
-
-
-
-
-
- oui
- general2
-
-
-
diff --git a/tests/dictionaries_old/51redefine_family/01-base.xml b/tests/dictionaries_old/51redefine_family/01-base.xml
deleted file mode 100644
index dc45e35ed..000000000
--- a/tests/dictionaries_old/51redefine_family/01-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_family/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_family/result/rougail/00-base.yml
new file mode 100644
index 000000000..2655d6635
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_family/result/rougail/00-base.yml
@@ -0,0 +1,18 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+general2:
+ hidden: true
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.mode_conteneur_actif == "oui" %}true{% else %}false{%
+ endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_family/result/rougail/01-base.yml b/tests/dictionaries_old/51redefine_family/result/rougail/01-base.yml
new file mode 100644
index 000000000..84dcc917c
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_family/result/rougail/01-base.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_family/tiramisu/base.py b/tests/dictionaries_old/51redefine_family/tiramisu/base.py
index 461a00da3..b36db7378 100644
--- a/tests/dictionaries_old/51redefine_family/tiramisu/base.py
+++ b/tests/dictionaries_old/51redefine_family/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_4 = OptionDescription(name="general2", doc="general2", children=[option_5], properties=frozenset({"hidden", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue("oui")}))}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_4 = OptionDescription(name="general2", doc="general2", children=[option_5], properties=frozenset({"hidden", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2, optiondescription_4], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_family/tiramisu/multi.py b/tests/dictionaries_old/51redefine_family/tiramisu/multi.py
new file mode 100644
index 000000000..f86eeacb6
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_family/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+option_4 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general2", doc="general2", children=[option_4], properties=frozenset({"hidden", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1, optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="general", children=[option_6], properties=frozenset({"normal"}))
+option_8 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_7 = OptionDescription(name="general2", doc="general2", children=[option_8], properties=frozenset({"hidden", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("oui")}), func.calc_value_property_help)}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5, optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="2", doc="2", children=[optiondescription_12])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_11])
diff --git a/tests/dictionaries_old/51redefine_family/xml/00-base.xml b/tests/dictionaries_old/51redefine_family/xml/00-base.xml
new file mode 100644
index 000000000..1ad57e1a3
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_family/xml/00-base.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ non
+
+
+
+
+ non
+
+
+
+
+
+ oui
+ general2
+
+
+
diff --git a/tests/dictionaries_old/51redefine_family/xml/01-base.xml b/tests/dictionaries_old/51redefine_family/xml/01-base.xml
new file mode 100644
index 000000000..60d444720
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_family/xml/01-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_family/yml/00-base.yml b/tests/dictionaries_old/51redefine_family/yml/00-base.yml
new file mode 100644
index 000000000..655ab1a2e
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_family/yml/00-base.yml
@@ -0,0 +1,31 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: general2
+ hidden: true
+ variables:
+ - variable:
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: mode_conteneur_actif
+ param:
+ - text: oui
+ target:
+ - type: family
+ text: general2
diff --git a/tests/dictionaries_old/51redefine_family/yml/01-base.yml b/tests/dictionaries_old/51redefine_family/yml/01-base.yml
new file mode 100644
index 000000000..9648ba1f4
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_family/yml/01-base.yml
@@ -0,0 +1,10 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/51redefine_fill/00-base.xml b/tests/dictionaries_old/51redefine_fill/00-base.xml
deleted file mode 100644
index 0da7cab19..000000000
--- a/tests/dictionaries_old/51redefine_fill/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51redefine_fill/01-base.xml b/tests/dictionaries_old/51redefine_fill/01-base.xml
deleted file mode 100644
index 698aed491..000000000
--- a/tests/dictionaries_old/51redefine_fill/01-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51redefine_fill/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_fill/result/rougail/00-base.yml
new file mode 100644
index 000000000..4bd6a838b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fill/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "oui" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_fill/result/rougail/01-base.yml b/tests/dictionaries_old/51redefine_fill/result/rougail/01-base.yml
new file mode 100644
index 000000000..3dd4c3524
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fill/result/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | concat }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_fill/tiramisu/base.py b/tests/dictionaries_old/51redefine_fill/tiramisu/base.py
index cae9200a7..42698d284 100644
--- a/tests/dictionaries_old/51redefine_fill/tiramisu/base.py
+++ b/tests/dictionaries_old/51redefine_fill/tiramisu/base.py
@@ -1,17 +1,59 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ \"non\" | concat }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_fill/tiramisu/multi.py b/tests/dictionaries_old/51redefine_fill/tiramisu/multi.py
new file mode 100644
index 000000000..d498b9969
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fill/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/51redefine_fill/xml/00-base.xml b/tests/dictionaries_old/51redefine_fill/xml/00-base.xml
new file mode 100644
index 000000000..da431cf71
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fill/xml/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/51redefine_fill/xml/01-base.xml b/tests/dictionaries_old/51redefine_fill/xml/01-base.xml
new file mode 100644
index 000000000..a0f8ec9d3
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fill/xml/01-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+ non
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/51redefine_fill/yml/00-base.yml b/tests/dictionaries_old/51redefine_fill/yml/00-base.yml
new file mode 100644
index 000000000..5d00bd41b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fill/yml/00-base.yml
@@ -0,0 +1,20 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: oui
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/51redefine_fill/yml/01-base.yml b/tests/dictionaries_old/51redefine_fill/yml/01-base.yml
new file mode 100644
index 000000000..9eb1a949d
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fill/yml/01-base.yml
@@ -0,0 +1,16 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+constraints:
+- fill:
+ - name: concat
+ param:
+ - name: valeur
+ text: non
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/51redefine_fillauto/00-base.xml b/tests/dictionaries_old/51redefine_fillauto/00-base.xml
deleted file mode 100644
index 9373d5171..000000000
--- a/tests/dictionaries_old/51redefine_fillauto/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51redefine_fillauto/01-base.xml b/tests/dictionaries_old/51redefine_fillauto/01-base.xml
deleted file mode 100644
index f295968dd..000000000
--- a/tests/dictionaries_old/51redefine_fillauto/01-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51redefine_fillauto/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_fillauto/result/rougail/00-base.yml
new file mode 100644
index 000000000..2408964ed
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fillauto/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ "oui" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_fillauto/result/rougail/01-base.yml b/tests/dictionaries_old/51redefine_fillauto/result/rougail/01-base.yml
new file mode 100644
index 000000000..df07c6509
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fillauto/result/rougail/01-base.yml
@@ -0,0 +1,8 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | concat }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_fillauto/tiramisu/base.py b/tests/dictionaries_old/51redefine_fillauto/tiramisu/base.py
index cae9200a7..42698d284 100644
--- a/tests/dictionaries_old/51redefine_fillauto/tiramisu/base.py
+++ b/tests/dictionaries_old/51redefine_fillauto/tiramisu/base.py
@@ -1,17 +1,59 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ \"non\" | concat }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False)})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_fillauto/tiramisu/multi.py b/tests/dictionaries_old/51redefine_fillauto/tiramisu/multi.py
new file mode 100644
index 000000000..d498b9969
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fillauto/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.concat, Params((), kwargs={'valeur': ParamValue("non")})), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/51redefine_fillauto/xml/00-base.xml b/tests/dictionaries_old/51redefine_fillauto/xml/00-base.xml
new file mode 100644
index 000000000..99a545f67
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fillauto/xml/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/51redefine_fillauto/xml/01-base.xml b/tests/dictionaries_old/51redefine_fillauto/xml/01-base.xml
new file mode 100644
index 000000000..c58ca38d2
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fillauto/xml/01-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+ non
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/51redefine_fillauto/yml/00-base.yml b/tests/dictionaries_old/51redefine_fillauto/yml/00-base.yml
new file mode 100644
index 000000000..b6feaad02
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fillauto/yml/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - name: valeur
+ text: oui
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/51redefine_fillauto/yml/01-base.yml b/tests/dictionaries_old/51redefine_fillauto/yml/01-base.yml
new file mode 100644
index 000000000..0882e44ed
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_fillauto/yml/01-base.yml
@@ -0,0 +1,17 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ hidden: true
+constraints:
+- fill:
+ - name: concat
+ param:
+ - name: valeur
+ text: non
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/51redefine_help/00-base.xml b/tests/dictionaries_old/51redefine_help/00-base.xml
deleted file mode 100644
index c39693ee6..000000000
--- a/tests/dictionaries_old/51redefine_help/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_help/01-base.xml b/tests/dictionaries_old/51redefine_help/01-base.xml
deleted file mode 100644
index f6ea98445..000000000
--- a/tests/dictionaries_old/51redefine_help/01-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_help/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_help/result/rougail/00-base.yml
new file mode 100644
index 000000000..75b1e935b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_help/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ help: redefine help family
+ mode_conteneur_actif:
+ type: string
+ description: redefine help
+ hidden: true
+ help: redefine help
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_help/result/rougail/01-base.yml b/tests/dictionaries_old/51redefine_help/result/rougail/01-base.yml
new file mode 100644
index 000000000..465f7a2c0
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_help/result/rougail/01-base.yml
@@ -0,0 +1,9 @@
+general:
+ redefine: true
+ help: redefine help family ok
+ mode_conteneur_actif:
+ redefine: true
+ hidden: true
+ help: redefine help ok
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_help/tiramisu/base.py b/tests/dictionaries_old/51redefine_help/tiramisu/base.py
index 3ae82eddd..4c03764e4 100644
--- a/tests/dictionaries_old/51redefine_help/tiramisu/base.py
+++ b/tests/dictionaries_old/51redefine_help/tiramisu/base.py
@@ -1,19 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="redefine help", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_3.impl_set_information('help', "redefine help ok")
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_2.impl_set_information('help', "redefine help family ok")
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_2.impl_set_information('help', "redefine help family ok")
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_help/tiramisu/multi.py b/tests/dictionaries_old/51redefine_help/tiramisu/multi.py
new file mode 100644
index 000000000..10a016d66
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_help/tiramisu/multi.py
@@ -0,0 +1,38 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="redefine help", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_2.impl_set_information('help', "redefine help ok")
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_1.impl_set_information('help', "redefine help family ok")
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="redefine help", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4.impl_set_information('help', "redefine help ok")
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_3.impl_set_information('help', "redefine help family ok")
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/51redefine_help/xml/00-base.xml b/tests/dictionaries_old/51redefine_help/xml/00-base.xml
new file mode 100644
index 000000000..be229ae75
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_help/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_help/xml/01-base.xml b/tests/dictionaries_old/51redefine_help/xml/01-base.xml
new file mode 100644
index 000000000..cda85ba1b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_help/xml/01-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_help/yml/00-base.yml b/tests/dictionaries_old/51redefine_help/yml/00-base.yml
new file mode 100644
index 000000000..6a7c12125
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_help/yml/00-base.yml
@@ -0,0 +1,14 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ help: redefine help family
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: redefine help
+ hidden: true
+ help: redefine help
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/51redefine_help/yml/01-base.yml b/tests/dictionaries_old/51redefine_help/yml/01-base.yml
new file mode 100644
index 000000000..9bd2da067
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_help/yml/01-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ help: redefine help family ok
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ hidden: true
+ help: redefine help ok
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/51redefine_hidden/00-base.xml b/tests/dictionaries_old/51redefine_hidden/00-base.xml
deleted file mode 100644
index ccab2d183..000000000
--- a/tests/dictionaries_old/51redefine_hidden/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_hidden/01-redefine.xml b/tests/dictionaries_old/51redefine_hidden/01-redefine.xml
deleted file mode 100644
index 31eef0530..000000000
--- a/tests/dictionaries_old/51redefine_hidden/01-redefine.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_hidden/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_hidden/result/rougail/00-base.yml
new file mode 100644
index 000000000..01b94adff
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine hidden
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_hidden/result/rougail/01-redefine.yml b/tests/dictionaries_old/51redefine_hidden/result/rougail/01-redefine.yml
new file mode 100644
index 000000000..a98fe3a5a
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden/result/rougail/01-redefine.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ hidden: true
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_hidden/tiramisu/base.py b/tests/dictionaries_old/51redefine_hidden/tiramisu/base.py
index 8dfb9937c..6fb051c88 100644
--- a/tests/dictionaries_old/51redefine_hidden/tiramisu/base.py
+++ b/tests/dictionaries_old/51redefine_hidden/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine hidden", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_hidden/tiramisu/multi.py b/tests/dictionaries_old/51redefine_hidden/tiramisu/multi.py
new file mode 100644
index 000000000..a6e2a62b5
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine hidden", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine hidden", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/51redefine_hidden/xml/00-base.xml b/tests/dictionaries_old/51redefine_hidden/xml/00-base.xml
new file mode 100644
index 000000000..9817d7078
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_hidden/xml/01-redefine.xml b/tests/dictionaries_old/51redefine_hidden/xml/01-redefine.xml
new file mode 100644
index 000000000..87efadfb0
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden/xml/01-redefine.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_hidden/yml/00-base.yml b/tests/dictionaries_old/51redefine_hidden/yml/00-base.yml
new file mode 100644
index 000000000..e89816231
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden/yml/00-base.yml
@@ -0,0 +1,11 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine hidden
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/51redefine_hidden/yml/01-redefine.yml b/tests/dictionaries_old/51redefine_hidden/yml/01-redefine.yml
new file mode 100644
index 000000000..22125d6b6
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden/yml/01-redefine.yml
@@ -0,0 +1,9 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ hidden: true
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/__init__.py b/tests/dictionaries_old/51redefine_hidden_inverse/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_multi_variable/__init__.py
rename to tests/dictionaries_old/51redefine_hidden_inverse/__init__.py
diff --git a/tests/dictionaries_old/51redefine_remove_check/makedict/after.json b/tests/dictionaries_old/51redefine_hidden_inverse/makedict/after.json
similarity index 100%
rename from tests/dictionaries_old/51redefine_remove_check/makedict/after.json
rename to tests/dictionaries_old/51redefine_hidden_inverse/makedict/after.json
diff --git a/tests/dictionaries_old/51redefine_remove_check/makedict/base.json b/tests/dictionaries_old/51redefine_hidden_inverse/makedict/base.json
similarity index 100%
rename from tests/dictionaries_old/51redefine_remove_check/makedict/base.json
rename to tests/dictionaries_old/51redefine_hidden_inverse/makedict/base.json
diff --git a/tests/dictionaries_old/51redefine_remove_check/makedict/before.json b/tests/dictionaries_old/51redefine_hidden_inverse/makedict/before.json
similarity index 100%
rename from tests/dictionaries_old/51redefine_remove_check/makedict/before.json
rename to tests/dictionaries_old/51redefine_hidden_inverse/makedict/before.json
diff --git a/tests/dictionaries_old/51redefine_hidden_inverse/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_hidden_inverse/result/rougail/00-base.yml
new file mode 100644
index 000000000..709c26c30
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden_inverse/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine hidden
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_hidden_inverse/result/rougail/01-redefine.yml b/tests/dictionaries_old/51redefine_hidden_inverse/result/rougail/01-redefine.yml
new file mode 100644
index 000000000..b695912b8
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden_inverse/result/rougail/01-redefine.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ hidden: false
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_hidden_inverse/tiramisu/base.py b/tests/dictionaries_old/51redefine_hidden_inverse/tiramisu/base.py
new file mode 100644
index 000000000..ce2dcb94f
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden_inverse/tiramisu/base.py
@@ -0,0 +1,29 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine hidden", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_hidden_inverse/tiramisu/multi.py b/tests/dictionaries_old/51redefine_hidden_inverse/tiramisu/multi.py
new file mode 100644
index 000000000..043f8dd4f
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden_inverse/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine hidden", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine hidden", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/51redefine_hidden_inverse/xml/00-base.xml b/tests/dictionaries_old/51redefine_hidden_inverse/xml/00-base.xml
new file mode 100644
index 000000000..747f91891
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden_inverse/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_hidden_inverse/xml/01-redefine.xml b/tests/dictionaries_old/51redefine_hidden_inverse/xml/01-redefine.xml
new file mode 100644
index 000000000..1856b0786
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden_inverse/xml/01-redefine.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_hidden_inverse/yml/00-base.yml b/tests/dictionaries_old/51redefine_hidden_inverse/yml/00-base.yml
new file mode 100644
index 000000000..de998be8b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden_inverse/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine hidden
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/51redefine_hidden_inverse/yml/01-redefine.yml b/tests/dictionaries_old/51redefine_hidden_inverse/yml/01-redefine.yml
new file mode 100644
index 000000000..774eb4936
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_hidden_inverse/yml/01-redefine.yml
@@ -0,0 +1,9 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ hidden: false
diff --git a/tests/dictionaries_old/51redefine_multi/00-base.xml b/tests/dictionaries_old/51redefine_multi/00-base.xml
deleted file mode 100644
index 8c9d801f9..000000000
--- a/tests/dictionaries_old/51redefine_multi/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_multi/01-redefine.xml b/tests/dictionaries_old/51redefine_multi/01-redefine.xml
deleted file mode 100644
index df4f28e5c..000000000
--- a/tests/dictionaries_old/51redefine_multi/01-redefine.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_multi/errno_48 b/tests/dictionaries_old/51redefine_multi/errno_48
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/51redefine_multi/makedict/after.json b/tests/dictionaries_old/51redefine_multi/makedict/after.json
new file mode 100644
index 000000000..cfec4b1fc
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_multi/makedict/after.json
@@ -0,0 +1,8 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": [
+ "non"
+ ]
+ }
+}
diff --git a/tests/dictionaries_old/51redefine_multi/makedict/base.json b/tests/dictionaries_old/51redefine_multi/makedict/base.json
new file mode 100644
index 000000000..feedadc62
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_multi/makedict/base.json
@@ -0,0 +1,5 @@
+{
+ "rougail.general.mode_conteneur_actif": [
+ "non"
+ ]
+}
diff --git a/tests/dictionaries_old/51redefine_multi/makedict/before.json b/tests/dictionaries_old/51redefine_multi/makedict/before.json
new file mode 100644
index 000000000..cfec4b1fc
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_multi/makedict/before.json
@@ -0,0 +1,8 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": [
+ "non"
+ ]
+ }
+}
diff --git a/tests/dictionaries_old/51redefine_multi/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..da1ea3c58
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_multi/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine description
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_multi/result/rougail/01-redefine.yml b/tests/dictionaries_old/51redefine_multi/result/rougail/01-redefine.yml
new file mode 100644
index 000000000..0358df0a4
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_multi/result/rougail/01-redefine.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ multi: true
+ default:
+ - non
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_multi/tiramisu/base.py b/tests/dictionaries_old/51redefine_multi/tiramisu/base.py
new file mode 100644
index 000000000..73ee68ca0
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_multi/tiramisu/base.py
@@ -0,0 +1,29 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_multi/tiramisu/multi.py b/tests/dictionaries_old/51redefine_multi/tiramisu/multi.py
new file mode 100644
index 000000000..4b92ec1d2
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_multi/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine description", multi=True, default=['non'], default_multi="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/51redefine_multi/xml/00-base.xml b/tests/dictionaries_old/51redefine_multi/xml/00-base.xml
new file mode 100644
index 000000000..210875c0a
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_multi/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_multi/xml/01-redefine.xml b/tests/dictionaries_old/51redefine_multi/xml/01-redefine.xml
new file mode 100644
index 000000000..772cbb8cd
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_multi/xml/01-redefine.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_multi/yml/00-base.yml b/tests/dictionaries_old/51redefine_multi/yml/00-base.yml
new file mode 100644
index 000000000..8617016fb
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_multi/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine description
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/51redefine_multi/yml/01-redefine.yml b/tests/dictionaries_old/51redefine_multi/yml/01-redefine.yml
new file mode 100644
index 000000000..3c964b27c
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_multi/yml/01-redefine.yml
@@ -0,0 +1,9 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ multi: true
diff --git a/tests/dictionaries_old/51redefine_remove_check/00-base.xml b/tests/dictionaries_old/51redefine_remove_check/00-base.xml
deleted file mode 100644
index 9dc96e514..000000000
--- a/tests/dictionaries_old/51redefine_remove_check/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
- a
- b
- c
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51redefine_remove_check/01-base.xml b/tests/dictionaries_old/51redefine_remove_check/01-base.xml
deleted file mode 100644
index 5ef05ee98..000000000
--- a/tests/dictionaries_old/51redefine_remove_check/01-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_remove_check/__init__.py b/tests/dictionaries_old/51redefine_remove_check/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/51redefine_remove_check/tiramisu/base.py b/tests/dictionaries_old/51redefine_remove_check/tiramisu/base.py
deleted file mode 100644
index ed1a2d590..000000000
--- a/tests/dictionaries_old/51redefine_remove_check/tiramisu/base.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
-try:
- from tiramisu4 import *
-except:
- from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
diff --git a/tests/dictionaries_old/51redefine_remove_condition/00-base.xml b/tests/dictionaries_old/51redefine_remove_condition/00-base.xml
deleted file mode 100644
index 4d3a9bcea..000000000
--- a/tests/dictionaries_old/51redefine_remove_condition/00-base.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif1
- mode_conteneur_actif2
-
-
-
diff --git a/tests/dictionaries_old/51redefine_remove_condition/01-base.xml b/tests/dictionaries_old/51redefine_remove_condition/01-base.xml
deleted file mode 100644
index 5b96406b9..000000000
--- a/tests/dictionaries_old/51redefine_remove_condition/01-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_remove_condition/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_remove_condition/result/rougail/00-base.yml
new file mode 100644
index 000000000..395ca775c
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition/result/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_remove_condition/result/rougail/01-base.yml b/tests/dictionaries_old/51redefine_remove_condition/result/rougail/01-base.yml
new file mode 100644
index 000000000..d80321891
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition/result/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ condition:
+ redefine: true
+ hidden: false
+ disabled: false
+ mandatory: false
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_remove_condition/tiramisu/base.py b/tests/dictionaries_old/51redefine_remove_condition/tiramisu/base.py
index 79f303240..bdfd59fab 100644
--- a/tests/dictionaries_old/51redefine_remove_condition/tiramisu/base.py
+++ b/tests/dictionaries_old/51redefine_remove_condition/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_4 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"normal"}))
option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_6 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_remove_condition/tiramisu/multi.py b/tests/dictionaries_old/51redefine_remove_condition/tiramisu/multi.py
new file mode 100644
index 000000000..a297535ed
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7, option_8, option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/51redefine_remove_condition/xml/00-base.xml b/tests/dictionaries_old/51redefine_remove_condition/xml/00-base.xml
new file mode 100644
index 000000000..20771d5d4
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition/xml/00-base.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif1
+ mode_conteneur_actif2
+
+
+
diff --git a/tests/dictionaries_old/51redefine_remove_condition/xml/01-base.xml b/tests/dictionaries_old/51redefine_remove_condition/xml/01-base.xml
new file mode 100644
index 000000000..a7251ff57
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition/xml/01-base.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_remove_condition/yml/00-base.yml b/tests/dictionaries_old/51redefine_remove_condition/yml/00-base.yml
new file mode 100644
index 000000000..fcaf88ede
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition/yml/00-base.yml
@@ -0,0 +1,38 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif1
+ - type: variable
+ text: mode_conteneur_actif2
diff --git a/tests/dictionaries_old/51redefine_remove_condition/yml/01-base.yml b/tests/dictionaries_old/51redefine_remove_condition/yml/01-base.yml
new file mode 100644
index 000000000..62c1c758b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition/yml/01-base.yml
@@ -0,0 +1,9 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ redefine: true
+ remove_condition: true
diff --git a/tests/dictionaries/70container_files_symlink_variable/__init__.py b/tests/dictionaries_old/51redefine_remove_condition_filelist/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_variable/__init__.py
rename to tests/dictionaries_old/51redefine_remove_condition_filelist/__init__.py
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/makedict/after.json b/tests/dictionaries_old/51redefine_remove_condition_filelist/makedict/after.json
new file mode 100644
index 000000000..143480f4f
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/makedict/after.json
@@ -0,0 +1,38 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.condition": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.mode_conteneur_actif1": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.mode_conteneur_actif2": {
+ "owner": "default",
+ "value": "non"
+ },
+ "services.test_service.files.file.name": {
+ "owner": "default",
+ "value": "/etc/file"
+ },
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/makedict/base.json b/tests/dictionaries_old/51redefine_remove_condition_filelist/makedict/base.json
new file mode 100644
index 000000000..2ba36c0e9
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/makedict/base.json
@@ -0,0 +1,11 @@
+{
+ "rougail.general.mode_conteneur_actif": "non",
+ "rougail.general.condition": "non",
+ "rougail.general.mode_conteneur_actif1": "non",
+ "rougail.general.mode_conteneur_actif2": "non",
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
+}
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/makedict/before.json b/tests/dictionaries_old/51redefine_remove_condition_filelist/makedict/before.json
new file mode 100644
index 000000000..143480f4f
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/makedict/before.json
@@ -0,0 +1,38 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.condition": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.mode_conteneur_actif1": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.mode_conteneur_actif2": {
+ "owner": "default",
+ "value": "non"
+ },
+ "services.test_service.files.file.name": {
+ "owner": "default",
+ "value": "/etc/file"
+ },
+ "services.test_service.files.file.source": {
+ "owner": "default",
+ "value": "file"
+ },
+ "services.test_service.files.file.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_remove_condition_filelist/result/rougail/00-base.yml
new file mode 100644
index 000000000..395ca775c
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/result/rougail/00-base.yml
@@ -0,0 +1,27 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ condition:
+ type: string
+ description: No change
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+ mode_conteneur_actif2:
+ type: string
+ description: No change
+ default: non
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/result/rougail/01-base.yml b/tests/dictionaries_old/51redefine_remove_condition_filelist/result/rougail/01-base.yml
new file mode 100644
index 000000000..d80321891
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/result/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ condition:
+ redefine: true
+ hidden: false
+ disabled: false
+ mandatory: false
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/result/services/00-base.yml b/tests/dictionaries_old/51redefine_remove_condition_filelist/result/services/00-base.yml
new file mode 100644
index 000000000..91273e771
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/result/services/00-base.yml
@@ -0,0 +1,8 @@
+test.service:
+ files:
+ /etc/file:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.general.condition == "oui" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/tiramisu/base.py b/tests/dictionaries_old/51redefine_remove_condition_filelist/tiramisu/base.py
new file mode 100644
index 000000000..ef19c4f81
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/tiramisu/base.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"normal"}))
+option_5 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_6 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_11 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_12 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_13 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_10 = OptionDescription(name="file", doc="file", children=[option_11, option_12, option_13])
+optiondescription_9 = OptionDescription(name="files", doc="files", children=[optiondescription_10])
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+option_15 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_8 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_9, option_14, option_15])
+optiondescription_8.impl_set_information('type', "service")
+optiondescription_7 = OptionDescription(name="services", doc="services", children=[optiondescription_8], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_7])
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/tiramisu/multi.py b/tests/dictionaries_old/51redefine_remove_condition_filelist/tiramisu/multi.py
new file mode 100644
index 000000000..6ba5a8f4b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/tiramisu/multi.py
@@ -0,0 +1,60 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_5 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_26 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_15 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_16 = StrOption(name="source", doc="source", default="file")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_13 = OptionDescription(name="file", doc="file", children=[option_15, option_16, option_14])
+optiondescription_12 = OptionDescription(name="files", doc="files", children=[optiondescription_13])
+option_11 = BoolOption(name="activate", doc="activate", default=True)
+option_17 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_28 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_12, option_11, option_17])
+optiondescription_28.impl_set_information('type', "service")
+optiondescription_27 = OptionDescription(name="services", doc="services", children=[optiondescription_28], properties=frozenset({"hidden"}))
+optiondescription_25 = OptionDescription(name="1", doc="1", children=[optiondescription_26, optiondescription_27])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="condition", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="mode_conteneur_actif2", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="general", children=[option_7, option_8, option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_30 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_22 = FilenameOption(name="name", doc="name", default="/etc/file")
+option_23 = StrOption(name="source", doc="source", default="file")
+option_21 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_20 = OptionDescription(name="file", doc="file", children=[option_22, option_23, option_21])
+optiondescription_19 = OptionDescription(name="files", doc="files", children=[optiondescription_20])
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+option_24 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_32 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_19, option_18, option_24])
+optiondescription_32.impl_set_information('type', "service")
+optiondescription_31 = OptionDescription(name="services", doc="services", children=[optiondescription_32], properties=frozenset({"hidden"}))
+optiondescription_29 = OptionDescription(name="2", doc="2", children=[optiondescription_30, optiondescription_31])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_25, optiondescription_29])
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/xml/00-base.xml b/tests/dictionaries_old/51redefine_remove_condition_filelist/xml/00-base.xml
new file mode 100644
index 000000000..da7068dbd
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/xml/00-base.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ /etc/file
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
+
+ oui
+ mode_conteneur_actif1
+ mode_conteneur_actif2
+ pouet
+
+
+
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/xml/01-base.xml b/tests/dictionaries_old/51redefine_remove_condition_filelist/xml/01-base.xml
new file mode 100644
index 000000000..a7251ff57
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/xml/01-base.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/yml/00-base.yml b/tests/dictionaries_old/51redefine_remove_condition_filelist/yml/00-base.yml
new file mode 100644
index 000000000..706635492
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/yml/00-base.yml
@@ -0,0 +1,46 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - filelist: pouet
+ text: /etc/file
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: condition
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: mode_conteneur_actif2
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: oui
+ target:
+ - type: variable
+ text: mode_conteneur_actif1
+ - type: variable
+ text: mode_conteneur_actif2
+ - type: filelist
+ text: pouet
diff --git a/tests/dictionaries_old/51redefine_remove_condition_filelist/yml/01-base.yml b/tests/dictionaries_old/51redefine_remove_condition_filelist/yml/01-base.yml
new file mode 100644
index 000000000..62c1c758b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_remove_condition_filelist/yml/01-base.yml
@@ -0,0 +1,9 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: condition
+ redefine: true
+ remove_condition: true
diff --git a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/00-base.xml b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/00-base.xml
deleted file mode 100644
index a3471e442..000000000
--- a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
- no
-
-
- no
-
-
- no
-
-
- no
-
-
- False
-
-
-
-
- yes
- my_var1
- my_var2
-
-
-
diff --git a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/01-base.xml b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/01-base.xml
deleted file mode 100644
index 2798de04b..000000000
--- a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/01-base.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/result/rougail/00-base.yml
new file mode 100644
index 000000000..916758354
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/result/rougail/00-base.yml
@@ -0,0 +1,20 @@
+my_var:
+ default: 'no'
+condition:
+ default: 'no'
+my_var1:
+ hidden: true
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == "yes" %}true{% else %}false{% endif %}'
+my_var2:
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == "yes" %}true{% else %}false{% endif %}'
+server_deployed:
+ type: boolean
+ hidden: true
+ default: false
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/result/rougail/01-base.yml b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/result/rougail/01-base.yml
new file mode 100644
index 000000000..9147370ae
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/result/rougail/01-base.yml
@@ -0,0 +1,6 @@
+condition:
+ redefine: true
+ hidden: false
+ disabled: false
+ mandatory: false
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/tiramisu/base.py b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/tiramisu/base.py
index 1aa360c1d..6f642a86d 100644
--- a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/tiramisu/base.py
+++ b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_6 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"hidden", "mandatory", "normal"}))
-option_2 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_6, todict=True, notraisepropertyerror=True), 'expected': ParamValue(True)}))}))
-option_3 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"normal"}))
option_4 = StrOption(name="my_var1", doc="my_var1", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_5 = StrOption(name="my_var2", doc="my_var2", default="no", properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3, option_4, option_5, option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_6 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3, option_4, option_5, option_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/tiramisu/multi.py b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/tiramisu/multi.py
new file mode 100644
index 000000000..322d5fcbb
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_5 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"hidden", "mandatory", "normal"}))
+option_1 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_5, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
+option_2 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="my_var1", doc="my_var1", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="my_var2", doc="my_var2", default="no", properties=frozenset({"mandatory", "normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[option_1, option_2, option_3, option_4, option_5], properties=frozenset({"basic"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12])
+option_10 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"hidden", "mandatory", "normal"}))
+option_6 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_10, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
+option_7 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="my_var1", doc="my_var1", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_9 = StrOption(name="my_var2", doc="my_var2", default="no", properties=frozenset({"mandatory", "normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[option_6, option_7, option_8, option_9, option_10], properties=frozenset({"basic"}))
+optiondescription_13 = OptionDescription(name="2", doc="2", children=[optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_13])
diff --git a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/xml/00-base.xml b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/xml/00-base.xml
new file mode 100644
index 000000000..f983b0d04
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/xml/00-base.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ no
+
+
+ no
+
+
+ no
+
+
+ no
+
+
+ False
+
+
+
+
+ yes
+ my_var1
+ my_var2
+
+
+
diff --git a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/xml/01-base.xml b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/xml/01-base.xml
new file mode 100644
index 000000000..138dccf56
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/xml/01-base.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/yml/00-base.yml b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/yml/00-base.yml
new file mode 100644
index 000000000..afe2337fb
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/yml/00-base.yml
@@ -0,0 +1,33 @@
+version: '0.10'
+variables:
+- variable:
+ - name: my_var
+ auto_freeze: true
+ value:
+ - text: 'no'
+ - name: condition
+ value:
+ - text: 'no'
+ - name: my_var1
+ hidden: true
+ value:
+ - text: 'no'
+ - name: my_var2
+ value:
+ - text: 'no'
+ - name: server_deployed
+ type: boolean
+ hidden: true
+ value:
+ - text: false
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: condition
+ param:
+ - text: 'yes'
+ target:
+ - type: variable
+ text: my_var1
+ - type: variable
+ text: my_var2
diff --git a/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/yml/01-base.yml b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/yml/01-base.yml
new file mode 100644
index 000000000..33e83c42b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_removecondition_nonautofreeze/yml/01-base.yml
@@ -0,0 +1,6 @@
+version: '0.10'
+variables:
+- variable:
+ - name: condition
+ redefine: true
+ remove_condition: true
diff --git a/tests/dictionaries_old/51redefine_type/00-base.xml b/tests/dictionaries_old/51redefine_type/00-base.xml
deleted file mode 100644
index 8c9d801f9..000000000
--- a/tests/dictionaries_old/51redefine_type/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_type/01-redefine.xml b/tests/dictionaries_old/51redefine_type/01-redefine.xml
deleted file mode 100644
index cf1a2adbe..000000000
--- a/tests/dictionaries_old/51redefine_type/01-redefine.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_type/__init__.py b/tests/dictionaries_old/51redefine_type/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/51redefine_type/errno_48 b/tests/dictionaries_old/51redefine_type/errno_48
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/51redefine_validenum/00-base.xml b/tests/dictionaries_old/51redefine_validenum/00-base.xml
deleted file mode 100644
index 9d3c5cf02..000000000
--- a/tests/dictionaries_old/51redefine_validenum/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
- a
- b
- c
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51redefine_validenum/01-redefine.xml b/tests/dictionaries_old/51redefine_validenum/01-redefine.xml
deleted file mode 100644
index 1e5e21099..000000000
--- a/tests/dictionaries_old/51redefine_validenum/01-redefine.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
- a
- b
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51redefine_validenum/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_validenum/result/rougail/00-base.yml
new file mode 100644
index 000000000..fef3650ba
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_validenum/result/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ mode_conteneur_actif:
+ type: choice
+ description: Redefine description
+ hidden: true
+ default: a
+ choices:
+ - a
+ - b
+ - c
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_validenum/result/rougail/01-redefine.yml b/tests/dictionaries_old/51redefine_validenum/result/rougail/01-redefine.yml
new file mode 100644
index 000000000..8babcec2f
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_validenum/result/rougail/01-redefine.yml
@@ -0,0 +1,9 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+ validators: null
+ default: a
+ choices:
+ - a
+ - b
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_validenum/tiramisu/base.py b/tests/dictionaries_old/51redefine_validenum/tiramisu/base.py
index b7fd2de45..bd9bb75e0 100644
--- a/tests/dictionaries_old/51redefine_validenum/tiramisu/base.py
+++ b/tests/dictionaries_old/51redefine_validenum/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = ChoiceOption(name="mode_conteneur_actif", doc="Redefine description", values=('a', 'b'), default="a", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_validenum/tiramisu/multi.py b/tests/dictionaries_old/51redefine_validenum/tiramisu/multi.py
new file mode 100644
index 000000000..8ad7153cd
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_validenum/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = ChoiceOption(name="mode_conteneur_actif", doc="Redefine description", values=('a', 'b'), default="a", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = ChoiceOption(name="mode_conteneur_actif", doc="Redefine description", values=('a', 'b'), default="a", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/51redefine_validenum/xml/00-base.xml b/tests/dictionaries_old/51redefine_validenum/xml/00-base.xml
new file mode 100644
index 000000000..6a2263a32
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_validenum/xml/00-base.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+ a
+ b
+ c
+ a
+
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_validenum/xml/01-redefine.xml b/tests/dictionaries_old/51redefine_validenum/xml/01-redefine.xml
new file mode 100644
index 000000000..3e7a7635b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_validenum/xml/01-redefine.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ a
+ b
+ a
+
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_validenum/yml/00-base.yml b/tests/dictionaries_old/51redefine_validenum/yml/00-base.yml
new file mode 100644
index 000000000..4b622be13
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_validenum/yml/00-base.yml
@@ -0,0 +1,20 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: choice
+ description: Redefine description
+ hidden: true
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ - type: string
+ text: c
+ value:
+ - type: string
+ text: a
diff --git a/tests/dictionaries_old/51redefine_validenum/yml/01-redefine.yml b/tests/dictionaries_old/51redefine_validenum/yml/01-redefine.yml
new file mode 100644
index 000000000..fa00dc985
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_validenum/yml/01-redefine.yml
@@ -0,0 +1,18 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ remove_check: true
+ remove_choice: true
+ choice:
+ - type: string
+ text: a
+ - type: string
+ text: b
+ value:
+ - type: string
+ text: a
diff --git a/tests/dictionaries_old/51redefine_value/00-base.xml b/tests/dictionaries_old/51redefine_value/00-base.xml
deleted file mode 100644
index e1bf475ec..000000000
--- a/tests/dictionaries_old/51redefine_value/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_value/01-redefine.xml b/tests/dictionaries_old/51redefine_value/01-redefine.xml
deleted file mode 100644
index 4fe7dc59e..000000000
--- a/tests/dictionaries_old/51redefine_value/01-redefine.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/51redefine_value/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_value/result/rougail/00-base.yml
new file mode 100644
index 000000000..74c33aee8
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_value/result/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine value
+ default: non
+ mode_conteneur_actif1:
+ type: string
+ description: Redefine value
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_value/result/rougail/01-redefine.yml b/tests/dictionaries_old/51redefine_value/result/rougail/01-redefine.yml
new file mode 100644
index 000000000..c9908834d
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_value/result/rougail/01-redefine.yml
@@ -0,0 +1,5 @@
+general:
+ mode_conteneur_actif1:
+ redefine: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_value/tiramisu/base.py b/tests/dictionaries_old/51redefine_value/tiramisu/base.py
index 8350435af..09de009fa 100644
--- a/tests/dictionaries_old/51redefine_value/tiramisu/base.py
+++ b/tests/dictionaries_old/51redefine_value/tiramisu/base.py
@@ -1,18 +1,30 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine value", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="mode_conteneur_actif1", doc="Redefine value", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_value/tiramisu/multi.py b/tests/dictionaries_old/51redefine_value/tiramisu/multi.py
new file mode 100644
index 000000000..fe18720ab
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_value/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine value", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif1", doc="Redefine value", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="mode_conteneur_actif", doc="Redefine value", default="non", properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="mode_conteneur_actif1", doc="Redefine value", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/51redefine_value/xml/00-base.xml b/tests/dictionaries_old/51redefine_value/xml/00-base.xml
new file mode 100644
index 000000000..a1fad14f0
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_value/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_value/xml/01-redefine.xml b/tests/dictionaries_old/51redefine_value/xml/01-redefine.xml
new file mode 100644
index 000000000..0ce435be7
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_value/xml/01-redefine.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ oui
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_value/yml/00-base.yml b/tests/dictionaries_old/51redefine_value/yml/00-base.yml
new file mode 100644
index 000000000..2598efb1b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_value/yml/00-base.yml
@@ -0,0 +1,17 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine value
+ value:
+ - text: non
+ - name: mode_conteneur_actif1
+ type: string
+ description: Redefine value
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/51redefine_value/yml/01-redefine.yml b/tests/dictionaries_old/51redefine_value/yml/01-redefine.yml
new file mode 100644
index 000000000..65c45c76c
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_value/yml/01-redefine.yml
@@ -0,0 +1,10 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif1
+ redefine: true
+ value:
+ - text: oui
diff --git a/tests/dictionaries/70container_files_twice/__init__.py b/tests/dictionaries_old/51redefine_without_hidden/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_files_twice/__init__.py
rename to tests/dictionaries_old/51redefine_without_hidden/__init__.py
diff --git a/tests/dictionaries_old/51redefine_without_hidden/makedict/after.json b/tests/dictionaries_old/51redefine_without_hidden/makedict/after.json
new file mode 100644
index 000000000..2e6c541d0
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_without_hidden/makedict/after.json
@@ -0,0 +1,6 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ }
+}
diff --git a/tests/dictionaries_old/51redefine_without_hidden/makedict/base.json b/tests/dictionaries_old/51redefine_without_hidden/makedict/base.json
new file mode 100644
index 000000000..25056378d
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_without_hidden/makedict/base.json
@@ -0,0 +1,3 @@
+{
+ "rougail.general.mode_conteneur_actif": "non"
+}
diff --git a/tests/dictionaries_old/51redefine_without_hidden/makedict/before.json b/tests/dictionaries_old/51redefine_without_hidden/makedict/before.json
new file mode 100644
index 000000000..2e6c541d0
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_without_hidden/makedict/before.json
@@ -0,0 +1,6 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ }
+}
diff --git a/tests/dictionaries_old/51redefine_without_hidden/result/rougail/00-base.yml b/tests/dictionaries_old/51redefine_without_hidden/result/rougail/00-base.yml
new file mode 100644
index 000000000..709c26c30
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_without_hidden/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Redefine hidden
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_without_hidden/result/rougail/01-redefine.yml b/tests/dictionaries_old/51redefine_without_hidden/result/rougail/01-redefine.yml
new file mode 100644
index 000000000..7c59b7f2b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_without_hidden/result/rougail/01-redefine.yml
@@ -0,0 +1,4 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+version: '1.0'
diff --git a/tests/dictionaries_old/51redefine_without_hidden/tiramisu/base.py b/tests/dictionaries_old/51redefine_without_hidden/tiramisu/base.py
new file mode 100644
index 000000000..6fb051c88
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_without_hidden/tiramisu/base.py
@@ -0,0 +1,29 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="Redefine hidden", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51redefine_without_hidden/tiramisu/multi.py b/tests/dictionaries_old/51redefine_without_hidden/tiramisu/multi.py
new file mode 100644
index 000000000..a6e2a62b5
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_without_hidden/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="Redefine hidden", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="Redefine hidden", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/51redefine_without_hidden/xml/00-base.xml b/tests/dictionaries_old/51redefine_without_hidden/xml/00-base.xml
new file mode 100644
index 000000000..747f91891
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_without_hidden/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_without_hidden/xml/01-redefine.xml b/tests/dictionaries_old/51redefine_without_hidden/xml/01-redefine.xml
new file mode 100644
index 000000000..8e94f5212
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_without_hidden/xml/01-redefine.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/51redefine_without_hidden/yml/00-base.yml b/tests/dictionaries_old/51redefine_without_hidden/yml/00-base.yml
new file mode 100644
index 000000000..de998be8b
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_without_hidden/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Redefine hidden
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/51redefine_without_hidden/yml/01-redefine.yml b/tests/dictionaries_old/51redefine_without_hidden/yml/01-redefine.yml
new file mode 100644
index 000000000..55007491c
--- /dev/null
+++ b/tests/dictionaries_old/51redefine_without_hidden/yml/01-redefine.yml
@@ -0,0 +1,8 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
diff --git a/tests/dictionaries_old/51remove_fill/00-base.xml b/tests/dictionaries_old/51remove_fill/00-base.xml
deleted file mode 100644
index d99bdfb07..000000000
--- a/tests/dictionaries_old/51remove_fill/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- oui
-
-
- non
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/51remove_fill/01-base.xml b/tests/dictionaries_old/51remove_fill/01-base.xml
deleted file mode 100644
index f404ec788..000000000
--- a/tests/dictionaries_old/51remove_fill/01-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/51remove_fill/result/rougail/00-base.yml b/tests/dictionaries_old/51remove_fill/result/rougail/00-base.yml
new file mode 100644
index 000000000..ab500946e
--- /dev/null
+++ b/tests/dictionaries_old/51remove_fill/result/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default:
+ type: jinja
+ jinja: '{{ rougail.general.mode_conteneur_actif1 | calc_val }}'
+ mode_conteneur_actif1:
+ type: string
+ description: No change
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/51remove_fill/result/rougail/01-base.yml b/tests/dictionaries_old/51remove_fill/result/rougail/01-base.yml
new file mode 100644
index 000000000..7c59b7f2b
--- /dev/null
+++ b/tests/dictionaries_old/51remove_fill/result/rougail/01-base.yml
@@ -0,0 +1,4 @@
+general:
+ mode_conteneur_actif:
+ redefine: true
+version: '1.0'
diff --git a/tests/dictionaries_old/51remove_fill/tiramisu/base.py b/tests/dictionaries_old/51remove_fill/tiramisu/base.py
index a6a6a6f2b..158f117b5 100644
--- a/tests/dictionaries_old/51remove_fill/tiramisu/base.py
+++ b/tests/dictionaries_old/51remove_fill/tiramisu/base.py
@@ -1,18 +1,60 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['rougail.general.mode_conteneur_actif'] = "{{ rougail.general.mode_conteneur_actif1 | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_4 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(rougail.general.mode_conteneur_actif), '__internal_type': ParamValue(string), '__internal_multi': ParamValue(False), 'rougail.general.mode_conteneur_actif1': ParamOption(option_4)})), properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/51remove_fill/tiramisu/multi.py b/tests/dictionaries_old/51remove_fill/tiramisu/multi.py
new file mode 100644
index 000000000..1e6d06443
--- /dev/null
+++ b/tests/dictionaries_old/51remove_fill/tiramisu/multi.py
@@ -0,0 +1,36 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="1", doc="1", children=[optiondescription_8])
+option_5 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"mandatory", "normal"}))
+option_6 = StrOption(name="mode_conteneur_actif1", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="general", doc="general", children=[option_5, option_6], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="2", doc="2", children=[optiondescription_10])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_7, optiondescription_9])
diff --git a/tests/dictionaries_old/51remove_fill/xml/00-base.xml b/tests/dictionaries_old/51remove_fill/xml/00-base.xml
new file mode 100644
index 000000000..1c504605c
--- /dev/null
+++ b/tests/dictionaries_old/51remove_fill/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ oui
+
+
+ non
+
+
+
+
+
+ mode_conteneur_actif1
+ mode_conteneur_actif
+
+
+
diff --git a/tests/dictionaries_old/51remove_fill/xml/01-base.xml b/tests/dictionaries_old/51remove_fill/xml/01-base.xml
new file mode 100644
index 000000000..88d820af8
--- /dev/null
+++ b/tests/dictionaries_old/51remove_fill/xml/01-base.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/51remove_fill/yml/00-base.yml b/tests/dictionaries_old/51remove_fill/yml/00-base.yml
new file mode 100644
index 000000000..efdaeea96
--- /dev/null
+++ b/tests/dictionaries_old/51remove_fill/yml/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: oui
+ - name: mode_conteneur_actif1
+ type: string
+ description: No change
+ value:
+ - text: non
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - type: variable
+ text: mode_conteneur_actif1
+ target:
+ - text: mode_conteneur_actif
diff --git a/tests/dictionaries_old/51remove_fill/yml/01-base.yml b/tests/dictionaries_old/51remove_fill/yml/01-base.yml
new file mode 100644
index 000000000..144cc714d
--- /dev/null
+++ b/tests/dictionaries_old/51remove_fill/yml/01-base.yml
@@ -0,0 +1,9 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ redefine: true
+ remove_fill: true
diff --git a/tests/dictionaries_old/52exists_redefine/00-base.xml b/tests/dictionaries_old/52exists_redefine/00-base.xml
deleted file mode 100644
index 192bba8ab..000000000
--- a/tests/dictionaries_old/52exists_redefine/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/52exists_redefine/01-base.xml b/tests/dictionaries_old/52exists_redefine/01-base.xml
deleted file mode 100644
index 793e4d2eb..000000000
--- a/tests/dictionaries_old/52exists_redefine/01-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/52exists_redefine/result/rougail/00-base.yml b/tests/dictionaries_old/52exists_redefine/result/rougail/00-base.yml
new file mode 100644
index 000000000..2ae1c0b3c
--- /dev/null
+++ b/tests/dictionaries_old/52exists_redefine/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ type: string
+ description: Description
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/52exists_redefine/result/rougail/01-base.yml b/tests/dictionaries_old/52exists_redefine/result/rougail/01-base.yml
new file mode 100644
index 000000000..0d15d53d4
--- /dev/null
+++ b/tests/dictionaries_old/52exists_redefine/result/rougail/01-base.yml
@@ -0,0 +1,7 @@
+general:
+ mode_conteneur_actif:
+ description: New description
+ exists: false
+ redefine: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/52exists_redefine/tiramisu/base.py b/tests/dictionaries_old/52exists_redefine/tiramisu/base.py
index b1ec84995..c93112328 100644
--- a/tests/dictionaries_old/52exists_redefine/tiramisu/base.py
+++ b/tests/dictionaries_old/52exists_redefine/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="New description", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="Description", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries_old/52exists_redefine/tiramisu/multi.py b/tests/dictionaries_old/52exists_redefine/tiramisu/multi.py
new file mode 100644
index 000000000..3d05a8281
--- /dev/null
+++ b/tests/dictionaries_old/52exists_redefine/tiramisu/multi.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="New description", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="general", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="1", doc="1", children=[optiondescription_6])
+option_4 = StrOption(name="mode_conteneur_actif", doc="New description", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_8 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_7 = OptionDescription(name="2", doc="2", children=[optiondescription_8])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_5, optiondescription_7])
diff --git a/tests/dictionaries_old/52exists_redefine/xml/00-base.xml b/tests/dictionaries_old/52exists_redefine/xml/00-base.xml
new file mode 100644
index 000000000..8f66f70b8
--- /dev/null
+++ b/tests/dictionaries_old/52exists_redefine/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ oui
+
+
+
+
diff --git a/tests/dictionaries_old/52exists_redefine/xml/01-base.xml b/tests/dictionaries_old/52exists_redefine/xml/01-base.xml
new file mode 100644
index 000000000..8ad4e8617
--- /dev/null
+++ b/tests/dictionaries_old/52exists_redefine/xml/01-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/52exists_redefine/yml/00-base.yml b/tests/dictionaries_old/52exists_redefine/yml/00-base.yml
new file mode 100644
index 000000000..74bb4d9a7
--- /dev/null
+++ b/tests/dictionaries_old/52exists_redefine/yml/00-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: Description
+ hidden: true
+ value:
+ - text: oui
diff --git a/tests/dictionaries_old/52exists_redefine/yml/01-base.yml b/tests/dictionaries_old/52exists_redefine/yml/01-base.yml
new file mode 100644
index 000000000..8695844ce
--- /dev/null
+++ b/tests/dictionaries_old/52exists_redefine/yml/01-base.yml
@@ -0,0 +1,12 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ description: New description
+ exists: false
+ redefine: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60action_external/00-base.xml b/tests/dictionaries_old/60action_external/00-base.xml
deleted file mode 100644
index 849130906..000000000
--- a/tests/dictionaries_old/60action_external/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60action_external/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60action_external/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 5beae659c..000000000
--- a/tests/dictionaries_old/60action_external/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- 0
-
-
- 0
-
-
-
-
-
- http://localhost/
- extra.test.calc_url
-
-
-
diff --git a/tests/dictionaries_old/60action_external/result/extra/00-base.yml b/tests/dictionaries_old/60action_external/result/extra/00-base.yml
new file mode 100644
index 000000000..0019b91e9
--- /dev/null
+++ b/tests/dictionaries_old/60action_external/result/extra/00-base.yml
@@ -0,0 +1,13 @@
+test:
+ delay:
+ type: number
+ description: délai en minutes avant lancement
+ default: 0
+ calc_url:
+ type: web_address
+ description: domain
+ hidden: true
+ default:
+ type: jinja
+ jinja: '{{ "http://localhost/" | calc_val }}'
+version: '1.0'
diff --git a/tests/dictionaries_old/60action_external/result/rougail/00-base.yml b/tests/dictionaries_old/60action_external/result/rougail/00-base.yml
new file mode 100644
index 000000000..1085cc1cc
--- /dev/null
+++ b/tests/dictionaries_old/60action_external/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60action_external/tiramisu/base.py b/tests/dictionaries_old/60action_external/tiramisu/base.py
index 10e2b1c50..6e3d76199 100644
--- a/tests/dictionaries_old/60action_external/tiramisu/base.py
+++ b/tests/dictionaries_old/60action_external/tiramisu/base.py
@@ -1,21 +1,63 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['extra.test.calc_url'] = "{{ \"http://localhost/\" | calc_val }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_6 = IntOption(name="delay", doc="délai en minutes avant lancement", default=0, properties=frozenset({"mandatory", "normal"}))
-option_7 = URLOption(name="calc_url", doc="domain", default=Calculation(func.calc_val, Params((ParamValue("http://localhost/")))), allow_ip=True, allow_without_dot=True, properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_7], properties=frozenset({"normal"}))
-option_4 = OptionDescription(name="extra", doc="extra", children=[option_5])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+option_7 = URLOption(name="calc_url", doc="domain", default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(extra.test.calc_url), '__internal_type': ParamValue(web_address), '__internal_multi': ParamValue(False)})), allow_ip=True, allow_without_dot=True, properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_5 = OptionDescription(name="test", doc="test", children=[option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="extra", doc="extra", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries_old/60action_external/tiramisu/multi.py b/tests/dictionaries_old/60action_external/tiramisu/multi.py
new file mode 100644
index 000000000..377038444
--- /dev/null
+++ b/tests/dictionaries_old/60action_external/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_4 = IntOption(name="delay", doc="délai en minutes avant lancement", default=0, properties=frozenset({"mandatory", "normal"}))
+option_5 = URLOption(name="calc_url", doc="domain", default=Calculation(func.calc_val, Params((ParamValue("http://localhost/")))), allow_ip=True, allow_without_dot=True, properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_3 = OptionDescription(name="test", doc="test", children=[option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="extra", doc="extra", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12, optiondescription_13])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="général", children=[option_7], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_9 = IntOption(name="delay", doc="délai en minutes avant lancement", default=0, properties=frozenset({"mandatory", "normal"}))
+option_10 = URLOption(name="calc_url", doc="domain", default=Calculation(func.calc_val, Params((ParamValue("http://localhost/")))), allow_ip=True, allow_without_dot=True, properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "normal"}))
+optiondescription_8 = OptionDescription(name="test", doc="test", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="extra", doc="extra", children=[optiondescription_8], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="2", doc="2", children=[optiondescription_15, optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_14])
diff --git a/tests/dictionaries_old/60action_external/xml/00-base.xml b/tests/dictionaries_old/60action_external/xml/00-base.xml
new file mode 100644
index 000000000..f0576995a
--- /dev/null
+++ b/tests/dictionaries_old/60action_external/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60action_external/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60action_external/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..f95a3843e
--- /dev/null
+++ b/tests/dictionaries_old/60action_external/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+
+
+
+ http://localhost/
+ extra.test.calc_url
+
+
+
diff --git a/tests/dictionaries_old/60action_external/yml/00-base.yml b/tests/dictionaries_old/60action_external/yml/00-base.yml
new file mode 100644
index 000000000..862ba9941
--- /dev/null
+++ b/tests/dictionaries_old/60action_external/yml/00-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60action_external/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60action_external/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..14fab360e
--- /dev/null
+++ b/tests/dictionaries_old/60action_external/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+variables:
+- family:
+ - name: test
+ variables:
+ - variable:
+ - name: delay
+ type: number
+ description: "d\xE9lai en minutes avant lancement"
+ value:
+ - text: 0
+ - name: calc_url
+ type: web_address
+ description: domain
+ hidden: true
+ value:
+ - text: 0
+constraints:
+- fill:
+ - name: calc_val
+ param:
+ - text: http://localhost/
+ target:
+ - text: extra.test.calc_url
diff --git a/tests/dictionaries/70container_filesmulti/__init__.py b/tests/dictionaries_old/60extra_basic/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_filesmulti/__init__.py
rename to tests/dictionaries_old/60extra_basic/__init__.py
diff --git a/tests/dictionaries_old/60extra_basic/makedict/after.json b/tests/dictionaries_old/60extra_basic/makedict/after.json
new file mode 100644
index 000000000..383ce0931
--- /dev/null
+++ b/tests/dictionaries_old/60extra_basic/makedict/after.json
@@ -0,0 +1,22 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.activer_ejabberd": {
+ "owner": "default",
+ "value": "non"
+ },
+ "extra.ejabberd.description": {
+ "owner": "default",
+ "value": "Exportation de la base de ejabberd"
+ },
+ "extra.ejabberd.day": {
+ "owner": "default",
+ "value": null
+ },
+ "extra.ejabberd.mode": {
+ "owner": "default",
+ "value": "pre"
+ }
+}
diff --git a/tests/dictionaries_old/60extra_basic/makedict/base.json b/tests/dictionaries_old/60extra_basic/makedict/base.json
new file mode 100644
index 000000000..242a818de
--- /dev/null
+++ b/tests/dictionaries_old/60extra_basic/makedict/base.json
@@ -0,0 +1,7 @@
+{
+ "rougail.general.mode_conteneur_actif": "non",
+ "rougail.general.activer_ejabberd": "non",
+ "extra.ejabberd.description": "Exportation de la base de ejabberd",
+ "extra.ejabberd.day": null,
+ "extra.ejabberd.mode": "pre"
+}
diff --git a/tests/dictionaries_old/60extra_basic/makedict/before.json b/tests/dictionaries_old/60extra_basic/makedict/before.json
new file mode 100644
index 000000000..383ce0931
--- /dev/null
+++ b/tests/dictionaries_old/60extra_basic/makedict/before.json
@@ -0,0 +1,22 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.activer_ejabberd": {
+ "owner": "default",
+ "value": "non"
+ },
+ "extra.ejabberd.description": {
+ "owner": "default",
+ "value": "Exportation de la base de ejabberd"
+ },
+ "extra.ejabberd.day": {
+ "owner": "default",
+ "value": null
+ },
+ "extra.ejabberd.mode": {
+ "owner": "default",
+ "value": "pre"
+ }
+}
diff --git a/tests/dictionaries_old/60extra_basic/result/extra/00-base.yml b/tests/dictionaries_old/60extra_basic/result/extra/00-base.yml
new file mode 100644
index 000000000..7f5173001
--- /dev/null
+++ b/tests/dictionaries_old/60extra_basic/result/extra/00-base.yml
@@ -0,0 +1,25 @@
+ejabberd:
+ description:
+ type: string
+ mode: basic
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_basic/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_basic/result/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_basic/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_basic/tiramisu/base.py b/tests/dictionaries_old/60extra_basic/tiramisu/base.py
new file mode 100644
index 000000000..be87bc112
--- /dev/null
+++ b/tests/dictionaries_old/60extra_basic/tiramisu/base.py
@@ -0,0 +1,65 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['extra.ejabberd.day'] = "{{ \"non\" | calc_multi_condition(condition_1=__activer_ejabberd, match=\"none\", mismatch=\"daily\") }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_7 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"basic", "mandatory"}))
+option_8 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(extra.ejabberd.day), '__internal_type': ParamValue(choice), '__internal_multi': ParamValue(False)})), properties=frozenset({"mandatory", "normal"}))
+option_9 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7, option_8, option_9], properties=frozenset({"basic"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_6], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries_old/60extra_basic/tiramisu/multi.py b/tests/dictionaries_old/60extra_basic/tiramisu/multi.py
new file mode 100644
index 000000000..1a6c830e4
--- /dev/null
+++ b/tests/dictionaries_old/60extra_basic/tiramisu/multi.py
@@ -0,0 +1,46 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_5 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"basic", "mandatory"}))
+option_6 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_3, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_7 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_5, option_6, option_7], properties=frozenset({"basic"}))
+optiondescription_17 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"basic"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16, optiondescription_17])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="général", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_19 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+option_12 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"basic", "mandatory"}))
+option_13 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_10, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_14 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_11 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_12, option_13, option_14], properties=frozenset({"basic"}))
+optiondescription_20 = OptionDescription(name="extra", doc="extra", children=[optiondescription_11], properties=frozenset({"basic"}))
+optiondescription_18 = OptionDescription(name="2", doc="2", children=[optiondescription_19, optiondescription_20])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_18])
diff --git a/tests/dictionaries_old/60extra_basic/xml/00-base.xml b/tests/dictionaries_old/60extra_basic/xml/00-base.xml
new file mode 100644
index 000000000..cb25aa750
--- /dev/null
+++ b/tests/dictionaries_old/60extra_basic/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_basic/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_basic/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..6c643bda5
--- /dev/null
+++ b/tests/dictionaries_old/60extra_basic/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ Exportation de la base de ejabberd
+
+
+ none
+ daily
+ weekly
+ monthly
+ none
+
+
+ pre
+ pre
+ post
+
+
+
+
+
+ non
+ activer_ejabberd
+ none
+ daily
+ extra.ejabberd.day
+
+
+
diff --git a/tests/dictionaries_old/60extra_basic/yml/00-base.yml b/tests/dictionaries_old/60extra_basic/yml/00-base.yml
new file mode 100644
index 000000000..f1fcfb050
--- /dev/null
+++ b/tests/dictionaries_old/60extra_basic/yml/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_basic/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_basic/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..91773cf92
--- /dev/null
+++ b/tests/dictionaries_old/60extra_basic/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,44 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - variable:
+ - name: description
+ type: string
+ mode: basic
+ value:
+ - text: Exportation de la base de ejabberd
+ - name: day
+ type: choice
+ mandatory: true
+ choice:
+ - text: none
+ - text: daily
+ - text: weekly
+ - text: monthly
+ value:
+ - text: none
+ - name: mode
+ type: choice
+ mandatory: true
+ value:
+ - text: pre
+ choice:
+ - text: pre
+ - text: post
+constraints:
+- fill:
+ - name: calc_multi_condition
+ param:
+ - text: non
+ - type: variable
+ name: condition_1
+ propertyerror: false
+ text: activer_ejabberd
+ - name: match
+ text: none
+ - name: mismatch
+ text: daily
+ target:
+ - text: extra.ejabberd.day
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/00-base.xml b/tests/dictionaries_old/60extra_externalspacecondition/00-base.xml
deleted file mode 100644
index cd3769c6f..000000000
--- a/tests/dictionaries_old/60extra_externalspacecondition/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- no
-
-
- no
-
-
- False
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_externalspacecondition/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 52089bf34..000000000
--- a/tests/dictionaries_old/60extra_externalspacecondition/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
- pre
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/extra_dirs/extra1/00-base.xml b/tests/dictionaries_old/60extra_externalspacecondition/extra_dirs/extra1/00-base.xml
deleted file mode 100644
index f5a5d7091..000000000
--- a/tests/dictionaries_old/60extra_externalspacecondition/extra_dirs/extra1/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- test
-
-
-
-
-
- non
- extra1.external
-
-
-
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/result/extra/00-base.yml b/tests/dictionaries_old/60extra_externalspacecondition/result/extra/00-base.yml
new file mode 100644
index 000000000..47d02767d
--- /dev/null
+++ b/tests/dictionaries_old/60extra_externalspacecondition/result/extra/00-base.yml
@@ -0,0 +1,21 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default: none
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/result/extra1/00-base.yml b/tests/dictionaries_old/60extra_externalspacecondition/result/extra1/00-base.yml
new file mode 100644
index 000000000..91eae1a55
--- /dev/null
+++ b/tests/dictionaries_old/60extra_externalspacecondition/result/extra1/00-base.yml
@@ -0,0 +1,9 @@
+external:
+ description:
+ type: string
+ default: test
+ disabled:
+ type: jinja
+ jinja: '{% if __extra.ejabberd.description == "non" %}true{% else %}false{% endif
+ %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_externalspacecondition/result/rougail/00-base.yml
new file mode 100644
index 000000000..c166f473e
--- /dev/null
+++ b/tests/dictionaries_old/60extra_externalspacecondition/result/rougail/00-base.yml
@@ -0,0 +1,12 @@
+general:
+ description: général
+ my_var:
+ default: 'no'
+ my_var1:
+ hidden: true
+ default: 'no'
+ server_deployed:
+ type: boolean
+ hidden: true
+ default: false
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/tiramisu/base.py b/tests/dictionaries_old/60extra_externalspacecondition/tiramisu/base.py
index 55012c1ad..551e9080e 100644
--- a/tests/dictionaries_old/60extra_externalspacecondition/tiramisu/base.py
+++ b/tests/dictionaries_old/60extra_externalspacecondition/tiramisu/base.py
@@ -1,27 +1,39 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_5 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"hidden", "mandatory", "normal"}))
-option_3 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_5, todict=True, notraisepropertyerror=True), 'expected': ParamValue(True)}))}))
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="my_var1", doc="my_var1", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4, option_5], properties=frozenset({"basic"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_5 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
option_9 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default="none", properties=frozenset({"mandatory", "normal"}))
option_10 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
-option_7 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_8, option_9, option_10], properties=frozenset({"normal"}))
-option_6 = OptionDescription(name="extra", doc="extra", children=[option_7])
+optiondescription_7 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_8, option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="extra", doc="extra", children=[optiondescription_7], properties=frozenset({"normal"}))
option_13 = StrOption(name="description", doc="description", default="test", properties=frozenset({"mandatory", "normal"}))
-option_12 = OptionDescription(name="external", doc="external", children=[option_13], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_8, todict=True, notraisepropertyerror=True), 'expected': ParamValue("non")}))}))
-option_11 = OptionDescription(name="extra1", doc="extra1", children=[option_12])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6, option_11])
+optiondescription_12 = OptionDescription(name="external", doc="external", children=[option_13], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="extra1", doc="extra1", children=[optiondescription_12], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6, optiondescription_11])
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/tiramisu/multi.py b/tests/dictionaries_old/60extra_externalspacecondition/tiramisu/multi.py
new file mode 100644
index 000000000..d0b77a119
--- /dev/null
+++ b/tests/dictionaries_old/60extra_externalspacecondition/tiramisu/multi.py
@@ -0,0 +1,54 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_4 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"hidden", "mandatory", "normal"}))
+option_2 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_4, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
+option_3 = StrOption(name="my_var1", doc="my_var1", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
+optiondescription_22 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"basic"}))
+option_6 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_7 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default="none", properties=frozenset({"mandatory", "normal"}))
+option_8 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_23 = OptionDescription(name="extra", doc="extra", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_10 = StrOption(name="description", doc="description", default="test", properties=frozenset({"mandatory", "normal"}))
+optiondescription_9 = OptionDescription(name="external", doc="external", children=[option_10], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_6, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_24 = OptionDescription(name="extra1", doc="extra1", children=[optiondescription_9], properties=frozenset({"normal"}))
+optiondescription_21 = OptionDescription(name="1", doc="1", children=[optiondescription_22, optiondescription_23, optiondescription_24])
+option_14 = BoolOption(name="server_deployed", doc="server_deployed", default=False, properties=frozenset({"hidden", "mandatory", "normal"}))
+option_12 = StrOption(name="my_var", doc="my_var", default="no", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_14, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
+option_13 = StrOption(name="my_var1", doc="my_var1", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_11 = OptionDescription(name="general", doc="général", children=[option_12, option_13, option_14], properties=frozenset({"basic"}))
+optiondescription_26 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_11], properties=frozenset({"basic"}))
+option_16 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_17 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default="none", properties=frozenset({"mandatory", "normal"}))
+option_18 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_15 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_16, option_17, option_18], properties=frozenset({"normal"}))
+optiondescription_27 = OptionDescription(name="extra", doc="extra", children=[optiondescription_15], properties=frozenset({"normal"}))
+option_20 = StrOption(name="description", doc="description", default="test", properties=frozenset({"mandatory", "normal"}))
+optiondescription_19 = OptionDescription(name="external", doc="external", children=[option_20], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_16, notraisepropertyerror=True), 'expected': ParamValue("non")}), func.calc_value_property_help)}))
+optiondescription_28 = OptionDescription(name="extra1", doc="extra1", children=[optiondescription_19], properties=frozenset({"normal"}))
+optiondescription_25 = OptionDescription(name="2", doc="2", children=[optiondescription_26, optiondescription_27, optiondescription_28])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_21, optiondescription_25])
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/xml/00-base.xml b/tests/dictionaries_old/60extra_externalspacecondition/xml/00-base.xml
new file mode 100644
index 000000000..4eb8ae638
--- /dev/null
+++ b/tests/dictionaries_old/60extra_externalspacecondition/xml/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ no
+
+
+ no
+
+
+ False
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_externalspacecondition/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..c6d59a192
--- /dev/null
+++ b/tests/dictionaries_old/60extra_externalspacecondition/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+ Exportation de la base de ejabberd
+
+
+ none
+ daily
+ weekly
+ monthly
+ none
+
+
+ pre
+ pre
+ post
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/xml/extra_dirs/extra1/00-base.xml b/tests/dictionaries_old/60extra_externalspacecondition/xml/extra_dirs/extra1/00-base.xml
new file mode 100644
index 000000000..5eb7b87eb
--- /dev/null
+++ b/tests/dictionaries_old/60extra_externalspacecondition/xml/extra_dirs/extra1/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ test
+
+
+
+
+
+ non
+ extra1.external
+
+
+
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/yml/00-base.yml b/tests/dictionaries_old/60extra_externalspacecondition/yml/00-base.yml
new file mode 100644
index 000000000..514a33f68
--- /dev/null
+++ b/tests/dictionaries_old/60extra_externalspacecondition/yml/00-base.yml
@@ -0,0 +1,20 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: my_var
+ auto_freeze: true
+ value:
+ - text: 'no'
+ - name: my_var1
+ hidden: true
+ value:
+ - text: 'no'
+ - name: server_deployed
+ type: boolean
+ hidden: true
+ value:
+ - text: false
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_externalspacecondition/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..6722541d2
--- /dev/null
+++ b/tests/dictionaries_old/60extra_externalspacecondition/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,28 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - variable:
+ - name: description
+ type: string
+ value:
+ - text: Exportation de la base de ejabberd
+ - name: day
+ type: choice
+ mandatory: true
+ choice:
+ - text: none
+ - text: daily
+ - text: weekly
+ - text: monthly
+ value:
+ - text: none
+ - name: mode
+ type: choice
+ mandatory: true
+ value:
+ - text: pre
+ choice:
+ - text: pre
+ - text: post
diff --git a/tests/dictionaries_old/60extra_externalspacecondition/yml/extra_dirs/extra1/00-base.yml b/tests/dictionaries_old/60extra_externalspacecondition/yml/extra_dirs/extra1/00-base.yml
new file mode 100644
index 000000000..3cdccee77
--- /dev/null
+++ b/tests/dictionaries_old/60extra_externalspacecondition/yml/extra_dirs/extra1/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- family:
+ - name: external
+ variables:
+ - variable:
+ - name: description
+ type: string
+ value:
+ - text: test
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: extra.ejabberd.description
+ param:
+ - text: non
+ target:
+ - type: family
+ text: extra1.external
diff --git a/tests/dictionaries_old/60extra_group/00-base.xml b/tests/dictionaries_old/60extra_group/00-base.xml
deleted file mode 100644
index 7350eda1c..000000000
--- a/tests/dictionaries_old/60extra_group/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- /etc/mailname
- /etc/mailname2
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_group/__init__.py b/tests/dictionaries_old/60extra_group/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/60extra_group/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_group/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 91f69946d..000000000
--- a/tests/dictionaries_old/60extra_group/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- test
-
-
- pre
-
-
-
-
-
- mode
-
-
-
diff --git a/tests/dictionaries_old/60extra_group/makedict/after.json b/tests/dictionaries_old/60extra_group/makedict/after.json
deleted file mode 100644
index 0295b3e42..000000000
--- a/tests/dictionaries_old/60extra_group/makedict/after.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.activer_ejabberd": {
- "owner": "default",
- "value": "non"
- },
- "extra.ejabberd.description.description": {
- "owner": "default",
- "value": [
- "test"
- ]
- },
- "extra.ejabberd.description.mode": {
- "owner": [
- "default"
- ],
- "value": [
- "pre"
- ]
- },
- "services.test.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.files.mailname2.name": {
- "owner": "default",
- "value": "/etc/mailname2"
- },
- "services.test.files.mailname2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries_old/60extra_group/makedict/base.json b/tests/dictionaries_old/60extra_group/makedict/base.json
deleted file mode 100644
index b67b1029d..000000000
--- a/tests/dictionaries_old/60extra_group/makedict/base.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "rougail.general.activer_ejabberd": "non",
- "extra.ejabberd.description.description": [
- {
- "extra.ejabberd.description.description": "test",
- "extra.ejabberd.description.mode": "pre"
- }
- ],
- "services.test.files.mailname.name": "/etc/mailname",
- "services.test.files.mailname.activate": true,
- "services.test.files.mailname2.name": "/etc/mailname2",
- "services.test.files.mailname2.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
-}
diff --git a/tests/dictionaries_old/60extra_group/makedict/before.json b/tests/dictionaries_old/60extra_group/makedict/before.json
deleted file mode 100644
index 0295b3e42..000000000
--- a/tests/dictionaries_old/60extra_group/makedict/before.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.activer_ejabberd": {
- "owner": "default",
- "value": "non"
- },
- "extra.ejabberd.description.description": {
- "owner": "default",
- "value": [
- "test"
- ]
- },
- "extra.ejabberd.description.mode": {
- "owner": [
- "default"
- ],
- "value": [
- "pre"
- ]
- },
- "services.test.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.files.mailname2.name": {
- "owner": "default",
- "value": "/etc/mailname2"
- },
- "services.test.files.mailname2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries_old/60extra_group/result/etc/mailname b/tests/dictionaries_old/60extra_group/result/etc/mailname
deleted file mode 100644
index dc34cc5b0..000000000
--- a/tests/dictionaries_old/60extra_group/result/etc/mailname
+++ /dev/null
@@ -1,11 +0,0 @@
-contain test
-1
-leader: test
-follower: pre
-supeq
-sup
-diff
-testpre
-pretest
-leader2: test
-follower2: pre
diff --git a/tests/dictionaries_old/60extra_group/result/etc/mailname2 b/tests/dictionaries_old/60extra_group/result/etc/mailname2
deleted file mode 100644
index dc34cc5b0..000000000
--- a/tests/dictionaries_old/60extra_group/result/etc/mailname2
+++ /dev/null
@@ -1,11 +0,0 @@
-contain test
-1
-leader: test
-follower: pre
-supeq
-sup
-diff
-testpre
-pretest
-leader2: test
-follower2: pre
diff --git a/tests/dictionaries_old/60extra_group/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/60extra_group/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 7a8d00f42..000000000
--- a/tests/dictionaries_old/60extra_group/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
-z /etc/mailname - - - - -
-C /etc/mailname2 0644 root root - /usr/local/lib/etc/mailname2
-z /etc/mailname2 - - - - -
diff --git a/tests/dictionaries_old/60extra_group/tiramisu/base.py b/tests/dictionaries_old/60extra_group/tiramisu/base.py
deleted file mode 100644
index d7619f5eb..000000000
--- a/tests/dictionaries_old/60extra_group/tiramisu/base.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
-try:
- from tiramisu4 import *
-except:
- from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_8 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory"}))
-option_9 = StrOption(name="mode", doc="mode", multi=True, default_multi="pre", properties=frozenset({"mandatory", "normal"}))
-option_7 = Leadership(name="description", doc="description", children=[option_8, option_9], properties=frozenset({"normal"}))
-option_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7], properties=frozenset({"normal"}))
-option_5 = OptionDescription(name="extra", doc="extra", children=[option_6])
-option_14 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_15 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = OptionDescription(name="mailname", doc="mailname", children=[option_14, option_15])
-option_13.impl_set_information('source', "mailname")
-option_17 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
-option_18 = BoolOption(name="activate", doc="activate", default=True)
-option_16 = OptionDescription(name="mailname2", doc="mailname2", children=[option_17, option_18])
-option_16.impl_set_information('engine', "jinja")
-option_16.impl_set_information('source', "mailname2")
-option_12 = OptionDescription(name="files", doc="files", children=[option_13, option_16])
-option_19 = BoolOption(name="activate", doc="activate", default=True)
-option_20 = BoolOption(name="manage", doc="manage", default=True)
-option_11 = OptionDescription(name="test", doc="test", children=[option_12, option_19, option_20])
-option_10 = OptionDescription(name="services", doc="services", children=[option_11], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5, option_10])
diff --git a/tests/dictionaries_old/60extra_group/tmpl/mailname b/tests/dictionaries_old/60extra_group/tmpl/mailname
deleted file mode 100644
index de1500e6c..000000000
--- a/tests/dictionaries_old/60extra_group/tmpl/mailname
+++ /dev/null
@@ -1,35 +0,0 @@
-%if 'test' in %%extra.ejabberd.description
-contain test
-%end if
-%%len(%%extra.ejabberd.description)
-%if 'a' in %%extra.ejabberd.description
-contain a
-%end if
-%for %%description in %%extra.ejabberd.description
-leader: %%description
-follower: %%description.mode
-%if %%description <= %%description.mode
-infeq
-%end if
-%if %%description >= %%description.mode
-supeq
-%end if
-%if %%description < %%description.mode
-inf
-%end if
-%if %%description > %%description.mode
-sup
-%end if
-%if %%description == %%description.mode
-eq
-%end if
-%if %%description != %%description.mode
-diff
-%end if
-%set %%var = %%description + %%description.mode
-%%var
-%set %%var = %%description.mode + %%description
-%%var
-%end for
-leader2: %%extra.ejabberd.description[0]
-follower2: %%extra.ejabberd.description[0].mode
diff --git a/tests/dictionaries_old/60extra_group/tmpl/mailname2 b/tests/dictionaries_old/60extra_group/tmpl/mailname2
deleted file mode 100644
index 589c548e7..000000000
--- a/tests/dictionaries_old/60extra_group/tmpl/mailname2
+++ /dev/null
@@ -1,33 +0,0 @@
-{% if 'test' in extra.ejabberd.description -%}
-contain test
-{% endif -%}
-{{ extra.ejabberd.description|length }}
-{% if 'a' in extra.ejabberd.description -%}
-contain a
-{% endif -%}
-{% for description in extra.ejabberd.description -%}
-leader: {{ description }}
-follower: {{ description.mode }}
-{% if description <= description.mode -%}
-infeq
-{% endif -%}
-{% if description >= description.mode -%}
-supeq
-{% endif -%}
-{% if description < description.mode -%}
-inf
-{% endif -%}
-{% if description > description.mode -%}
-sup
-{% endif -%}
-{% if description == description.mode -%}
-eq
-{% endif -%}
-{% if description != description.mode -%}
-diff
-{% endif -%}
-{{ description + description.mode }}
-{{ description.mode + description }}
-{% endfor -%}
-leader2: {{ extra.ejabberd.description[0] }}
-follower2: {{ extra.ejabberd.description[0].mode }}
diff --git a/tests/dictionaries_old/60extra_group_name/00-base.xml b/tests/dictionaries_old/60extra_group_name/00-base.xml
deleted file mode 100644
index 7350eda1c..000000000
--- a/tests/dictionaries_old/60extra_group_name/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- /etc/mailname
- /etc/mailname2
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_group_name/__init__.py b/tests/dictionaries_old/60extra_group_name/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/60extra_group_name/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_group_name/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 8b03d0769..000000000
--- a/tests/dictionaries_old/60extra_group_name/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- test
-
-
- pre
-
-
-
-
-
- mode
-
-
-
diff --git a/tests/dictionaries_old/60extra_group_name/makedict/after.json b/tests/dictionaries_old/60extra_group_name/makedict/after.json
deleted file mode 100644
index 706146a93..000000000
--- a/tests/dictionaries_old/60extra_group_name/makedict/after.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.activer_ejabberd": {
- "owner": "default",
- "value": "non"
- },
- "extra.ejabberd.new_name.description": {
- "owner": "default",
- "value": [
- "test"
- ]
- },
- "extra.ejabberd.new_name.mode": {
- "owner": [
- "default"
- ],
- "value": [
- "pre"
- ]
- },
- "services.test.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.files.mailname2.name": {
- "owner": "default",
- "value": "/etc/mailname2"
- },
- "services.test.files.mailname2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries_old/60extra_group_name/makedict/base.json b/tests/dictionaries_old/60extra_group_name/makedict/base.json
deleted file mode 100644
index 5e9f4d0fc..000000000
--- a/tests/dictionaries_old/60extra_group_name/makedict/base.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": "non",
- "rougail.general.activer_ejabberd": "non",
- "extra.ejabberd.new_name.description": [
- {
- "extra.ejabberd.new_name.description": "test",
- "extra.ejabberd.new_name.mode": "pre"
- }
- ],
- "services.test.files.mailname.name": "/etc/mailname",
- "services.test.files.mailname.activate": true,
- "services.test.files.mailname2.name": "/etc/mailname2",
- "services.test.files.mailname2.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
-}
diff --git a/tests/dictionaries_old/60extra_group_name/makedict/before.json b/tests/dictionaries_old/60extra_group_name/makedict/before.json
deleted file mode 100644
index 706146a93..000000000
--- a/tests/dictionaries_old/60extra_group_name/makedict/before.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "rougail.general.mode_conteneur_actif": {
- "owner": "default",
- "value": "non"
- },
- "rougail.general.activer_ejabberd": {
- "owner": "default",
- "value": "non"
- },
- "extra.ejabberd.new_name.description": {
- "owner": "default",
- "value": [
- "test"
- ]
- },
- "extra.ejabberd.new_name.mode": {
- "owner": [
- "default"
- ],
- "value": [
- "pre"
- ]
- },
- "services.test.files.mailname.name": {
- "owner": "default",
- "value": "/etc/mailname"
- },
- "services.test.files.mailname.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.files.mailname2.name": {
- "owner": "default",
- "value": "/etc/mailname2"
- },
- "services.test.files.mailname2.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.activate": {
- "owner": "default",
- "value": true
- },
- "services.test.manage": {
- "owner": "default",
- "value": true
- }
-}
diff --git a/tests/dictionaries_old/60extra_group_name/result/etc/mailname b/tests/dictionaries_old/60extra_group_name/result/etc/mailname
deleted file mode 100644
index dc34cc5b0..000000000
--- a/tests/dictionaries_old/60extra_group_name/result/etc/mailname
+++ /dev/null
@@ -1,11 +0,0 @@
-contain test
-1
-leader: test
-follower: pre
-supeq
-sup
-diff
-testpre
-pretest
-leader2: test
-follower2: pre
diff --git a/tests/dictionaries_old/60extra_group_name/result/etc/mailname2 b/tests/dictionaries_old/60extra_group_name/result/etc/mailname2
deleted file mode 100644
index dc34cc5b0..000000000
--- a/tests/dictionaries_old/60extra_group_name/result/etc/mailname2
+++ /dev/null
@@ -1,11 +0,0 @@
-contain test
-1
-leader: test
-follower: pre
-supeq
-sup
-diff
-testpre
-pretest
-leader2: test
-follower2: pre
diff --git a/tests/dictionaries_old/60extra_group_name/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/60extra_group_name/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 7a8d00f42..000000000
--- a/tests/dictionaries_old/60extra_group_name/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
-z /etc/mailname - - - - -
-C /etc/mailname2 0644 root root - /usr/local/lib/etc/mailname2
-z /etc/mailname2 - - - - -
diff --git a/tests/dictionaries_old/60extra_group_name/tiramisu/base.py b/tests/dictionaries_old/60extra_group_name/tiramisu/base.py
deleted file mode 100644
index b4ebf7692..000000000
--- a/tests/dictionaries_old/60extra_group_name/tiramisu/base.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
-try:
- from tiramisu4 import *
-except:
- from tiramisu import *
-option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_8 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory"}))
-option_9 = StrOption(name="mode", doc="mode", multi=True, default_multi="pre", properties=frozenset({"mandatory", "normal"}))
-option_7 = Leadership(name="new_name", doc="new_name", children=[option_8, option_9], properties=frozenset({"normal"}))
-option_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7], properties=frozenset({"normal"}))
-option_5 = OptionDescription(name="extra", doc="extra", children=[option_6])
-option_14 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_15 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = OptionDescription(name="mailname", doc="mailname", children=[option_14, option_15])
-option_13.impl_set_information('source', "mailname")
-option_17 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
-option_18 = BoolOption(name="activate", doc="activate", default=True)
-option_16 = OptionDescription(name="mailname2", doc="mailname2", children=[option_17, option_18])
-option_16.impl_set_information('engine', "jinja")
-option_16.impl_set_information('source', "mailname2")
-option_12 = OptionDescription(name="files", doc="files", children=[option_13, option_16])
-option_19 = BoolOption(name="activate", doc="activate", default=True)
-option_20 = BoolOption(name="manage", doc="manage", default=True)
-option_11 = OptionDescription(name="test", doc="test", children=[option_12, option_19, option_20])
-option_10 = OptionDescription(name="services", doc="services", children=[option_11], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5, option_10])
diff --git a/tests/dictionaries_old/60extra_group_name/tmpl/mailname b/tests/dictionaries_old/60extra_group_name/tmpl/mailname
deleted file mode 100644
index 23cbe10eb..000000000
--- a/tests/dictionaries_old/60extra_group_name/tmpl/mailname
+++ /dev/null
@@ -1,35 +0,0 @@
-%if 'test' in %%extra.ejabberd.new_name
-contain test
-%end if
-%%len(%%extra.ejabberd.new_name)
-%if 'a' in %%extra.ejabberd.new_name
-contain a
-%end if
-%for %%description in %%extra.ejabberd.new_name
-leader: %%description
-follower: %%description.mode
-%if %%description <= %%description.mode
-infeq
-%end if
-%if %%description >= %%description.mode
-supeq
-%end if
-%if %%description < %%description.mode
-inf
-%end if
-%if %%description > %%description.mode
-sup
-%end if
-%if %%description == %%description.mode
-eq
-%end if
-%if %%description != %%description.mode
-diff
-%end if
-%set %%var = %%description + %%description.mode
-%%var
-%set %%var = %%description.mode + %%description
-%%var
-%end for
-leader2: %%extra.ejabberd.new_name[0].description
-follower2: %%extra.ejabberd.new_name[0].mode
diff --git a/tests/dictionaries_old/60extra_group_name/tmpl/mailname2 b/tests/dictionaries_old/60extra_group_name/tmpl/mailname2
deleted file mode 100644
index 4860700df..000000000
--- a/tests/dictionaries_old/60extra_group_name/tmpl/mailname2
+++ /dev/null
@@ -1,33 +0,0 @@
-{% if 'test' in extra.ejabberd.new_name -%}
-contain test
-{% endif -%}
-{{ extra.ejabberd.new_name |length }}
-{% if 'a' in extra.ejabberd.new_name -%}
-contain a
-{% endif -%}
-{% for description in extra.ejabberd.new_name -%}
-leader: {{ description }}
-follower: {{ description.mode }}
-{% if description <= description.mode -%}
-infeq
-{% endif -%}
-{% if description >= description.mode -%}
-supeq
-{% endif -%}
-{% if description < description.mode -%}
-inf
-{% endif -%}
-{% if description > description.mode -%}
-sup
-{% endif -%}
-{% if description == description.mode -%}
-eq
-{% endif -%}
-{% if description != description.mode -%}
-diff
-{% endif -%}
-{{ description + description.mode }}
-{{ description.mode + description }}
-{% endfor -%}
-leader2: {{ extra.ejabberd.new_name[0].description }}
-follower2: {{ extra.ejabberd.new_name[0].mode }}
diff --git a/tests/dictionaries_old/60extra_help/00-base.xml b/tests/dictionaries_old/60extra_help/00-base.xml
deleted file mode 100644
index 5299dde1a..000000000
--- a/tests/dictionaries_old/60extra_help/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- /etc/mailname
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_help/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_help/extra_dirs/extra/00-base.xml
deleted file mode 100644
index dff47ea37..000000000
--- a/tests/dictionaries_old/60extra_help/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
- pre
-
-
-
-
-
- non
- activer_ejabberd
- none
- daily
- extra.ejabberd.day
-
-
-
diff --git a/tests/dictionaries_old/60extra_help/makedict/after.json b/tests/dictionaries_old/60extra_help/makedict/after.json
index 6cf540ce3..4d90e3cdf 100644
--- a/tests/dictionaries_old/60extra_help/makedict/after.json
+++ b/tests/dictionaries_old/60extra_help/makedict/after.json
@@ -19,19 +19,23 @@
"owner": "default",
"value": "pre"
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/60extra_help/makedict/base.json b/tests/dictionaries_old/60extra_help/makedict/base.json
index 37a6c4d4d..64b003ac6 100644
--- a/tests/dictionaries_old/60extra_help/makedict/base.json
+++ b/tests/dictionaries_old/60extra_help/makedict/base.json
@@ -4,8 +4,9 @@
"extra.ejabberd.description": "Exportation de la base de ejabberd",
"extra.ejabberd.day": null,
"extra.ejabberd.mode": "pre",
- "services.test.files.mailname.name": "/etc/mailname",
- "services.test.files.mailname.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.mailname.name": "/etc/mailname",
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/60extra_help/makedict/before.json b/tests/dictionaries_old/60extra_help/makedict/before.json
index 6cf540ce3..4d90e3cdf 100644
--- a/tests/dictionaries_old/60extra_help/makedict/before.json
+++ b/tests/dictionaries_old/60extra_help/makedict/before.json
@@ -19,19 +19,23 @@
"owner": "default",
"value": "pre"
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/60extra_help/result/extra/00-base.yml b/tests/dictionaries_old/60extra_help/result/extra/00-base.yml
new file mode 100644
index 000000000..162e243c4
--- /dev/null
+++ b/tests/dictionaries_old/60extra_help/result/extra/00-base.yml
@@ -0,0 +1,25 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ help: Test help
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_help/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_help/result/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_help/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_help/result/services/00-base.yml b/tests/dictionaries_old/60extra_help/result/services/00-base.yml
new file mode 100644
index 000000000..e25233253
--- /dev/null
+++ b/tests/dictionaries_old/60extra_help/result/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ files:
+ /etc/mailname: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_help/tiramisu/base.py b/tests/dictionaries_old/60extra_help/tiramisu/base.py
index 7383b6a87..5ddbbbb0f 100644
--- a/tests/dictionaries_old/60extra_help/tiramisu/base.py
+++ b/tests/dictionaries_old/60extra_help/tiramisu/base.py
@@ -1,33 +1,76 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['extra.ejabberd.day'] = "{{ \"non\" | calc_multi_condition(condition_1=__activer_ejabberd, match=\"none\", mismatch=\"daily\") }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_7 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
-option_8 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_4, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_8 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(extra.ejabberd.day), '__internal_type': ParamValue(choice), '__internal_multi': ParamValue(False)})), properties=frozenset({"mandatory", "normal"}))
option_8.impl_set_information('help', "Test help")
option_9 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
-option_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7, option_8, option_9], properties=frozenset({"normal"}))
-option_5 = OptionDescription(name="extra", doc="extra", children=[option_6])
+optiondescription_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7, option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_6], properties=frozenset({"normal"}))
option_14 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_15 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = OptionDescription(name="mailname", doc="mailname", children=[option_14, option_15])
-option_13.impl_set_information('source', "mailname")
-option_12 = OptionDescription(name="files", doc="files", children=[option_13])
+option_15 = FilenameOption(name="source", doc="source", default="/etc/mailname")
option_16 = BoolOption(name="activate", doc="activate", default=True)
-option_17 = BoolOption(name="manage", doc="manage", default=True)
-option_11 = OptionDescription(name="test", doc="test", children=[option_12, option_16, option_17])
-option_10 = OptionDescription(name="services", doc="services", children=[option_11], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5, option_10])
+optiondescription_13 = OptionDescription(name="mailname", doc="mailname", children=[option_14, option_15, option_16])
+optiondescription_12 = OptionDescription(name="files", doc="files", children=[optiondescription_13])
+option_17 = BoolOption(name="activate", doc="activate", default=True)
+option_18 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_11 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_12, option_17, option_18])
+optiondescription_11.impl_set_information('type', "service")
+optiondescription_10 = OptionDescription(name="services", doc="services", children=[optiondescription_11], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5, optiondescription_10])
diff --git a/tests/dictionaries_old/60extra_help/tiramisu/multi.py b/tests/dictionaries_old/60extra_help/tiramisu/multi.py
new file mode 100644
index 000000000..5d5e0b29c
--- /dev/null
+++ b/tests/dictionaries_old/60extra_help/tiramisu/multi.py
@@ -0,0 +1,68 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_30 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_5 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_6 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_3, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_6.impl_set_information('help', "Test help")
+option_7 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_31 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"normal"}))
+option_19 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_20 = StrOption(name="source", doc="source", default="mailname")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="mailname", doc="mailname", children=[option_19, option_20, option_18])
+optiondescription_16 = OptionDescription(name="files", doc="files", children=[optiondescription_17])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_21 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_33 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_16, option_15, option_21])
+optiondescription_33.impl_set_information('type', "service")
+optiondescription_32 = OptionDescription(name="services", doc="services", children=[optiondescription_33], properties=frozenset({"hidden"}))
+optiondescription_29 = OptionDescription(name="1", doc="1", children=[optiondescription_30, optiondescription_31, optiondescription_32])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="général", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_35 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+option_12 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_13 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_10, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_13.impl_set_information('help', "Test help")
+option_14 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_11 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_36 = OptionDescription(name="extra", doc="extra", children=[optiondescription_11], properties=frozenset({"normal"}))
+option_26 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_27 = StrOption(name="source", doc="source", default="mailname")
+option_25 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_24 = OptionDescription(name="mailname", doc="mailname", children=[option_26, option_27, option_25])
+optiondescription_23 = OptionDescription(name="files", doc="files", children=[optiondescription_24])
+option_22 = BoolOption(name="activate", doc="activate", default=True)
+option_28 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_38 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_23, option_22, option_28])
+optiondescription_38.impl_set_information('type', "service")
+optiondescription_37 = OptionDescription(name="services", doc="services", children=[optiondescription_38], properties=frozenset({"hidden"}))
+optiondescription_34 = OptionDescription(name="2", doc="2", children=[optiondescription_35, optiondescription_36, optiondescription_37])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_29, optiondescription_34])
diff --git a/tests/dictionaries_old/60extra_help/xml/00-base.xml b/tests/dictionaries_old/60extra_help/xml/00-base.xml
new file mode 100644
index 000000000..1aebf03a1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_help/xml/00-base.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ /etc/mailname
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_help/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_help/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..e55bb2f1d
--- /dev/null
+++ b/tests/dictionaries_old/60extra_help/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ Exportation de la base de ejabberd
+
+
+ none
+ daily
+ weekly
+ monthly
+ none
+
+
+ pre
+ pre
+ post
+
+
+
+
+
+ non
+ activer_ejabberd
+ none
+ daily
+ extra.ejabberd.day
+
+
+
diff --git a/tests/dictionaries_old/60extra_help/yml/00-base.yml b/tests/dictionaries_old/60extra_help/yml/00-base.yml
new file mode 100644
index 000000000..cd09c05bb
--- /dev/null
+++ b/tests/dictionaries_old/60extra_help/yml/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - text: /etc/mailname
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_help/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_help/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..ad95d9286
--- /dev/null
+++ b/tests/dictionaries_old/60extra_help/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,44 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - variable:
+ - name: description
+ type: string
+ value:
+ - text: Exportation de la base de ejabberd
+ - name: day
+ type: choice
+ help: Test help
+ mandatory: true
+ choice:
+ - text: none
+ - text: daily
+ - text: weekly
+ - text: monthly
+ value:
+ - text: none
+ - name: mode
+ type: choice
+ mandatory: true
+ value:
+ - text: pre
+ choice:
+ - text: pre
+ - text: post
+constraints:
+- fill:
+ - name: calc_multi_condition
+ param:
+ - text: non
+ - type: variable
+ name: condition_1
+ propertyerror: false
+ text: activer_ejabberd
+ - name: match
+ text: none
+ - name: mismatch
+ text: daily
+ target:
+ - text: extra.ejabberd.day
diff --git a/tests/dictionaries/70container_filesredefine/__init__.py b/tests/dictionaries_old/60extra_leadership/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_filesredefine/__init__.py
rename to tests/dictionaries_old/60extra_leadership/__init__.py
diff --git a/tests/dictionaries_old/60extra_leadership/makedict/after.json b/tests/dictionaries_old/60extra_leadership/makedict/after.json
new file mode 100644
index 000000000..fc88064cd
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/makedict/after.json
@@ -0,0 +1,56 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.activer_ejabberd": {
+ "owner": "default",
+ "value": "non"
+ },
+ "extra.ejabberd.leadership.description": {
+ "owner": "default",
+ "value": [
+ "test"
+ ]
+ },
+ "extra.ejabberd.leadership.mode": {
+ "owner": [
+ "default"
+ ],
+ "value": [
+ "pre"
+ ]
+ },
+ "services.test_service.files.mailname.name": {
+ "owner": "default",
+ "value": "/etc/mailname"
+ },
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.files.mailname2.name": {
+ "owner": "default",
+ "value": "/etc/mailname2"
+ },
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/60extra_leadership/makedict/base.json b/tests/dictionaries_old/60extra_leadership/makedict/base.json
new file mode 100644
index 000000000..2f4e5aa56
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/makedict/base.json
@@ -0,0 +1,18 @@
+{
+ "rougail.general.mode_conteneur_actif": "non",
+ "rougail.general.activer_ejabberd": "non",
+ "extra.ejabberd.leadership.description": [
+ {
+ "extra.ejabberd.leadership.description": "test",
+ "extra.ejabberd.leadership.mode": "pre"
+ }
+ ],
+ "services.test_service.files.mailname.name": "/etc/mailname",
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.files.mailname2.name": "/etc/mailname2",
+ "services.test_service.files.mailname2.source": "mailname2",
+ "services.test_service.files.mailname2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
+}
diff --git a/tests/dictionaries_old/60extra_leadership/makedict/before.json b/tests/dictionaries_old/60extra_leadership/makedict/before.json
new file mode 100644
index 000000000..fc88064cd
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/makedict/before.json
@@ -0,0 +1,56 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.activer_ejabberd": {
+ "owner": "default",
+ "value": "non"
+ },
+ "extra.ejabberd.leadership.description": {
+ "owner": "default",
+ "value": [
+ "test"
+ ]
+ },
+ "extra.ejabberd.leadership.mode": {
+ "owner": [
+ "default"
+ ],
+ "value": [
+ "pre"
+ ]
+ },
+ "services.test_service.files.mailname.name": {
+ "owner": "default",
+ "value": "/etc/mailname"
+ },
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.files.mailname2.name": {
+ "owner": "default",
+ "value": "/etc/mailname2"
+ },
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/60extra_leadership/result/extra/00-base.yml b/tests/dictionaries_old/60extra_leadership/result/extra/00-base.yml
new file mode 100644
index 000000000..eacf9828e
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/result/extra/00-base.yml
@@ -0,0 +1,13 @@
+ejabberd:
+ leadership:
+ type: leadership
+ _description: description
+ description:
+ type: string
+ multi: true
+ default:
+ - test
+ mode:
+ type: string
+ default: pre
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_leadership/result/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership/result/services/00-base.yml b/tests/dictionaries_old/60extra_leadership/result/services/00-base.yml
new file mode 100644
index 000000000..01ae40493
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/mailname2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership/tiramisu/base.py b/tests/dictionaries_old/60extra_leadership/tiramisu/base.py
new file mode 100644
index 000000000..f9552c000
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/tiramisu/base.py
@@ -0,0 +1,50 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_8 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode", doc="mode", multi=True, default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_7 = Leadership(name="leadership", doc="description", children=[option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_14 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_15 = FilenameOption(name="source", doc="source", default="/etc/mailname")
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_13 = OptionDescription(name="mailname", doc="mailname", children=[option_14, option_15, option_16])
+option_18 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_19 = FilenameOption(name="source", doc="source", default="/etc/mailname2")
+option_20 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="mailname2", doc="mailname2", children=[option_18, option_19, option_20])
+optiondescription_17.impl_set_information('engine', "jinja")
+optiondescription_12 = OptionDescription(name="files", doc="files", children=[optiondescription_13, optiondescription_17])
+option_21 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_11 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_12, option_21, option_22])
+optiondescription_11.impl_set_information('type', "service")
+optiondescription_10 = OptionDescription(name="services", doc="services", children=[optiondescription_11], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5, optiondescription_10])
diff --git a/tests/dictionaries_old/60extra_leadership/tiramisu/multi.py b/tests/dictionaries_old/60extra_leadership/tiramisu/multi.py
new file mode 100644
index 000000000..b434f9136
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/tiramisu/multi.py
@@ -0,0 +1,76 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_38 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_6 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode", doc="mode", multi=True, default_multi="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = Leadership(name="leadership", doc="description", children=[option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_39 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"normal"}))
+option_19 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_20 = StrOption(name="source", doc="source", default="mailname")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="mailname", doc="mailname", children=[option_19, option_20, option_18])
+option_23 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_24 = StrOption(name="source", doc="source", default="mailname2")
+option_22 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_21 = OptionDescription(name="mailname2", doc="mailname2", children=[option_23, option_24, option_22])
+optiondescription_21.impl_set_information('engine', "jinja")
+optiondescription_16 = OptionDescription(name="files", doc="files", children=[optiondescription_17, optiondescription_21])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_25 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_41 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_16, option_15, option_25])
+optiondescription_41.impl_set_information('type', "service")
+optiondescription_40 = OptionDescription(name="services", doc="services", children=[optiondescription_41], properties=frozenset({"hidden"}))
+optiondescription_37 = OptionDescription(name="1", doc="1", children=[optiondescription_38, optiondescription_39, optiondescription_40])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="général", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_43 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+option_13 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_14 = StrOption(name="mode", doc="mode", multi=True, default_multi="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_12 = Leadership(name="leadership", doc="description", children=[option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_12], properties=frozenset({"normal"}))
+optiondescription_44 = OptionDescription(name="extra", doc="extra", children=[optiondescription_11], properties=frozenset({"normal"}))
+option_30 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_31 = StrOption(name="source", doc="source", default="mailname")
+option_29 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_28 = OptionDescription(name="mailname", doc="mailname", children=[option_30, option_31, option_29])
+option_34 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_35 = StrOption(name="source", doc="source", default="mailname2")
+option_33 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_32 = OptionDescription(name="mailname2", doc="mailname2", children=[option_34, option_35, option_33])
+optiondescription_32.impl_set_information('engine', "jinja")
+optiondescription_27 = OptionDescription(name="files", doc="files", children=[optiondescription_28, optiondescription_32])
+option_26 = BoolOption(name="activate", doc="activate", default=True)
+option_36 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_46 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_27, option_26, option_36])
+optiondescription_46.impl_set_information('type', "service")
+optiondescription_45 = OptionDescription(name="services", doc="services", children=[optiondescription_46], properties=frozenset({"hidden"}))
+optiondescription_42 = OptionDescription(name="2", doc="2", children=[optiondescription_43, optiondescription_44, optiondescription_45])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_37, optiondescription_42])
diff --git a/tests/dictionaries_old/60extra_leadership/tmpl/mailname b/tests/dictionaries_old/60extra_leadership/tmpl/mailname
new file mode 100644
index 000000000..c98064496
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/tmpl/mailname
@@ -0,0 +1,35 @@
+%if 'test' in %%extra.ejabberd.leadership.description
+contain test
+%end if
+%%len(%%extra.ejabberd.leadership.description)
+%if 'a' in %%extra.ejabberd.leadership.description
+contain a
+%end if
+%for %%description in %%extra.ejabberd.leadership.description
+leader: %%description
+follower: %%description.mode
+%if %%description <= %%description.mode
+infeq
+%end if
+%if %%description >= %%description.mode
+supeq
+%end if
+%if %%description < %%description.mode
+inf
+%end if
+%if %%description > %%description.mode
+sup
+%end if
+%if %%description == %%description.mode
+eq
+%end if
+%if %%description != %%description.mode
+diff
+%end if
+%set %%var = %%description + %%description.mode
+%%var
+%set %%var = %%description.mode + %%description
+%%var
+%end for
+leader2: %%extra.ejabberd.leadership.description[0]
+follower2: %%extra.ejabberd.leadership.description[0].mode
diff --git a/tests/dictionaries_old/60extra_leadership/tmpl/mailname2 b/tests/dictionaries_old/60extra_leadership/tmpl/mailname2
new file mode 100644
index 000000000..fd6190b4b
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/tmpl/mailname2
@@ -0,0 +1,33 @@
+{% if 'test' in extra.ejabberd.leadership.description -%}
+contain test
+{% endif -%}
+{{ extra.ejabberd.leadership.description|length }}
+{% if 'a' in extra.ejabberd.leadership.description -%}
+contain a
+{% endif -%}
+{% for description in extra.ejabberd.leadership.description -%}
+leader: {{ description }}
+follower: {{ description.mode }}
+{% if description <= description.mode -%}
+infeq
+{% endif -%}
+{% if description >= description.mode -%}
+supeq
+{% endif -%}
+{% if description < description.mode -%}
+inf
+{% endif -%}
+{% if description > description.mode -%}
+sup
+{% endif -%}
+{% if description == description.mode -%}
+eq
+{% endif -%}
+{% if description != description.mode -%}
+diff
+{% endif -%}
+{{ description + description.mode }}
+{{ description.mode + description }}
+{% endfor -%}
+leader2: {{ extra.ejabberd.leadership.description[0] }}
+follower2: {{ extra.ejabberd.leadership.description[0].mode }}
diff --git a/tests/dictionaries_old/60extra_leadership/xml/00-base.xml b/tests/dictionaries_old/60extra_leadership/xml/00-base.xml
new file mode 100644
index 000000000..27b3570db
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ /etc/mailname
+ /etc/mailname2
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_leadership/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_leadership/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..7ffc25da5
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ test
+
+
+ pre
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_leadership/yml/00-base.yml b/tests/dictionaries_old/60extra_leadership/yml/00-base.yml
new file mode 100644
index 000000000..dcb0a2ddd
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/yml/00-base.yml
@@ -0,0 +1,26 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - text: /etc/mailname
+ - engine: jinja
+ text: /etc/mailname2
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_leadership/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_leadership/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..3cfc006d2
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,20 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - family:
+ - name: leadership
+ description: description
+ leadership: true
+ variables:
+ - variable:
+ - name: description
+ type: string
+ multi: true
+ value:
+ - text: test
+ - name: mode
+ type: string
+ value:
+ - text: pre
diff --git a/tests/dictionaries/70container_new/__init__.py b/tests/dictionaries_old/60extra_leadership_name/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_new/__init__.py
rename to tests/dictionaries_old/60extra_leadership_name/__init__.py
diff --git a/tests/dictionaries_old/60extra_leadership_name/makedict/after.json b/tests/dictionaries_old/60extra_leadership_name/makedict/after.json
new file mode 100644
index 000000000..bd4006b97
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/makedict/after.json
@@ -0,0 +1,56 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.activer_ejabberd": {
+ "owner": "default",
+ "value": "non"
+ },
+ "extra.ejabberd.new_name.description": {
+ "owner": "default",
+ "value": [
+ "test"
+ ]
+ },
+ "extra.ejabberd.new_name.mode": {
+ "owner": [
+ "default"
+ ],
+ "value": [
+ "pre"
+ ]
+ },
+ "services.test_service.files.mailname.name": {
+ "owner": "default",
+ "value": "/etc/mailname"
+ },
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.files.mailname2.name": {
+ "owner": "default",
+ "value": "/etc/mailname2"
+ },
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/60extra_leadership_name/makedict/base.json b/tests/dictionaries_old/60extra_leadership_name/makedict/base.json
new file mode 100644
index 000000000..13e7ece30
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/makedict/base.json
@@ -0,0 +1,18 @@
+{
+ "rougail.general.mode_conteneur_actif": "non",
+ "rougail.general.activer_ejabberd": "non",
+ "extra.ejabberd.new_name.description": [
+ {
+ "extra.ejabberd.new_name.description": "test",
+ "extra.ejabberd.new_name.mode": "pre"
+ }
+ ],
+ "services.test_service.files.mailname.name": "/etc/mailname",
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.files.mailname2.name": "/etc/mailname2",
+ "services.test_service.files.mailname2.source": "mailname2",
+ "services.test_service.files.mailname2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
+}
diff --git a/tests/dictionaries_old/60extra_leadership_name/makedict/before.json b/tests/dictionaries_old/60extra_leadership_name/makedict/before.json
new file mode 100644
index 000000000..bd4006b97
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/makedict/before.json
@@ -0,0 +1,56 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.activer_ejabberd": {
+ "owner": "default",
+ "value": "non"
+ },
+ "extra.ejabberd.new_name.description": {
+ "owner": "default",
+ "value": [
+ "test"
+ ]
+ },
+ "extra.ejabberd.new_name.mode": {
+ "owner": [
+ "default"
+ ],
+ "value": [
+ "pre"
+ ]
+ },
+ "services.test_service.files.mailname.name": {
+ "owner": "default",
+ "value": "/etc/mailname"
+ },
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.files.mailname2.name": {
+ "owner": "default",
+ "value": "/etc/mailname2"
+ },
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/60extra_leadership_name/result/extra/00-base.yml b/tests/dictionaries_old/60extra_leadership_name/result/extra/00-base.yml
new file mode 100644
index 000000000..d3a06a971
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/result/extra/00-base.yml
@@ -0,0 +1,13 @@
+ejabberd:
+ new_name:
+ type: leadership
+ _description: new_name
+ description:
+ type: string
+ multi: true
+ default:
+ - test
+ mode:
+ type: string
+ default: pre
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership_name/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_leadership_name/result/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership_name/result/services/00-base.yml b/tests/dictionaries_old/60extra_leadership_name/result/services/00-base.yml
new file mode 100644
index 000000000..01ae40493
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/mailname2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership_name/tiramisu/base.py b/tests/dictionaries_old/60extra_leadership_name/tiramisu/base.py
new file mode 100644
index 000000000..2b294dd68
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/tiramisu/base.py
@@ -0,0 +1,50 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_8 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode", doc="mode", multi=True, default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_7 = Leadership(name="new_name", doc="new_name", children=[option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_14 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_15 = FilenameOption(name="source", doc="source", default="/etc/mailname")
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_13 = OptionDescription(name="mailname", doc="mailname", children=[option_14, option_15, option_16])
+option_18 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_19 = FilenameOption(name="source", doc="source", default="/etc/mailname2")
+option_20 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="mailname2", doc="mailname2", children=[option_18, option_19, option_20])
+optiondescription_17.impl_set_information('engine', "jinja")
+optiondescription_12 = OptionDescription(name="files", doc="files", children=[optiondescription_13, optiondescription_17])
+option_21 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_11 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_12, option_21, option_22])
+optiondescription_11.impl_set_information('type', "service")
+optiondescription_10 = OptionDescription(name="services", doc="services", children=[optiondescription_11], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5, optiondescription_10])
diff --git a/tests/dictionaries_old/60extra_leadership_name/tiramisu/multi.py b/tests/dictionaries_old/60extra_leadership_name/tiramisu/multi.py
new file mode 100644
index 000000000..4c800df8d
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/tiramisu/multi.py
@@ -0,0 +1,76 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_38 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_6 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode", doc="mode", multi=True, default_multi="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = Leadership(name="new_name", doc="new_name", children=[option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_39 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"normal"}))
+option_19 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_20 = StrOption(name="source", doc="source", default="mailname")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="mailname", doc="mailname", children=[option_19, option_20, option_18])
+option_23 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_24 = StrOption(name="source", doc="source", default="mailname2")
+option_22 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_21 = OptionDescription(name="mailname2", doc="mailname2", children=[option_23, option_24, option_22])
+optiondescription_21.impl_set_information('engine', "jinja")
+optiondescription_16 = OptionDescription(name="files", doc="files", children=[optiondescription_17, optiondescription_21])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_25 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_41 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_16, option_15, option_25])
+optiondescription_41.impl_set_information('type', "service")
+optiondescription_40 = OptionDescription(name="services", doc="services", children=[optiondescription_41], properties=frozenset({"hidden"}))
+optiondescription_37 = OptionDescription(name="1", doc="1", children=[optiondescription_38, optiondescription_39, optiondescription_40])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="général", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_43 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+option_13 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_14 = StrOption(name="mode", doc="mode", multi=True, default_multi="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_12 = Leadership(name="new_name", doc="new_name", children=[option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_12], properties=frozenset({"normal"}))
+optiondescription_44 = OptionDescription(name="extra", doc="extra", children=[optiondescription_11], properties=frozenset({"normal"}))
+option_30 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_31 = StrOption(name="source", doc="source", default="mailname")
+option_29 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_28 = OptionDescription(name="mailname", doc="mailname", children=[option_30, option_31, option_29])
+option_34 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_35 = StrOption(name="source", doc="source", default="mailname2")
+option_33 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_32 = OptionDescription(name="mailname2", doc="mailname2", children=[option_34, option_35, option_33])
+optiondescription_32.impl_set_information('engine', "jinja")
+optiondescription_27 = OptionDescription(name="files", doc="files", children=[optiondescription_28, optiondescription_32])
+option_26 = BoolOption(name="activate", doc="activate", default=True)
+option_36 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_46 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_27, option_26, option_36])
+optiondescription_46.impl_set_information('type', "service")
+optiondescription_45 = OptionDescription(name="services", doc="services", children=[optiondescription_46], properties=frozenset({"hidden"}))
+optiondescription_42 = OptionDescription(name="2", doc="2", children=[optiondescription_43, optiondescription_44, optiondescription_45])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_37, optiondescription_42])
diff --git a/tests/dictionaries_old/60extra_leadership_name/tmpl/mailname b/tests/dictionaries_old/60extra_leadership_name/tmpl/mailname
new file mode 100644
index 000000000..3fc4092ec
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/tmpl/mailname
@@ -0,0 +1,36 @@
+%if 'test' in %%extra.ejabberd.new_name.description
+contain test
+%end if
+%%len(%%extra.ejabberd.new_name.description)
+%if 'a' in %%extra.ejabberd.new_name.description
+contain a
+%end if
+%for %%description in %%extra.ejabberd.new_name.description
+leader: %%description
+follower: %%description.mode
+%if %%description <= %%description.mode
+infeq
+%end if
+%if %%description >= %%description.mode
+supeq
+%end if
+%if %%description < %%description.mode
+inf
+%end if
+%if %%description > %%description.mode
+sup
+%end if
+%if %%description == %%description.mode
+eq
+%end if
+%if %%description != %%description.mode
+diff
+%end if
+%set %%var = %%description + %%description.mode
+%%var
+%set %%var = %%description.mode + %%description
+%%var
+%end for
+leader2: %%extra.ejabberd.new_name.description[0].description
+follower2: %%extra.ejabberd.new_name.description[0].mode
+index: %%extra.ejabberd.new_name.description.index('test')
diff --git a/tests/dictionaries_old/60extra_leadership_name/tmpl/mailname2 b/tests/dictionaries_old/60extra_leadership_name/tmpl/mailname2
new file mode 100644
index 000000000..0925d8b7a
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/tmpl/mailname2
@@ -0,0 +1,34 @@
+{% if 'test' in extra.ejabberd.new_name.description -%}
+contain test
+{% endif -%}
+{{ extra.ejabberd.new_name.description |length }}
+{% if 'a' in extra.ejabberd.new_name.description -%}
+contain a
+{% endif -%}
+{% for description in extra.ejabberd.new_name.description -%}
+leader: {{ description }}
+follower: {{ description.mode }}
+{% if description <= description.mode -%}
+infeq
+{% endif -%}
+{% if description >= description.mode -%}
+supeq
+{% endif -%}
+{% if description < description.mode -%}
+inf
+{% endif -%}
+{% if description > description.mode -%}
+sup
+{% endif -%}
+{% if description == description.mode -%}
+eq
+{% endif -%}
+{% if description != description.mode -%}
+diff
+{% endif -%}
+{{ description + description.mode }}
+{{ description.mode + description }}
+{% endfor -%}
+leader2: {{ extra.ejabberd.new_name.description[0].description }}
+follower2: {{ extra.ejabberd.new_name.description[0].mode }}
+index: {{ extra.ejabberd.new_name.description.index('test') }}
diff --git a/tests/dictionaries_old/60extra_leadership_name/xml/00-base.xml b/tests/dictionaries_old/60extra_leadership_name/xml/00-base.xml
new file mode 100644
index 000000000..27b3570db
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ /etc/mailname
+ /etc/mailname2
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_leadership_name/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_leadership_name/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..0a2a87ef6
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ test
+
+
+ pre
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_leadership_name/yml/00-base.yml b/tests/dictionaries_old/60extra_leadership_name/yml/00-base.yml
new file mode 100644
index 000000000..dcb0a2ddd
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/yml/00-base.yml
@@ -0,0 +1,26 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - text: /etc/mailname
+ - engine: jinja
+ text: /etc/mailname2
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_leadership_name/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_leadership_name/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..02e6c8933
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,20 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - family:
+ - name: new_name
+ description: new_name
+ leadership: true
+ variables:
+ - variable:
+ - name: description
+ type: string
+ multi: true
+ value:
+ - text: test
+ - name: mode
+ type: string
+ value:
+ - text: pre
diff --git a/tests/dictionaries/70container_newnocont/__init__.py b/tests/dictionaries_old/60extra_leadership_name_item/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_newnocont/__init__.py
rename to tests/dictionaries_old/60extra_leadership_name_item/__init__.py
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/makedict/after.json b/tests/dictionaries_old/60extra_leadership_name_item/makedict/after.json
new file mode 100644
index 000000000..bd4006b97
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/makedict/after.json
@@ -0,0 +1,56 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.activer_ejabberd": {
+ "owner": "default",
+ "value": "non"
+ },
+ "extra.ejabberd.new_name.description": {
+ "owner": "default",
+ "value": [
+ "test"
+ ]
+ },
+ "extra.ejabberd.new_name.mode": {
+ "owner": [
+ "default"
+ ],
+ "value": [
+ "pre"
+ ]
+ },
+ "services.test_service.files.mailname.name": {
+ "owner": "default",
+ "value": "/etc/mailname"
+ },
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.files.mailname2.name": {
+ "owner": "default",
+ "value": "/etc/mailname2"
+ },
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/makedict/base.json b/tests/dictionaries_old/60extra_leadership_name_item/makedict/base.json
new file mode 100644
index 000000000..13e7ece30
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/makedict/base.json
@@ -0,0 +1,18 @@
+{
+ "rougail.general.mode_conteneur_actif": "non",
+ "rougail.general.activer_ejabberd": "non",
+ "extra.ejabberd.new_name.description": [
+ {
+ "extra.ejabberd.new_name.description": "test",
+ "extra.ejabberd.new_name.mode": "pre"
+ }
+ ],
+ "services.test_service.files.mailname.name": "/etc/mailname",
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.files.mailname2.name": "/etc/mailname2",
+ "services.test_service.files.mailname2.source": "mailname2",
+ "services.test_service.files.mailname2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
+}
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/makedict/before.json b/tests/dictionaries_old/60extra_leadership_name_item/makedict/before.json
new file mode 100644
index 000000000..bd4006b97
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/makedict/before.json
@@ -0,0 +1,56 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.activer_ejabberd": {
+ "owner": "default",
+ "value": "non"
+ },
+ "extra.ejabberd.new_name.description": {
+ "owner": "default",
+ "value": [
+ "test"
+ ]
+ },
+ "extra.ejabberd.new_name.mode": {
+ "owner": [
+ "default"
+ ],
+ "value": [
+ "pre"
+ ]
+ },
+ "services.test_service.files.mailname.name": {
+ "owner": "default",
+ "value": "/etc/mailname"
+ },
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.files.mailname2.name": {
+ "owner": "default",
+ "value": "/etc/mailname2"
+ },
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/result/extra/00-base.yml b/tests/dictionaries_old/60extra_leadership_name_item/result/extra/00-base.yml
new file mode 100644
index 000000000..d3a06a971
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/result/extra/00-base.yml
@@ -0,0 +1,13 @@
+ejabberd:
+ new_name:
+ type: leadership
+ _description: new_name
+ description:
+ type: string
+ multi: true
+ default:
+ - test
+ mode:
+ type: string
+ default: pre
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_leadership_name_item/result/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/result/services/00-base.yml b/tests/dictionaries_old/60extra_leadership_name_item/result/services/00-base.yml
new file mode 100644
index 000000000..01ae40493
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/mailname2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/tiramisu/base.py b/tests/dictionaries_old/60extra_leadership_name_item/tiramisu/base.py
new file mode 100644
index 000000000..2b294dd68
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/tiramisu/base.py
@@ -0,0 +1,50 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_8 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_9 = StrOption(name="mode", doc="mode", multi=True, default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_7 = Leadership(name="new_name", doc="new_name", children=[option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_14 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_15 = FilenameOption(name="source", doc="source", default="/etc/mailname")
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_13 = OptionDescription(name="mailname", doc="mailname", children=[option_14, option_15, option_16])
+option_18 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_19 = FilenameOption(name="source", doc="source", default="/etc/mailname2")
+option_20 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="mailname2", doc="mailname2", children=[option_18, option_19, option_20])
+optiondescription_17.impl_set_information('engine', "jinja")
+optiondescription_12 = OptionDescription(name="files", doc="files", children=[optiondescription_13, optiondescription_17])
+option_21 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_11 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_12, option_21, option_22])
+optiondescription_11.impl_set_information('type', "service")
+optiondescription_10 = OptionDescription(name="services", doc="services", children=[optiondescription_11], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5, optiondescription_10])
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/tiramisu/multi.py b/tests/dictionaries_old/60extra_leadership_name_item/tiramisu/multi.py
new file mode 100644
index 000000000..4c800df8d
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/tiramisu/multi.py
@@ -0,0 +1,76 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_38 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_6 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_7 = StrOption(name="mode", doc="mode", multi=True, default_multi="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = Leadership(name="new_name", doc="new_name", children=[option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_39 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"normal"}))
+option_19 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_20 = StrOption(name="source", doc="source", default="mailname")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="mailname", doc="mailname", children=[option_19, option_20, option_18])
+option_23 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_24 = StrOption(name="source", doc="source", default="mailname2")
+option_22 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_21 = OptionDescription(name="mailname2", doc="mailname2", children=[option_23, option_24, option_22])
+optiondescription_21.impl_set_information('engine', "jinja")
+optiondescription_16 = OptionDescription(name="files", doc="files", children=[optiondescription_17, optiondescription_21])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_25 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_41 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_16, option_15, option_25])
+optiondescription_41.impl_set_information('type', "service")
+optiondescription_40 = OptionDescription(name="services", doc="services", children=[optiondescription_41], properties=frozenset({"hidden"}))
+optiondescription_37 = OptionDescription(name="1", doc="1", children=[optiondescription_38, optiondescription_39, optiondescription_40])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="général", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_43 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+option_13 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_14 = StrOption(name="mode", doc="mode", multi=True, default_multi="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_12 = Leadership(name="new_name", doc="new_name", children=[option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_12], properties=frozenset({"normal"}))
+optiondescription_44 = OptionDescription(name="extra", doc="extra", children=[optiondescription_11], properties=frozenset({"normal"}))
+option_30 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_31 = StrOption(name="source", doc="source", default="mailname")
+option_29 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_28 = OptionDescription(name="mailname", doc="mailname", children=[option_30, option_31, option_29])
+option_34 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_35 = StrOption(name="source", doc="source", default="mailname2")
+option_33 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_32 = OptionDescription(name="mailname2", doc="mailname2", children=[option_34, option_35, option_33])
+optiondescription_32.impl_set_information('engine', "jinja")
+optiondescription_27 = OptionDescription(name="files", doc="files", children=[optiondescription_28, optiondescription_32])
+option_26 = BoolOption(name="activate", doc="activate", default=True)
+option_36 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_46 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_27, option_26, option_36])
+optiondescription_46.impl_set_information('type', "service")
+optiondescription_45 = OptionDescription(name="services", doc="services", children=[optiondescription_46], properties=frozenset({"hidden"}))
+optiondescription_42 = OptionDescription(name="2", doc="2", children=[optiondescription_43, optiondescription_44, optiondescription_45])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_37, optiondescription_42])
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/tmpl/mailname b/tests/dictionaries_old/60extra_leadership_name_item/tmpl/mailname
new file mode 100644
index 000000000..df72e5964
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/tmpl/mailname
@@ -0,0 +1,35 @@
+%if 'test' in %%extra['ejabberd']['new_name']['description']
+contain test
+%end if
+%%len(%%extra['ejabberd']['new_name']['description'])
+%if 'a' in %%extra['ejabberd']['new_name']['description']
+contain a
+%end if
+%for %%description in %%extra['ejabberd']['new_name']['description']
+leader: %%description
+follower: %%description['mode']
+%if %%description <= %%description['mode']
+infeq
+%end if
+%if %%description >= %%description['mode']
+supeq
+%end if
+%if %%description < %%description['mode']
+inf
+%end if
+%if %%description > %%description['mode']
+sup
+%end if
+%if %%description == %%description['mode']
+eq
+%end if
+%if %%description != %%description['mode']
+diff
+%end if
+%set %%var = %%description + %%description['mode']
+%%var
+%set %%var = %%description['mode'] + %%description
+%%var
+%end for
+leader2: %%extra['ejabberd']['new_name']['description'][0]
+follower2: %%extra['ejabberd']['new_name']['description'][0]['mode']
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/tmpl/mailname2 b/tests/dictionaries_old/60extra_leadership_name_item/tmpl/mailname2
new file mode 100644
index 000000000..78ee2b6ea
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/tmpl/mailname2
@@ -0,0 +1,33 @@
+{% if 'test' in extra.ejabberd.new_name.description -%}
+contain test
+{% endif -%}
+{{ extra.ejabberd.new_name.description |length }}
+{% if 'a' in extra.ejabberd.new_name.description -%}
+contain a
+{% endif -%}
+{% for description in extra.ejabberd.new_name.description -%}
+leader: {{ description }}
+follower: {{ description.mode }}
+{% if description <= description.mode -%}
+infeq
+{% endif -%}
+{% if description >= description.mode -%}
+supeq
+{% endif -%}
+{% if description < description.mode -%}
+inf
+{% endif -%}
+{% if description > description.mode -%}
+sup
+{% endif -%}
+{% if description == description.mode -%}
+eq
+{% endif -%}
+{% if description != description.mode -%}
+diff
+{% endif -%}
+{{ description + description.mode }}
+{{ description.mode + description }}
+{% endfor -%}
+leader2: {{ extra.ejabberd.new_name.description[0] }}
+follower2: {{ extra.ejabberd.new_name.description[0].mode }}
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/xml/00-base.xml b/tests/dictionaries_old/60extra_leadership_name_item/xml/00-base.xml
new file mode 100644
index 000000000..27b3570db
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ /etc/mailname
+ /etc/mailname2
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_leadership_name_item/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..0a2a87ef6
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ test
+
+
+ pre
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/yml/00-base.yml b/tests/dictionaries_old/60extra_leadership_name_item/yml/00-base.yml
new file mode 100644
index 000000000..dcb0a2ddd
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/yml/00-base.yml
@@ -0,0 +1,26 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - text: /etc/mailname
+ - engine: jinja
+ text: /etc/mailname2
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_leadership_name_item/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_leadership_name_item/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..02e6c8933
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_name_item/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,20 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - family:
+ - name: new_name
+ description: new_name
+ leadership: true
+ variables:
+ - variable:
+ - name: description
+ type: string
+ multi: true
+ value:
+ - text: test
+ - name: mode
+ type: string
+ value:
+ - text: pre
diff --git a/tests/dictionaries/70container_newwithip/__init__.py b/tests/dictionaries_old/60extra_leadership_valid_enum/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_newwithip/__init__.py
rename to tests/dictionaries_old/60extra_leadership_valid_enum/__init__.py
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/makedict/after.json b/tests/dictionaries_old/60extra_leadership_valid_enum/makedict/after.json
new file mode 100644
index 000000000..dbe324b76
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/makedict/after.json
@@ -0,0 +1,56 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.activer_ejabberd": {
+ "owner": "default",
+ "value": "non"
+ },
+ "extra.ejabberd.description.description": {
+ "owner": "default",
+ "value": [
+ "test"
+ ]
+ },
+ "extra.ejabberd.description.mode": {
+ "owner": [
+ "default"
+ ],
+ "value": [
+ "pre"
+ ]
+ },
+ "services.test_service.files.mailname.name": {
+ "owner": "default",
+ "value": "/etc/mailname"
+ },
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.files.mailname2.name": {
+ "owner": "default",
+ "value": "/etc/mailname2"
+ },
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/makedict/base.json b/tests/dictionaries_old/60extra_leadership_valid_enum/makedict/base.json
new file mode 100644
index 000000000..925519eb7
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/makedict/base.json
@@ -0,0 +1,18 @@
+{
+ "rougail.general.mode_conteneur_actif": "non",
+ "rougail.general.activer_ejabberd": "non",
+ "extra.ejabberd.description.description": [
+ {
+ "extra.ejabberd.description.description": "test",
+ "extra.ejabberd.description.mode": "pre"
+ }
+ ],
+ "services.test_service.files.mailname.name": "/etc/mailname",
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.files.mailname2.name": "/etc/mailname2",
+ "services.test_service.files.mailname2.source": "mailname2",
+ "services.test_service.files.mailname2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
+}
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/makedict/before.json b/tests/dictionaries_old/60extra_leadership_valid_enum/makedict/before.json
new file mode 100644
index 000000000..dbe324b76
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/makedict/before.json
@@ -0,0 +1,56 @@
+{
+ "rougail.general.mode_conteneur_actif": {
+ "owner": "default",
+ "value": "non"
+ },
+ "rougail.general.activer_ejabberd": {
+ "owner": "default",
+ "value": "non"
+ },
+ "extra.ejabberd.description.description": {
+ "owner": "default",
+ "value": [
+ "test"
+ ]
+ },
+ "extra.ejabberd.description.mode": {
+ "owner": [
+ "default"
+ ],
+ "value": [
+ "pre"
+ ]
+ },
+ "services.test_service.files.mailname.name": {
+ "owner": "default",
+ "value": "/etc/mailname"
+ },
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.files.mailname2.name": {
+ "owner": "default",
+ "value": "/etc/mailname2"
+ },
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/result/extra/00-base.yml b/tests/dictionaries_old/60extra_leadership_valid_enum/result/extra/00-base.yml
new file mode 100644
index 000000000..982b50447
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/result/extra/00-base.yml
@@ -0,0 +1,16 @@
+ejabberd:
+ description:
+ type: leadership
+ _description: description
+ description:
+ type: string
+ multi: true
+ default:
+ - test
+ mode:
+ type: choice
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_leadership_valid_enum/result/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/result/services/00-base.yml b/tests/dictionaries_old/60extra_leadership_valid_enum/result/services/00-base.yml
new file mode 100644
index 000000000..01ae40493
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/mailname2:
+ engine: jinja
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/tiramisu/base.py b/tests/dictionaries_old/60extra_leadership_valid_enum/tiramisu/base.py
new file mode 100644
index 000000000..ca40ba45d
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/tiramisu/base.py
@@ -0,0 +1,50 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_8 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_9 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), multi=True, default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_7 = Leadership(name="description", doc="description", children=[option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_14 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_15 = FilenameOption(name="source", doc="source", default="/etc/mailname")
+option_16 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_13 = OptionDescription(name="mailname", doc="mailname", children=[option_14, option_15, option_16])
+option_18 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_19 = FilenameOption(name="source", doc="source", default="/etc/mailname2")
+option_20 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="mailname2", doc="mailname2", children=[option_18, option_19, option_20])
+optiondescription_17.impl_set_information('engine', "jinja")
+optiondescription_12 = OptionDescription(name="files", doc="files", children=[optiondescription_13, optiondescription_17])
+option_21 = BoolOption(name="activate", doc="activate", default=True)
+option_22 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_11 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_12, option_21, option_22])
+optiondescription_11.impl_set_information('type', "service")
+optiondescription_10 = OptionDescription(name="services", doc="services", children=[optiondescription_11], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5, optiondescription_10])
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/tiramisu/multi.py b/tests/dictionaries_old/60extra_leadership_valid_enum/tiramisu/multi.py
new file mode 100644
index 000000000..ed75dd172
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/tiramisu/multi.py
@@ -0,0 +1,76 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_38 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_6 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_7 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), multi=True, default_multi="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = Leadership(name="description", doc="description", children=[option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_39 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"normal"}))
+option_19 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_20 = StrOption(name="source", doc="source", default="mailname")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_17 = OptionDescription(name="mailname", doc="mailname", children=[option_19, option_20, option_18])
+option_23 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_24 = StrOption(name="source", doc="source", default="mailname2")
+option_22 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_21 = OptionDescription(name="mailname2", doc="mailname2", children=[option_23, option_24, option_22])
+optiondescription_21.impl_set_information('engine', "jinja")
+optiondescription_16 = OptionDescription(name="files", doc="files", children=[optiondescription_17, optiondescription_21])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_25 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_41 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_16, option_15, option_25])
+optiondescription_41.impl_set_information('type', "service")
+optiondescription_40 = OptionDescription(name="services", doc="services", children=[optiondescription_41], properties=frozenset({"hidden"}))
+optiondescription_37 = OptionDescription(name="1", doc="1", children=[optiondescription_38, optiondescription_39, optiondescription_40])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="général", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_43 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+option_13 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory", "normal"}))
+option_14 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), multi=True, default_multi="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_12 = Leadership(name="description", doc="description", children=[option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="ejabberd", doc="ejabberd", children=[optiondescription_12], properties=frozenset({"normal"}))
+optiondescription_44 = OptionDescription(name="extra", doc="extra", children=[optiondescription_11], properties=frozenset({"normal"}))
+option_30 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_31 = StrOption(name="source", doc="source", default="mailname")
+option_29 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_28 = OptionDescription(name="mailname", doc="mailname", children=[option_30, option_31, option_29])
+option_34 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_35 = StrOption(name="source", doc="source", default="mailname2")
+option_33 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_32 = OptionDescription(name="mailname2", doc="mailname2", children=[option_34, option_35, option_33])
+optiondescription_32.impl_set_information('engine', "jinja")
+optiondescription_27 = OptionDescription(name="files", doc="files", children=[optiondescription_28, optiondescription_32])
+option_26 = BoolOption(name="activate", doc="activate", default=True)
+option_36 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_46 = OptionDescription(name="test_service", doc="test.service", children=[optiondescription_27, option_26, option_36])
+optiondescription_46.impl_set_information('type', "service")
+optiondescription_45 = OptionDescription(name="services", doc="services", children=[optiondescription_46], properties=frozenset({"hidden"}))
+optiondescription_42 = OptionDescription(name="2", doc="2", children=[optiondescription_43, optiondescription_44, optiondescription_45])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_37, optiondescription_42])
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/tmpl/mailname b/tests/dictionaries_old/60extra_leadership_valid_enum/tmpl/mailname
new file mode 100644
index 000000000..56abb7a07
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/tmpl/mailname
@@ -0,0 +1,35 @@
+%if 'test' in %%extra.ejabberd.description.description
+contain test
+%end if
+%%len(%%extra.ejabberd.description.description)
+%if 'a' in %%extra.ejabberd.description.description
+contain a
+%end if
+%for %%description in %%extra.ejabberd.description.description
+leader: %%description
+follower: %%description.mode
+%if %%description <= %%description.mode
+infeq
+%end if
+%if %%description >= %%description.mode
+supeq
+%end if
+%if %%description < %%description.mode
+inf
+%end if
+%if %%description > %%description.mode
+sup
+%end if
+%if %%description == %%description.mode
+eq
+%end if
+%if %%description != %%description.mode
+diff
+%end if
+%set %%var = %%description + %%description.mode
+%%var
+%set %%var = %%description.mode + %%description
+%%var
+%end for
+leader2: %%extra.ejabberd.description.description[0]
+follower2: %%extra.ejabberd.description.description[0].mode
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/tmpl/mailname2 b/tests/dictionaries_old/60extra_leadership_valid_enum/tmpl/mailname2
new file mode 100644
index 000000000..99fc5bab6
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/tmpl/mailname2
@@ -0,0 +1,33 @@
+{% if 'test' in extra.ejabberd.description.description -%}
+contain test
+{% endif -%}
+{{ extra.ejabberd.description.description|length }}
+{% if 'a' in extra.ejabberd.description.description -%}
+contain a
+{% endif -%}
+{% for description in extra.ejabberd.description.description -%}
+leader: {{ description }}
+follower: {{ description.mode }}
+{% if description <= description.mode -%}
+infeq
+{% endif -%}
+{% if description >= description.mode -%}
+supeq
+{% endif -%}
+{% if description < description.mode -%}
+inf
+{% endif -%}
+{% if description > description.mode -%}
+sup
+{% endif -%}
+{% if description == description.mode -%}
+eq
+{% endif -%}
+{% if description != description.mode -%}
+diff
+{% endif -%}
+{{ description + description.mode }}
+{{ description.mode + description }}
+{% endfor -%}
+leader2: {{ extra.ejabberd.description.description[0] }}
+follower2: {{ extra.ejabberd.description.description[0].mode }}
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/xml/00-base.xml b/tests/dictionaries_old/60extra_leadership_valid_enum/xml/00-base.xml
new file mode 100644
index 000000000..27b3570db
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ /etc/mailname
+ /etc/mailname2
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_leadership_valid_enum/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..df8ea73d4
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+ test
+
+
+ pre
+ post
+ pre
+
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/yml/00-base.yml b/tests/dictionaries_old/60extra_leadership_valid_enum/yml/00-base.yml
new file mode 100644
index 000000000..dcb0a2ddd
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/yml/00-base.yml
@@ -0,0 +1,26 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ file:
+ - text: /etc/mailname
+ - engine: jinja
+ text: /etc/mailname2
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_leadership_valid_enum/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_leadership_valid_enum/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..de8ca9911
--- /dev/null
+++ b/tests/dictionaries_old/60extra_leadership_valid_enum/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,23 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - family:
+ - name: description
+ description: description
+ leadership: true
+ variables:
+ - variable:
+ - name: description
+ type: string
+ multi: true
+ value:
+ - text: test
+ - name: mode
+ type: choice
+ choice:
+ - text: pre
+ - text: post
+ value:
+ - text: pre
diff --git a/tests/dictionaries_old/60extra_load/00-base.xml b/tests/dictionaries_old/60extra_load/00-base.xml
deleted file mode 100644
index 8c0f3365c..000000000
--- a/tests/dictionaries_old/60extra_load/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_load/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_load/extra_dirs/extra/00-base.xml
deleted file mode 100644
index a11e423b2..000000000
--- a/tests/dictionaries_old/60extra_load/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
- pre
-
-
-
-
-
- non
- activer_ejabberd
- none
- daily
- extra.ejabberd.day
-
-
-
diff --git a/tests/dictionaries_old/60extra_load/result/extra/00-base.yml b/tests/dictionaries_old/60extra_load/result/extra/00-base.yml
new file mode 100644
index 000000000..a95568f5d
--- /dev/null
+++ b/tests/dictionaries_old/60extra_load/result/extra/00-base.yml
@@ -0,0 +1,24 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_load/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_load/result/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_load/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_load/tiramisu/base.py b/tests/dictionaries_old/60extra_load/tiramisu/base.py
index 5fa27fcaf..423a2aa4f 100644
--- a/tests/dictionaries_old/60extra_load/tiramisu/base.py
+++ b/tests/dictionaries_old/60extra_load/tiramisu/base.py
@@ -1,23 +1,65 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['extra.ejabberd.day'] = "{{ \"non\" | calc_multi_condition(condition_1=__activer_ejabberd, match=\"none\", mismatch=\"daily\") }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_7 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
-option_8 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_4, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_8 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(extra.ejabberd.day), '__internal_type': ParamValue(choice), '__internal_multi': ParamValue(False)})), properties=frozenset({"mandatory", "normal"}))
option_9 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
-option_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7, option_8, option_9], properties=frozenset({"normal"}))
-option_5 = OptionDescription(name="extra", doc="extra", children=[option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5])
+optiondescription_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7, option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries_old/60extra_load/tiramisu/multi.py b/tests/dictionaries_old/60extra_load/tiramisu/multi.py
new file mode 100644
index 000000000..9c2e3c1f0
--- /dev/null
+++ b/tests/dictionaries_old/60extra_load/tiramisu/multi.py
@@ -0,0 +1,46 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_5 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_6 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_3, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_7 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16, optiondescription_17])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="général", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_19 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+option_12 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_13 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_10, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_14 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_11 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="extra", doc="extra", children=[optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="2", doc="2", children=[optiondescription_19, optiondescription_20])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_18])
diff --git a/tests/dictionaries_old/60extra_load/xml/00-base.xml b/tests/dictionaries_old/60extra_load/xml/00-base.xml
new file mode 100644
index 000000000..cb25aa750
--- /dev/null
+++ b/tests/dictionaries_old/60extra_load/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_load/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_load/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..cd2c3dc4f
--- /dev/null
+++ b/tests/dictionaries_old/60extra_load/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ Exportation de la base de ejabberd
+
+
+ none
+ daily
+ weekly
+ monthly
+ none
+
+
+ pre
+ pre
+ post
+
+
+
+
+
+ non
+ activer_ejabberd
+ none
+ daily
+ extra.ejabberd.day
+
+
+
diff --git a/tests/dictionaries_old/60extra_load/yml/00-base.yml b/tests/dictionaries_old/60extra_load/yml/00-base.yml
new file mode 100644
index 000000000..f1fcfb050
--- /dev/null
+++ b/tests/dictionaries_old/60extra_load/yml/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_load/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_load/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..2a9471564
--- /dev/null
+++ b/tests/dictionaries_old/60extra_load/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - variable:
+ - name: description
+ type: string
+ value:
+ - text: Exportation de la base de ejabberd
+ - name: day
+ type: choice
+ mandatory: true
+ choice:
+ - text: none
+ - text: daily
+ - text: weekly
+ - text: monthly
+ value:
+ - text: none
+ - name: mode
+ type: choice
+ mandatory: true
+ value:
+ - text: pre
+ choice:
+ - text: pre
+ - text: post
+constraints:
+- fill:
+ - name: calc_multi_condition
+ param:
+ - text: non
+ - type: variable
+ name: condition_1
+ propertyerror: false
+ text: activer_ejabberd
+ - name: match
+ text: none
+ - name: mismatch
+ text: daily
+ target:
+ - text: extra.ejabberd.day
diff --git a/tests/dictionaries_old/60extra_mandatory/00-base.xml b/tests/dictionaries_old/60extra_mandatory/00-base.xml
deleted file mode 100644
index 8c0f3365c..000000000
--- a/tests/dictionaries_old/60extra_mandatory/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_mandatory/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_mandatory/extra_dirs/extra/00-base.xml
deleted file mode 100644
index fd6e7405b..000000000
--- a/tests/dictionaries_old/60extra_mandatory/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
-
-
-
-
-
- non
- activer_ejabberd
- none
- daily
- extra.ejabberd.day
-
-
-
diff --git a/tests/dictionaries_old/60extra_mandatory/result/extra/00-base.yml b/tests/dictionaries_old/60extra_mandatory/result/extra/00-base.yml
new file mode 100644
index 000000000..88889cf98
--- /dev/null
+++ b/tests/dictionaries_old/60extra_mandatory/result/extra/00-base.yml
@@ -0,0 +1,27 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+ var1:
+ type: string
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_mandatory/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_mandatory/result/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_mandatory/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_mandatory/tiramisu/base.py b/tests/dictionaries_old/60extra_mandatory/tiramisu/base.py
index 18fa5781c..b2be62db5 100644
--- a/tests/dictionaries_old/60extra_mandatory/tiramisu/base.py
+++ b/tests/dictionaries_old/60extra_mandatory/tiramisu/base.py
@@ -1,24 +1,66 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['extra.ejabberd.day'] = "{{ \"non\" | calc_multi_condition(condition_1=__activer_ejabberd, match=\"none\", mismatch=\"daily\") }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_7 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
-option_8 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_4, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_8 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(extra.ejabberd.day), '__internal_type': ParamValue(choice), '__internal_multi': ParamValue(False)})), properties=frozenset({"mandatory", "normal"}))
option_9 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
option_10 = StrOption(name="var1", doc="var1", properties=frozenset({"basic", "mandatory"}))
-option_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7, option_8, option_9, option_10], properties=frozenset({"basic"}))
-option_5 = OptionDescription(name="extra", doc="extra", children=[option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5])
+optiondescription_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7, option_8, option_9, option_10], properties=frozenset({"basic"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_6], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries_old/60extra_mandatory/tiramisu/multi.py b/tests/dictionaries_old/60extra_mandatory/tiramisu/multi.py
new file mode 100644
index 000000000..b9aa4c422
--- /dev/null
+++ b/tests/dictionaries_old/60extra_mandatory/tiramisu/multi.py
@@ -0,0 +1,48 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_5 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_6 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_3, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_7 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="var1", doc="var1", properties=frozenset({"basic", "mandatory"}))
+optiondescription_4 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_5, option_6, option_7, option_8], properties=frozenset({"basic"}))
+optiondescription_19 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"basic"}))
+optiondescription_17 = OptionDescription(name="1", doc="1", children=[optiondescription_18, optiondescription_19])
+option_10 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_11 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_9 = OptionDescription(name="general", doc="général", children=[option_10, option_11], properties=frozenset({"normal"}))
+optiondescription_21 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_9], properties=frozenset({"normal"}))
+option_13 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_14 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_11, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_15 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+option_16 = StrOption(name="var1", doc="var1", properties=frozenset({"basic", "mandatory"}))
+optiondescription_12 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_13, option_14, option_15, option_16], properties=frozenset({"basic"}))
+optiondescription_22 = OptionDescription(name="extra", doc="extra", children=[optiondescription_12], properties=frozenset({"basic"}))
+optiondescription_20 = OptionDescription(name="2", doc="2", children=[optiondescription_21, optiondescription_22])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_17, optiondescription_20])
diff --git a/tests/dictionaries_old/60extra_mandatory/xml/00-base.xml b/tests/dictionaries_old/60extra_mandatory/xml/00-base.xml
new file mode 100644
index 000000000..cb25aa750
--- /dev/null
+++ b/tests/dictionaries_old/60extra_mandatory/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_mandatory/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_mandatory/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..3a96f5b9b
--- /dev/null
+++ b/tests/dictionaries_old/60extra_mandatory/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+ Exportation de la base de ejabberd
+
+
+ none
+ daily
+ weekly
+ monthly
+ none
+
+
+ pre
+ post
+ pre
+
+
+
+
+
+
+ non
+ activer_ejabberd
+ none
+ daily
+ extra.ejabberd.day
+
+
+
diff --git a/tests/dictionaries_old/60extra_mandatory/yml/00-base.yml b/tests/dictionaries_old/60extra_mandatory/yml/00-base.yml
new file mode 100644
index 000000000..f1fcfb050
--- /dev/null
+++ b/tests/dictionaries_old/60extra_mandatory/yml/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_mandatory/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_mandatory/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..6684e3f72
--- /dev/null
+++ b/tests/dictionaries_old/60extra_mandatory/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,46 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - variable:
+ - name: description
+ type: string
+ value:
+ - text: Exportation de la base de ejabberd
+ - name: day
+ type: choice
+ mandatory: true
+ choice:
+ - text: none
+ - text: daily
+ - text: weekly
+ - text: monthly
+ value:
+ - text: none
+ - name: mode
+ type: choice
+ mandatory: true
+ choice:
+ - text: pre
+ - text: post
+ value:
+ - text: pre
+ - name: var1
+ type: string
+ mandatory: true
+constraints:
+- fill:
+ - name: calc_multi_condition
+ param:
+ - text: non
+ - type: variable
+ name: condition_1
+ propertyerror: false
+ text: activer_ejabberd
+ - name: match
+ text: none
+ - name: mismatch
+ text: daily
+ target:
+ - text: extra.ejabberd.day
diff --git a/tests/dictionaries_old/60extra_name_family/00-base.xml b/tests/dictionaries_old/60extra_name_family/00-base.xml
deleted file mode 100644
index 2279aa8d5..000000000
--- a/tests/dictionaries_old/60extra_name_family/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_name_family/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_name_family/extra_dirs/extra/00-base.xml
deleted file mode 100644
index a11e423b2..000000000
--- a/tests/dictionaries_old/60extra_name_family/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
- pre
-
-
-
-
-
- non
- activer_ejabberd
- none
- daily
- extra.ejabberd.day
-
-
-
diff --git a/tests/dictionaries_old/60extra_name_family/result/extra/00-base.yml b/tests/dictionaries_old/60extra_name_family/result/extra/00-base.yml
new file mode 100644
index 000000000..a95568f5d
--- /dev/null
+++ b/tests/dictionaries_old/60extra_name_family/result/extra/00-base.yml
@@ -0,0 +1,24 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_name_family/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_name_family/result/rougail/00-base.yml
new file mode 100644
index 000000000..2d97f1169
--- /dev/null
+++ b/tests/dictionaries_old/60extra_name_family/result/rougail/00-base.yml
@@ -0,0 +1,12 @@
+extra:
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_name_family/tiramisu/base.py b/tests/dictionaries_old/60extra_name_family/tiramisu/base.py
index 6e9b939c2..50f9154f7 100644
--- a/tests/dictionaries_old/60extra_name_family/tiramisu/base.py
+++ b/tests/dictionaries_old/60extra_name_family/tiramisu/base.py
@@ -1,23 +1,65 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['extra.ejabberd.day'] = "{{ \"non\" | calc_multi_condition(condition_1=__activer_ejabberd, match=\"none\", mismatch=\"daily\") }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="extra", doc="extra", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="extra", doc="extra", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_7 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
-option_8 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_4, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_8 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(extra.ejabberd.day), '__internal_type': ParamValue(choice), '__internal_multi': ParamValue(False)})), properties=frozenset({"mandatory", "normal"}))
option_9 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
-option_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7, option_8, option_9], properties=frozenset({"normal"}))
-option_5 = OptionDescription(name="extra", doc="extra", children=[option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5])
+optiondescription_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7, option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries_old/60extra_name_family/tiramisu/multi.py b/tests/dictionaries_old/60extra_name_family/tiramisu/multi.py
new file mode 100644
index 000000000..a746df2ff
--- /dev/null
+++ b/tests/dictionaries_old/60extra_name_family/tiramisu/multi.py
@@ -0,0 +1,46 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="extra", doc="extra", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_5 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_6 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_3, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_7 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16, optiondescription_17])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="extra", doc="extra", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_19 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+option_12 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_13 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_10, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_14 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_11 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="extra", doc="extra", children=[optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="2", doc="2", children=[optiondescription_19, optiondescription_20])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_18])
diff --git a/tests/dictionaries_old/60extra_name_family/xml/00-base.xml b/tests/dictionaries_old/60extra_name_family/xml/00-base.xml
new file mode 100644
index 000000000..16883f23d
--- /dev/null
+++ b/tests/dictionaries_old/60extra_name_family/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_name_family/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_name_family/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..cd2c3dc4f
--- /dev/null
+++ b/tests/dictionaries_old/60extra_name_family/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ Exportation de la base de ejabberd
+
+
+ none
+ daily
+ weekly
+ monthly
+ none
+
+
+ pre
+ pre
+ post
+
+
+
+
+
+ non
+ activer_ejabberd
+ none
+ daily
+ extra.ejabberd.day
+
+
+
diff --git a/tests/dictionaries_old/60extra_name_family/yml/00-base.yml b/tests/dictionaries_old/60extra_name_family/yml/00-base.yml
new file mode 100644
index 000000000..9845e4b57
--- /dev/null
+++ b/tests/dictionaries_old/60extra_name_family/yml/00-base.yml
@@ -0,0 +1,18 @@
+version: '0.10'
+variables:
+- family:
+ - name: extra
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_name_family/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_name_family/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..2a9471564
--- /dev/null
+++ b/tests/dictionaries_old/60extra_name_family/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - variable:
+ - name: description
+ type: string
+ value:
+ - text: Exportation de la base de ejabberd
+ - name: day
+ type: choice
+ mandatory: true
+ choice:
+ - text: none
+ - text: daily
+ - text: weekly
+ - text: monthly
+ value:
+ - text: none
+ - name: mode
+ type: choice
+ mandatory: true
+ value:
+ - text: pre
+ choice:
+ - text: pre
+ - text: post
+constraints:
+- fill:
+ - name: calc_multi_condition
+ param:
+ - text: non
+ - type: variable
+ name: condition_1
+ propertyerror: false
+ text: activer_ejabberd
+ - name: match
+ text: none
+ - name: mismatch
+ text: daily
+ target:
+ - text: extra.ejabberd.day
diff --git a/tests/dictionaries_old/60extra_no_condition/00-base.xml b/tests/dictionaries_old/60extra_no_condition/00-base.xml
deleted file mode 100644
index 791dcd424..000000000
--- a/tests/dictionaries_old/60extra_no_condition/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_no_condition/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_no_condition/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 52089bf34..000000000
--- a/tests/dictionaries_old/60extra_no_condition/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
- pre
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_no_condition/result/extra/00-base.yml b/tests/dictionaries_old/60extra_no_condition/result/extra/00-base.yml
new file mode 100644
index 000000000..47d02767d
--- /dev/null
+++ b/tests/dictionaries_old/60extra_no_condition/result/extra/00-base.yml
@@ -0,0 +1,21 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default: none
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_no_condition/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_no_condition/result/rougail/00-base.yml
new file mode 100644
index 000000000..4c7f61ce1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_no_condition/result/rougail/00-base.yml
@@ -0,0 +1,17 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ module_instancie:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_no_condition/tiramisu/base.py b/tests/dictionaries_old/60extra_no_condition/tiramisu/base.py
index fb19b7573..89fffd1fb 100644
--- a/tests/dictionaries_old/60extra_no_condition/tiramisu/base.py
+++ b/tests/dictionaries_old/60extra_no_condition/tiramisu/base.py
@@ -1,24 +1,36 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_5 = StrOption(name="module_instancie", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
option_9 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default="none", properties=frozenset({"mandatory", "normal"}))
option_10 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
-option_7 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_8, option_9, option_10], properties=frozenset({"normal"}))
-option_6 = OptionDescription(name="extra", doc="extra", children=[option_7])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_7 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_8, option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_6 = OptionDescription(name="extra", doc="extra", children=[optiondescription_7], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries_old/60extra_no_condition/tiramisu/multi.py b/tests/dictionaries_old/60extra_no_condition/tiramisu/multi.py
new file mode 100644
index 000000000..3de901b74
--- /dev/null
+++ b/tests/dictionaries_old/60extra_no_condition/tiramisu/multi.py
@@ -0,0 +1,48 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_4 = StrOption(name="module_instancie", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_6 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_7 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default="none", properties=frozenset({"mandatory", "normal"}))
+option_8 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_6, option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_19 = OptionDescription(name="extra", doc="extra", children=[optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="1", doc="1", children=[optiondescription_18, optiondescription_19])
+option_10 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"mandatory", "normal"}))
+option_11 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_12 = StrOption(name="module_instancie", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_9 = OptionDescription(name="general", doc="général", children=[option_10, option_11, option_12], properties=frozenset({"normal"}))
+optiondescription_21 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_9], properties=frozenset({"normal"}))
+option_14 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"mandatory", "normal"}))
+option_15 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default="none", properties=frozenset({"mandatory", "normal"}))
+option_16 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_13 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_14, option_15, option_16], properties=frozenset({"normal"}))
+optiondescription_22 = OptionDescription(name="extra", doc="extra", children=[optiondescription_13], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="2", doc="2", children=[optiondescription_21, optiondescription_22])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_17, optiondescription_20])
diff --git a/tests/dictionaries_old/60extra_no_condition/xml/00-base.xml b/tests/dictionaries_old/60extra_no_condition/xml/00-base.xml
new file mode 100644
index 000000000..3d6dcbc2c
--- /dev/null
+++ b/tests/dictionaries_old/60extra_no_condition/xml/00-base.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_no_condition/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_no_condition/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..c6d59a192
--- /dev/null
+++ b/tests/dictionaries_old/60extra_no_condition/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+ Exportation de la base de ejabberd
+
+
+ none
+ daily
+ weekly
+ monthly
+ none
+
+
+ pre
+ pre
+ post
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_no_condition/yml/00-base.yml b/tests/dictionaries_old/60extra_no_condition/yml/00-base.yml
new file mode 100644
index 000000000..b2c84faae
--- /dev/null
+++ b/tests/dictionaries_old/60extra_no_condition/yml/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: module_instancie
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_no_condition/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_no_condition/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..6722541d2
--- /dev/null
+++ b/tests/dictionaries_old/60extra_no_condition/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,28 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - variable:
+ - name: description
+ type: string
+ value:
+ - text: Exportation de la base de ejabberd
+ - name: day
+ type: choice
+ mandatory: true
+ choice:
+ - text: none
+ - text: daily
+ - text: weekly
+ - text: monthly
+ value:
+ - text: none
+ - name: mode
+ type: choice
+ mandatory: true
+ value:
+ - text: pre
+ choice:
+ - text: pre
+ - text: post
diff --git a/tests/dictionaries_old/60extra_redefine/00-base.xml b/tests/dictionaries_old/60extra_redefine/00-base.xml
deleted file mode 100644
index 8c0f3365c..000000000
--- a/tests/dictionaries_old/60extra_redefine/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_redefine/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_redefine/extra_dirs/extra/00-base.xml
deleted file mode 100644
index a11e423b2..000000000
--- a/tests/dictionaries_old/60extra_redefine/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
- pre
-
-
-
-
-
- non
- activer_ejabberd
- none
- daily
- extra.ejabberd.day
-
-
-
diff --git a/tests/dictionaries_old/60extra_redefine/extra_dirs/extra/01-redefine.xml b/tests/dictionaries_old/60extra_redefine/extra_dirs/extra/01-redefine.xml
deleted file mode 100644
index 9103416e8..000000000
--- a/tests/dictionaries_old/60extra_redefine/extra_dirs/extra/01-redefine.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_redefine/result/extra/00-base.yml b/tests/dictionaries_old/60extra_redefine/result/extra/00-base.yml
new file mode 100644
index 000000000..a95568f5d
--- /dev/null
+++ b/tests/dictionaries_old/60extra_redefine/result/extra/00-base.yml
@@ -0,0 +1,24 @@
+ejabberd:
+ description:
+ type: string
+ default: Exportation de la base de ejabberd
+ day:
+ type: choice
+ mandatory: true
+ default:
+ type: jinja
+ jinja: '{{ "non" | calc_multi_condition(condition_1=__activer_ejabberd, match="none",
+ mismatch="daily") }}'
+ choices:
+ - none
+ - daily
+ - weekly
+ - monthly
+ mode:
+ type: choice
+ mandatory: true
+ default: pre
+ choices:
+ - pre
+ - post
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_redefine/result/extra/01-redefine.yml b/tests/dictionaries_old/60extra_redefine/result/extra/01-redefine.yml
new file mode 100644
index 000000000..27c322342
--- /dev/null
+++ b/tests/dictionaries_old/60extra_redefine/result/extra/01-redefine.yml
@@ -0,0 +1,5 @@
+ejabberd:
+ description:
+ redefine: true
+ hidden: true
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_redefine/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_redefine/result/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_redefine/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_redefine/tiramisu/base.py b/tests/dictionaries_old/60extra_redefine/tiramisu/base.py
index 83b38a7ed..21ee73df6 100644
--- a/tests/dictionaries_old/60extra_redefine/tiramisu/base.py
+++ b/tests/dictionaries_old/60extra_redefine/tiramisu/base.py
@@ -1,23 +1,65 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from jinja2 import StrictUndefined, DictLoader
+from jinja2.sandbox import SandboxedEnvironment
+from rougail.annotator.variable import CONVERT_OPTION
+def jinja_to_function(__internal_jinja, __internal_type, __internal_multi, **kwargs):
+ kw = {}
+ for key, value in kwargs.items():
+ if '.' in key:
+ c_kw = kw
+ path, var = key.rsplit('.', 1)
+ for subkey in path.split('.'):
+ c_kw = c_kw.setdefault(subkey, {})
+ c_kw[var] = value
+ else:
+ kw[key] = value
+ values = ENV.get_template(__internal_jinja).render(kw)
+ convert = CONVERT_OPTION[__internal_type].get('func', str)
+ if __internal_multi:
+ return [convert(val) for val in values.split(',')]
+ return convert(values)
+def valid_with_jinja(value, **kwargs):
+ kwargs[kwargs.pop('__internal_key')] = value
+ value = jinja_to_function(__internal_type='string', __internal_multi=False, **kwargs)
+ if value:
+ raise ValueError(value)
+func.jinja_to_function = jinja_to_function
+func.valid_with_jinja = valid_with_jinja
+dict_env = {}
+dict_env['extra.ejabberd.day'] = "{{ \"non\" | calc_multi_condition(condition_1=__activer_ejabberd, match=\"none\", mismatch=\"daily\") }}"
+ENV = SandboxedEnvironment(loader=DictLoader(dict_env), undefined=StrictUndefined)
+ENV.compile_templates('jinja_caches', zip=None)
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_7 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_8 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_4, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_8 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.jinja_to_function, Params((), kwargs={'__internal_jinja': ParamValue(extra.ejabberd.day), '__internal_type': ParamValue(choice), '__internal_multi': ParamValue(False)})), properties=frozenset({"mandatory", "normal"}))
option_9 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
-option_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7, option_8, option_9], properties=frozenset({"normal"}))
-option_5 = OptionDescription(name="extra", doc="extra", children=[option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5])
+optiondescription_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7, option_8, option_9], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries_old/60extra_redefine/tiramisu/multi.py b/tests/dictionaries_old/60extra_redefine/tiramisu/multi.py
new file mode 100644
index 000000000..ded1bb448
--- /dev/null
+++ b/tests/dictionaries_old/60extra_redefine/tiramisu/multi.py
@@ -0,0 +1,46 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_5 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_6 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_3, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_7 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_4 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_5, option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="1", doc="1", children=[optiondescription_16, optiondescription_17])
+option_9 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_10 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_8 = OptionDescription(name="general", doc="général", children=[option_9, option_10], properties=frozenset({"normal"}))
+optiondescription_19 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_8], properties=frozenset({"normal"}))
+option_12 = StrOption(name="description", doc="description", default="Exportation de la base de ejabberd", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_13 = ChoiceOption(name="day", doc="day", values=('none', 'daily', 'weekly', 'monthly'), default=Calculation(func.calc_multi_condition, Params((ParamValue("non")), kwargs={'condition_1': ParamOption(option_10, notraisepropertyerror=True), 'match': ParamValue("none"), 'mismatch': ParamValue("daily")})), properties=frozenset({"mandatory", "normal"}))
+option_14 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_11 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_12, option_13, option_14], properties=frozenset({"normal"}))
+optiondescription_20 = OptionDescription(name="extra", doc="extra", children=[optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="2", doc="2", children=[optiondescription_19, optiondescription_20])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_15, optiondescription_18])
diff --git a/tests/dictionaries_old/60extra_redefine/xml/00-base.xml b/tests/dictionaries_old/60extra_redefine/xml/00-base.xml
new file mode 100644
index 000000000..cb25aa750
--- /dev/null
+++ b/tests/dictionaries_old/60extra_redefine/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_redefine/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_redefine/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..cd2c3dc4f
--- /dev/null
+++ b/tests/dictionaries_old/60extra_redefine/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ Exportation de la base de ejabberd
+
+
+ none
+ daily
+ weekly
+ monthly
+ none
+
+
+ pre
+ pre
+ post
+
+
+
+
+
+ non
+ activer_ejabberd
+ none
+ daily
+ extra.ejabberd.day
+
+
+
diff --git a/tests/dictionaries_old/60extra_redefine/xml/extra_dirs/extra/01-redefine.xml b/tests/dictionaries_old/60extra_redefine/xml/extra_dirs/extra/01-redefine.xml
new file mode 100644
index 000000000..2107f5be0
--- /dev/null
+++ b/tests/dictionaries_old/60extra_redefine/xml/extra_dirs/extra/01-redefine.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_redefine/yml/00-base.yml b/tests/dictionaries_old/60extra_redefine/yml/00-base.yml
new file mode 100644
index 000000000..f1fcfb050
--- /dev/null
+++ b/tests/dictionaries_old/60extra_redefine/yml/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_redefine/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_redefine/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..2a9471564
--- /dev/null
+++ b/tests/dictionaries_old/60extra_redefine/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,43 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - variable:
+ - name: description
+ type: string
+ value:
+ - text: Exportation de la base de ejabberd
+ - name: day
+ type: choice
+ mandatory: true
+ choice:
+ - text: none
+ - text: daily
+ - text: weekly
+ - text: monthly
+ value:
+ - text: none
+ - name: mode
+ type: choice
+ mandatory: true
+ value:
+ - text: pre
+ choice:
+ - text: pre
+ - text: post
+constraints:
+- fill:
+ - name: calc_multi_condition
+ param:
+ - text: non
+ - type: variable
+ name: condition_1
+ propertyerror: false
+ text: activer_ejabberd
+ - name: match
+ text: none
+ - name: mismatch
+ text: daily
+ target:
+ - text: extra.ejabberd.day
diff --git a/tests/dictionaries_old/60extra_redefine/yml/extra_dirs/extra/01-redefine.yml b/tests/dictionaries_old/60extra_redefine/yml/extra_dirs/extra/01-redefine.yml
new file mode 100644
index 000000000..17a3f2b4f
--- /dev/null
+++ b/tests/dictionaries_old/60extra_redefine/yml/extra_dirs/extra/01-redefine.yml
@@ -0,0 +1,9 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - variable:
+ - name: description
+ redefine: true
+ hidden: true
diff --git a/tests/dictionaries_old/60extra_variable_name_extra/00-base.xml b/tests/dictionaries_old/60extra_variable_name_extra/00-base.xml
deleted file mode 100644
index 8c0f3365c..000000000
--- a/tests/dictionaries_old/60extra_variable_name_extra/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_variable_name_extra/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_variable_name_extra/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 1b43cfb79..000000000
--- a/tests/dictionaries_old/60extra_variable_name_extra/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/60extra_variable_name_extra/result/extra/00-base.yml b/tests/dictionaries_old/60extra_variable_name_extra/result/extra/00-base.yml
new file mode 100644
index 000000000..86179e740
--- /dev/null
+++ b/tests/dictionaries_old/60extra_variable_name_extra/result/extra/00-base.yml
@@ -0,0 +1,2 @@
+extra: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_variable_name_extra/result/rougail/00-base.yml b/tests/dictionaries_old/60extra_variable_name_extra/result/rougail/00-base.yml
new file mode 100644
index 000000000..1a857b0d1
--- /dev/null
+++ b/tests/dictionaries_old/60extra_variable_name_extra/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60extra_variable_name_extra/tiramisu/base.py b/tests/dictionaries_old/60extra_variable_name_extra/tiramisu/base.py
index 1d72f3884..423a144f5 100644
--- a/tests/dictionaries_old/60extra_variable_name_extra/tiramisu/base.py
+++ b/tests/dictionaries_old/60extra_variable_name_extra/tiramisu/base.py
@@ -1,20 +1,31 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_6 = StrOption(name="extra", doc="extra", properties=frozenset({"normal"}))
-option_5 = OptionDescription(name="extra", doc="extra", children=[option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[], properties=frozenset({"expert"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries_old/60extra_variable_name_extra/tiramisu/multi.py b/tests/dictionaries_old/60extra_variable_name_extra/tiramisu/multi.py
new file mode 100644
index 000000000..a5e401882
--- /dev/null
+++ b/tests/dictionaries_old/60extra_variable_name_extra/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_4 = StrOption(name="extra", doc="extra", properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="extra", doc="extra", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10, optiondescription_11])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+option_7 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="général", children=[option_6, option_7], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_8 = StrOption(name="extra", doc="extra", properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="extra", doc="extra", children=[option_8], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="2", doc="2", children=[optiondescription_13, optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_12])
diff --git a/tests/dictionaries_old/60extra_variable_name_extra/xml/00-base.xml b/tests/dictionaries_old/60extra_variable_name_extra/xml/00-base.xml
new file mode 100644
index 000000000..cb25aa750
--- /dev/null
+++ b/tests/dictionaries_old/60extra_variable_name_extra/xml/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ non
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_variable_name_extra/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60extra_variable_name_extra/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..93528ce57
--- /dev/null
+++ b/tests/dictionaries_old/60extra_variable_name_extra/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/60extra_variable_name_extra/yml/00-base.yml b/tests/dictionaries_old/60extra_variable_name_extra/yml/00-base.yml
new file mode 100644
index 000000000..f1fcfb050
--- /dev/null
+++ b/tests/dictionaries_old/60extra_variable_name_extra/yml/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60extra_variable_name_extra/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60extra_variable_name_extra/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..b55833699
--- /dev/null
+++ b/tests/dictionaries_old/60extra_variable_name_extra/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,4 @@
+version: '0.10'
+variables:
+- variable:
+ - name: extra
diff --git a/tests/dictionaries_old/60familyaction/00-base.xml b/tests/dictionaries_old/60familyaction/00-base.xml
deleted file mode 100644
index 849130906..000000000
--- a/tests/dictionaries_old/60familyaction/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60familyaction/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60familyaction/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 9fcc64782..000000000
--- a/tests/dictionaries_old/60familyaction/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- 0
-
-
-
-
diff --git a/tests/dictionaries_old/60familyaction/result/extra/00-base.yml b/tests/dictionaries_old/60familyaction/result/extra/00-base.yml
new file mode 100644
index 000000000..2ccc3ff50
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction/result/extra/00-base.yml
@@ -0,0 +1,6 @@
+test:
+ delay:
+ type: number
+ description: délai en minutes avant lancement
+ default: 0
+version: '1.0'
diff --git a/tests/dictionaries_old/60familyaction/result/rougail/00-base.yml b/tests/dictionaries_old/60familyaction/result/rougail/00-base.yml
new file mode 100644
index 000000000..1085cc1cc
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60familyaction/tiramisu/base.py b/tests/dictionaries_old/60familyaction/tiramisu/base.py
index bcc82cd28..6d9060651 100644
--- a/tests/dictionaries_old/60familyaction/tiramisu/base.py
+++ b/tests/dictionaries_old/60familyaction/tiramisu/base.py
@@ -1,20 +1,32 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_6 = IntOption(name="delay", doc="délai en minutes avant lancement", default=0, properties=frozenset({"mandatory", "normal"}))
-option_5 = OptionDescription(name="test", doc="test", children=[option_6], properties=frozenset({"normal"}))
-option_4 = OptionDescription(name="extra", doc="extra", children=[option_5])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="test", doc="test", children=[option_6], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="extra", doc="extra", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries_old/60familyaction/tiramisu/multi.py b/tests/dictionaries_old/60familyaction/tiramisu/multi.py
new file mode 100644
index 000000000..c2d17cefc
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction/tiramisu/multi.py
@@ -0,0 +1,40 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_10 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_4 = IntOption(name="delay", doc="délai en minutes avant lancement", default=0, properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="test", doc="test", children=[option_4], properties=frozenset({"normal"}))
+optiondescription_11 = OptionDescription(name="extra", doc="extra", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_9 = OptionDescription(name="1", doc="1", children=[optiondescription_10, optiondescription_11])
+option_6 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="général", children=[option_6], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_5], properties=frozenset({"normal"}))
+option_8 = IntOption(name="delay", doc="délai en minutes avant lancement", default=0, properties=frozenset({"mandatory", "normal"}))
+optiondescription_7 = OptionDescription(name="test", doc="test", children=[option_8], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="extra", doc="extra", children=[optiondescription_7], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="2", doc="2", children=[optiondescription_13, optiondescription_14])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_9, optiondescription_12])
diff --git a/tests/dictionaries_old/60familyaction/xml/00-base.xml b/tests/dictionaries_old/60familyaction/xml/00-base.xml
new file mode 100644
index 000000000..f0576995a
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60familyaction/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60familyaction/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..102f3af8f
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ 0
+
+
+
+
diff --git a/tests/dictionaries_old/60familyaction/yml/00-base.yml b/tests/dictionaries_old/60familyaction/yml/00-base.yml
new file mode 100644
index 000000000..862ba9941
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction/yml/00-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60familyaction/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60familyaction/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..e28f2266e
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,11 @@
+version: '0.10'
+variables:
+- family:
+ - name: test
+ variables:
+ - variable:
+ - name: delay
+ type: number
+ description: "d\xE9lai en minutes avant lancement"
+ value:
+ - text: 0
diff --git a/tests/dictionaries_old/60familyaction_mandatory/00-base.xml b/tests/dictionaries_old/60familyaction_mandatory/00-base.xml
deleted file mode 100644
index 849130906..000000000
--- a/tests/dictionaries_old/60familyaction_mandatory/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/60familyaction_mandatory/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60familyaction_mandatory/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 35fecda4e..000000000
--- a/tests/dictionaries_old/60familyaction_mandatory/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
- 0
-
-
-
-
-
diff --git a/tests/dictionaries_old/60familyaction_mandatory/result/extra/00-base.yml b/tests/dictionaries_old/60familyaction_mandatory/result/extra/00-base.yml
new file mode 100644
index 000000000..21c871450
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction_mandatory/result/extra/00-base.yml
@@ -0,0 +1,10 @@
+test:
+ delay:
+ type: number
+ description: délai en minutes avant lancement
+ default: 0
+ day:
+ type: number
+ description: day avant lancement
+ mandatory: true
+version: '1.0'
diff --git a/tests/dictionaries_old/60familyaction_mandatory/result/rougail/00-base.yml b/tests/dictionaries_old/60familyaction_mandatory/result/rougail/00-base.yml
new file mode 100644
index 000000000..1085cc1cc
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction_mandatory/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/60familyaction_mandatory/tiramisu/base.py b/tests/dictionaries_old/60familyaction_mandatory/tiramisu/base.py
index 247f504e4..c22837f9f 100644
--- a/tests/dictionaries_old/60familyaction_mandatory/tiramisu/base.py
+++ b/tests/dictionaries_old/60familyaction_mandatory/tiramisu/base.py
@@ -1,21 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_6 = IntOption(name="delay", doc="délai en minutes avant lancement", default=0, properties=frozenset({"mandatory", "normal"}))
option_7 = IntOption(name="day", doc="day avant lancement", properties=frozenset({"basic", "mandatory"}))
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_7], properties=frozenset({"basic"}))
-option_4 = OptionDescription(name="extra", doc="extra", children=[option_5])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="test", doc="test", children=[option_6, option_7], properties=frozenset({"basic"}))
+optiondescription_4 = OptionDescription(name="extra", doc="extra", children=[optiondescription_5], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries_old/60familyaction_mandatory/tiramisu/multi.py b/tests/dictionaries_old/60familyaction_mandatory/tiramisu/multi.py
new file mode 100644
index 000000000..be8923e29
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction_mandatory/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_4 = IntOption(name="delay", doc="délai en minutes avant lancement", default=0, properties=frozenset({"mandatory", "normal"}))
+option_5 = IntOption(name="day", doc="day avant lancement", properties=frozenset({"basic", "mandatory"}))
+optiondescription_3 = OptionDescription(name="test", doc="test", children=[option_4, option_5], properties=frozenset({"basic"}))
+optiondescription_13 = OptionDescription(name="extra", doc="extra", children=[optiondescription_3], properties=frozenset({"basic"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12, optiondescription_13])
+option_7 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="général", children=[option_7], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_9 = IntOption(name="delay", doc="délai en minutes avant lancement", default=0, properties=frozenset({"mandatory", "normal"}))
+option_10 = IntOption(name="day", doc="day avant lancement", properties=frozenset({"basic", "mandatory"}))
+optiondescription_8 = OptionDescription(name="test", doc="test", children=[option_9, option_10], properties=frozenset({"basic"}))
+optiondescription_16 = OptionDescription(name="extra", doc="extra", children=[optiondescription_8], properties=frozenset({"basic"}))
+optiondescription_14 = OptionDescription(name="2", doc="2", children=[optiondescription_15, optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_14])
diff --git a/tests/dictionaries_old/60familyaction_mandatory/xml/00-base.xml b/tests/dictionaries_old/60familyaction_mandatory/xml/00-base.xml
new file mode 100644
index 000000000..f0576995a
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction_mandatory/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/60familyaction_mandatory/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/60familyaction_mandatory/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..5a123419b
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction_mandatory/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+ 0
+
+
+
+
+
diff --git a/tests/dictionaries_old/60familyaction_mandatory/yml/00-base.yml b/tests/dictionaries_old/60familyaction_mandatory/yml/00-base.yml
new file mode 100644
index 000000000..862ba9941
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction_mandatory/yml/00-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: mode_conteneur_actif
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/60familyaction_mandatory/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/60familyaction_mandatory/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..8acaf2f4b
--- /dev/null
+++ b/tests/dictionaries_old/60familyaction_mandatory/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,15 @@
+version: '0.10'
+variables:
+- family:
+ - name: test
+ variables:
+ - variable:
+ - name: delay
+ type: number
+ description: "d\xE9lai en minutes avant lancement"
+ value:
+ - text: 0
+ - name: day
+ type: number
+ description: day avant lancement
+ mandatory: true
diff --git a/tests/dictionaries_old/61extra_auto_freeze/00-base.xml b/tests/dictionaries_old/61extra_auto_freeze/00-base.xml
deleted file mode 100644
index 0ab77a367..000000000
--- a/tests/dictionaries_old/61extra_auto_freeze/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/61extra_auto_freeze/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/61extra_auto_freeze/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 3d92c2c93..000000000
--- a/tests/dictionaries_old/61extra_auto_freeze/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- pre
-
-
-
-
diff --git a/tests/dictionaries_old/61extra_auto_freeze/result/extra/00-base.yml b/tests/dictionaries_old/61extra_auto_freeze/result/extra/00-base.yml
new file mode 100644
index 000000000..ad6bfb8b4
--- /dev/null
+++ b/tests/dictionaries_old/61extra_auto_freeze/result/extra/00-base.yml
@@ -0,0 +1,5 @@
+ejabberd:
+ mode:
+ type: string
+ default: pre
+version: '1.0'
diff --git a/tests/dictionaries_old/61extra_auto_freeze/result/rougail/00-base.yml b/tests/dictionaries_old/61extra_auto_freeze/result/rougail/00-base.yml
new file mode 100644
index 000000000..2bc290d44
--- /dev/null
+++ b/tests/dictionaries_old/61extra_auto_freeze/result/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ description: général
+ server_deployed:
+ type: boolean
+ description: No change
+ activer_ejabberd:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/61extra_auto_freeze/tiramisu/base.py b/tests/dictionaries_old/61extra_auto_freeze/tiramisu/base.py
index 2c63194bb..5d7ff6088 100644
--- a/tests/dictionaries_old/61extra_auto_freeze/tiramisu/base.py
+++ b/tests/dictionaries_old/61extra_auto_freeze/tiramisu/base.py
@@ -1,21 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = BoolOption(name="server_deployed", doc="No change", default=True, properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_7 = StrOption(name="mode", doc="mode", default="pre", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_3, todict=True, notraisepropertyerror=True), 'expected': ParamValue(True)}))}))
-option_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7], properties=frozenset({"basic"}))
-option_5 = OptionDescription(name="extra", doc="extra", children=[option_6])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_7 = StrOption(name="mode", doc="mode", default="pre", properties=frozenset({"mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="extra", doc="extra", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries_old/61extra_auto_freeze/tiramisu/multi.py b/tests/dictionaries_old/61extra_auto_freeze/tiramisu/multi.py
new file mode 100644
index 000000000..2e746e88d
--- /dev/null
+++ b/tests/dictionaries_old/61extra_auto_freeze/tiramisu/multi.py
@@ -0,0 +1,42 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = BoolOption(name="server_deployed", doc="No change", default=True, properties=frozenset({"mandatory", "normal"}))
+option_3 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2, option_3], properties=frozenset({"normal"}))
+optiondescription_12 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_5 = StrOption(name="mode", doc="mode", default="pre", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_2, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
+optiondescription_4 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_5], properties=frozenset({"basic"}))
+optiondescription_13 = OptionDescription(name="extra", doc="extra", children=[optiondescription_4], properties=frozenset({"basic"}))
+optiondescription_11 = OptionDescription(name="1", doc="1", children=[optiondescription_12, optiondescription_13])
+option_7 = BoolOption(name="server_deployed", doc="No change", default=True, properties=frozenset({"mandatory", "normal"}))
+option_8 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_6 = OptionDescription(name="general", doc="général", children=[option_7, option_8], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_6], properties=frozenset({"normal"}))
+option_10 = StrOption(name="mode", doc="mode", default="pre", properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func.calc_value, Params(ParamValue('frozen'), kwargs={'condition': ParamOption(option_7, notraisepropertyerror=True), 'expected': ParamValue(True)}), func.calc_value_property_help)}))
+optiondescription_9 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_10], properties=frozenset({"basic"}))
+optiondescription_16 = OptionDescription(name="extra", doc="extra", children=[optiondescription_9], properties=frozenset({"basic"}))
+optiondescription_14 = OptionDescription(name="2", doc="2", children=[optiondescription_15, optiondescription_16])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_11, optiondescription_14])
diff --git a/tests/dictionaries_old/61extra_auto_freeze/xml/00-base.xml b/tests/dictionaries_old/61extra_auto_freeze/xml/00-base.xml
new file mode 100644
index 000000000..a57a2b064
--- /dev/null
+++ b/tests/dictionaries_old/61extra_auto_freeze/xml/00-base.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+ non
+
+
+
+
diff --git a/tests/dictionaries_old/61extra_auto_freeze/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/61extra_auto_freeze/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..86263eced
--- /dev/null
+++ b/tests/dictionaries_old/61extra_auto_freeze/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ pre
+
+
+
+
diff --git a/tests/dictionaries_old/61extra_auto_freeze/yml/00-base.yml b/tests/dictionaries_old/61extra_auto_freeze/yml/00-base.yml
new file mode 100644
index 000000000..a93441ff6
--- /dev/null
+++ b/tests/dictionaries_old/61extra_auto_freeze/yml/00-base.yml
@@ -0,0 +1,16 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: server_deployed
+ type: boolean
+ description: No change
+ - name: activer_ejabberd
+ type: string
+ description: No change
+ hidden: true
+ value:
+ - text: non
diff --git a/tests/dictionaries_old/61extra_auto_freeze/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/61extra_auto_freeze/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..475aad268
--- /dev/null
+++ b/tests/dictionaries_old/61extra_auto_freeze/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,11 @@
+version: '0.10'
+variables:
+- family:
+ - name: ejabberd
+ variables:
+ - variable:
+ - name: mode
+ type: string
+ auto_freeze: true
+ value:
+ - text: pre
diff --git a/tests/dictionaries_old/61extra_dyn/00-base.xml b/tests/dictionaries_old/61extra_dyn/00-base.xml
deleted file mode 100644
index 95b534064..000000000
--- a/tests/dictionaries_old/61extra_dyn/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- a
-
-
-
-
diff --git a/tests/dictionaries_old/61extra_dyn/__init__.py b/tests/dictionaries_old/61extra_dyn/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/61extra_dyn/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/61extra_dyn/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 84709bfea..000000000
--- a/tests/dictionaries_old/61extra_dyn/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/61extra_dyn/makedict/after.json b/tests/dictionaries_old/61extra_dyn/makedict/after.json
deleted file mode 100644
index 648ee5b1a..000000000
--- a/tests/dictionaries_old/61extra_dyn/makedict/after.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "rougail.general.varname": {
- "owner": "default",
- "value": [
- "a"
- ]
- },
- "extra.ejabberda.modea": {
- "owner": "default",
- "value": null
- }
-}
diff --git a/tests/dictionaries_old/61extra_dyn/makedict/base.json b/tests/dictionaries_old/61extra_dyn/makedict/base.json
deleted file mode 100644
index 5315f6116..000000000
--- a/tests/dictionaries_old/61extra_dyn/makedict/base.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "rougail.general.varname": [
- "a"
- ],
- "extra.ejabberda.modea": null
-}
diff --git a/tests/dictionaries_old/61extra_dyn/makedict/before.json b/tests/dictionaries_old/61extra_dyn/makedict/before.json
deleted file mode 100644
index 648ee5b1a..000000000
--- a/tests/dictionaries_old/61extra_dyn/makedict/before.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "rougail.general.varname": {
- "owner": "default",
- "value": [
- "a"
- ]
- },
- "extra.ejabberda.modea": {
- "owner": "default",
- "value": null
- }
-}
diff --git a/tests/dictionaries_old/61extra_dyn/tiramisu/base.py b/tests/dictionaries_old/61extra_dyn/tiramisu/base.py
deleted file mode 100644
index a62391d70..000000000
--- a/tests/dictionaries_old/61extra_dyn/tiramisu/base.py
+++ /dev/null
@@ -1,21 +0,0 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
-try:
- from tiramisu4 import *
-except:
- from tiramisu import *
-from rougail.tiramisu import ConvertDynOptionDescription
-option_3 = StrOption(name="varname", doc="No change", multi=True, default=['a'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_6 = StrOption(name="mode", doc="mode", properties=frozenset({"normal"}))
-option_5 = ConvertDynOptionDescription(name="ejabberd", doc="ejabberd", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_6], properties=frozenset({"normal"}))
-option_4 = OptionDescription(name="extra", doc="extra", children=[option_5])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
diff --git a/tests/dictionaries_old/61extra_dyn_extra/00-base.xml b/tests/dictionaries_old/61extra_dyn_extra/00-base.xml
deleted file mode 100644
index 95b534064..000000000
--- a/tests/dictionaries_old/61extra_dyn_extra/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- a
-
-
-
-
diff --git a/tests/dictionaries_old/61extra_dyn_extra/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/61extra_dyn_extra/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 96ab370d3..000000000
--- a/tests/dictionaries_old/61extra_dyn_extra/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- a
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/61extra_dyn_extra/result/extra/00-base.yml b/tests/dictionaries_old/61extra_dyn_extra/result/extra/00-base.yml
new file mode 100644
index 000000000..6478b3c0f
--- /dev/null
+++ b/tests/dictionaries_old/61extra_dyn_extra/result/extra/00-base.yml
@@ -0,0 +1,14 @@
+general:
+ description: général
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - a
+ejabberd:
+ type: dynamic
+ variable: extra.general.varname
+ mode:
+ type: string
+version: '1.0'
diff --git a/tests/dictionaries_old/61extra_dyn_extra/result/rougail/00-base.yml b/tests/dictionaries_old/61extra_dyn_extra/result/rougail/00-base.yml
new file mode 100644
index 000000000..2926dc5df
--- /dev/null
+++ b/tests/dictionaries_old/61extra_dyn_extra/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+general:
+ description: général
+ varname:
+ type: string
+ description: No change
+ multi: true
+ default:
+ - a
+version: '1.0'
diff --git a/tests/dictionaries_old/61extra_dyn_extra/tiramisu/base.py b/tests/dictionaries_old/61extra_dyn_extra/tiramisu/base.py
index 6df61b371..87d1f479e 100644
--- a/tests/dictionaries_old/61extra_dyn_extra/tiramisu/base.py
+++ b/tests/dictionaries_old/61extra_dyn_extra/tiramisu/base.py
@@ -1,23 +1,34 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-from rougail.tiramisu import ConvertDynOptionDescription
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="varname", doc="No change", multi=True, default=['a'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_6 = StrOption(name="varname", doc="No change", multi=True, default=['a'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
-option_5 = OptionDescription(name="general", doc="général", children=[option_6], properties=frozenset({"normal"}))
+optiondescription_5 = OptionDescription(name="general", doc="général", children=[option_6], properties=frozenset({"normal"}))
option_8 = StrOption(name="mode", doc="mode", properties=frozenset({"normal"}))
-option_7 = ConvertDynOptionDescription(name="ejabberd", doc="ejabberd", suffixes=Calculation(func.calc_value, Params((ParamOption(option_6, notraisepropertyerror=True)))), children=[option_8], properties=frozenset({"normal"}))
-option_4 = OptionDescription(name="extra", doc="extra", children=[option_5, option_7])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_7 = ConvertDynOptionDescription(name="ejabberd", doc="ejabberd", suffixes=Calculation(func.calc_value, Params((ParamOption(option_6, notraisepropertyerror=True)))), children=[option_8], properties=frozenset({"normal"}))
+optiondescription_4 = OptionDescription(name="extra", doc="extra", children=[optiondescription_5, optiondescription_7], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries_old/61extra_dyn_extra/tiramisu/multi.py b/tests/dictionaries_old/61extra_dyn_extra/tiramisu/multi.py
new file mode 100644
index 000000000..47c6750db
--- /dev/null
+++ b/tests/dictionaries_old/61extra_dyn_extra/tiramisu/multi.py
@@ -0,0 +1,45 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+from rougail.tiramisu import ConvertDynOptionDescription
+option_2 = StrOption(name="varname", doc="No change", multi=True, default=['a'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="general", doc="général", children=[option_2], properties=frozenset({"normal"}))
+optiondescription_14 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_1], properties=frozenset({"normal"}))
+option_4 = StrOption(name="varname", doc="No change", multi=True, default=['a'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = OptionDescription(name="general", doc="général", children=[option_4], properties=frozenset({"normal"}))
+option_6 = StrOption(name="mode", doc="mode", properties=frozenset({"normal"}))
+optiondescription_5 = ConvertDynOptionDescription(name="ejabberd", doc="ejabberd", suffixes=Calculation(func.calc_value, Params((ParamOption(option_4, notraisepropertyerror=True)))), children=[option_6], properties=frozenset({"normal"}))
+optiondescription_15 = OptionDescription(name="extra", doc="extra", children=[optiondescription_3, optiondescription_5], properties=frozenset({"normal"}))
+optiondescription_13 = OptionDescription(name="1", doc="1", children=[optiondescription_14, optiondescription_15])
+option_8 = StrOption(name="varname", doc="No change", multi=True, default=['a'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
+optiondescription_7 = OptionDescription(name="general", doc="général", children=[option_8], properties=frozenset({"normal"}))
+optiondescription_17 = OptionDescription(name="rougail", doc="Rougail", children=[optiondescription_7], properties=frozenset({"normal"}))
+option_10 = StrOption(name="varname", doc="No change", multi=True, default=['a'], default_multi="a", properties=frozenset({"mandatory", "normal"}))
+optiondescription_9 = OptionDescription(name="general", doc="général", children=[option_10], properties=frozenset({"normal"}))
+option_12 = StrOption(name="mode", doc="mode", properties=frozenset({"normal"}))
+optiondescription_11 = ConvertDynOptionDescription(name="ejabberd", doc="ejabberd", suffixes=Calculation(func.calc_value, Params((ParamOption(option_10, notraisepropertyerror=True)))), children=[option_12], properties=frozenset({"normal"}))
+optiondescription_18 = OptionDescription(name="extra", doc="extra", children=[optiondescription_9, optiondescription_11], properties=frozenset({"normal"}))
+optiondescription_16 = OptionDescription(name="2", doc="2", children=[optiondescription_17, optiondescription_18])
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_13, optiondescription_16])
diff --git a/tests/dictionaries_old/61extra_dyn_extra/xml/00-base.xml b/tests/dictionaries_old/61extra_dyn_extra/xml/00-base.xml
new file mode 100644
index 000000000..aeb834270
--- /dev/null
+++ b/tests/dictionaries_old/61extra_dyn_extra/xml/00-base.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ a
+
+
+
+
diff --git a/tests/dictionaries_old/61extra_dyn_extra/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/61extra_dyn_extra/xml/extra_dirs/extra/00-base.xml
new file mode 100644
index 000000000..ec77ed419
--- /dev/null
+++ b/tests/dictionaries_old/61extra_dyn_extra/xml/extra_dirs/extra/00-base.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ a
+
+
+
+
+
+
+
diff --git a/tests/dictionaries_old/61extra_dyn_extra/yml/00-base.yml b/tests/dictionaries_old/61extra_dyn_extra/yml/00-base.yml
new file mode 100644
index 000000000..503e4928f
--- /dev/null
+++ b/tests/dictionaries_old/61extra_dyn_extra/yml/00-base.yml
@@ -0,0 +1,13 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: varname
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: a
diff --git a/tests/dictionaries_old/61extra_dyn_extra/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/61extra_dyn_extra/yml/extra_dirs/extra/00-base.yml
new file mode 100644
index 000000000..5142fd74c
--- /dev/null
+++ b/tests/dictionaries_old/61extra_dyn_extra/yml/extra_dirs/extra/00-base.yml
@@ -0,0 +1,19 @@
+version: '0.10'
+variables:
+- family:
+ - name: general
+ description: "g\xE9n\xE9ral"
+ variables:
+ - variable:
+ - name: varname
+ type: string
+ description: No change
+ multi: true
+ value:
+ - text: a
+ - name: ejabberd
+ dynamic: extra.general.varname
+ variables:
+ - variable:
+ - name: mode
+ type: string
diff --git a/tests/dictionaries_old/70container_files/00-base.xml b/tests/dictionaries_old/70container_files/00-base.xml
deleted file mode 100644
index 48ce7ce04..000000000
--- a/tests/dictionaries_old/70container_files/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- /etc/mailname
- /rougail.conf
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/70container_files/makedict/after.json b/tests/dictionaries_old/70container_files/makedict/after.json
index 0329a8b51..7bda84dda 100644
--- a/tests/dictionaries_old/70container_files/makedict/after.json
+++ b/tests/dictionaries_old/70container_files/makedict/after.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.rougail_conf.name": {
+ "services.test_service.files.rougail_conf.name": {
"owner": "default",
"value": "/rougail.conf"
},
- "services.test.files.rougail_conf.activate": {
+ "services.test_service.files.rougail_conf.source": {
+ "owner": "default",
+ "value": "rougail.conf"
+ },
+ "services.test_service.files.rougail_conf.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_files/makedict/base.json b/tests/dictionaries_old/70container_files/makedict/base.json
index ab53f2b82..0ac00793a 100644
--- a/tests/dictionaries_old/70container_files/makedict/base.json
+++ b/tests/dictionaries_old/70container_files/makedict/base.json
@@ -1,9 +1,11 @@
{
"rougail.general.mode_conteneur_actif": "oui",
- "services.test.files.mailname.name": "/etc/mailname",
- "services.test.files.mailname.activate": true,
- "services.test.files.rougail_conf.name": "/rougail.conf",
- "services.test.files.rougail_conf.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.mailname.name": "/etc/mailname",
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.files.rougail_conf.name": "/rougail.conf",
+ "services.test_service.files.rougail_conf.source": "rougail.conf",
+ "services.test_service.files.rougail_conf.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70container_files/makedict/before.json b/tests/dictionaries_old/70container_files/makedict/before.json
index 0329a8b51..7bda84dda 100644
--- a/tests/dictionaries_old/70container_files/makedict/before.json
+++ b/tests/dictionaries_old/70container_files/makedict/before.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.rougail_conf.name": {
+ "services.test_service.files.rougail_conf.name": {
"owner": "default",
"value": "/rougail.conf"
},
- "services.test.files.rougail_conf.activate": {
+ "services.test_service.files.rougail_conf.source": {
+ "owner": "default",
+ "value": "rougail.conf"
+ },
+ "services.test_service.files.rougail_conf.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_files/result/etc/mailname b/tests/dictionaries_old/70container_files/result/etc/mailname
deleted file mode 100644
index bd51bf63f..000000000
--- a/tests/dictionaries_old/70container_files/result/etc/mailname
+++ /dev/null
@@ -1 +0,0 @@
-oui
diff --git a/tests/dictionaries_old/70container_files/result/rougail.conf b/tests/dictionaries_old/70container_files/result/rougail.conf
deleted file mode 100644
index b8f8a226c..000000000
--- a/tests/dictionaries_old/70container_files/result/rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/share/factory/etc/mailname
-z /etc/mailname - - - - -
diff --git a/tests/dictionaries_old/70container_files/result/rougail/00-base.yml b/tests/dictionaries_old/70container_files/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70container_files/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_files/result/services/00-base.yml b/tests/dictionaries_old/70container_files/result/services/00-base.yml
new file mode 100644
index 000000000..5e5dcb3e3
--- /dev/null
+++ b/tests/dictionaries_old/70container_files/result/services/00-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /rougail.conf: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_files/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70container_files/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 46697e03a..000000000
--- a/tests/dictionaries_old/70container_files/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
-z /etc/mailname - - - - -
diff --git a/tests/dictionaries_old/70container_files/tiramisu/base.py b/tests/dictionaries_old/70container_files/tiramisu/base.py
index b243004ef..431ca69dd 100644
--- a/tests/dictionaries_old/70container_files/tiramisu/base.py
+++ b/tests/dictionaries_old/70container_files/tiramisu/base.py
@@ -1,30 +1,43 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9])
-option_7.impl_set_information('source', "mailname")
-option_11 = FilenameOption(name="name", doc="name", default="/rougail.conf")
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = OptionDescription(name="rougail_conf", doc="rougail.conf", children=[option_11, option_12])
-option_10.impl_set_information('source', "rougail.conf")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_10])
-option_13 = BoolOption(name="activate", doc="activate", default=True)
-option_14 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_13, option_14])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/mailname")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/rougail.conf")
+option_13 = FilenameOption(name="source", doc="source", default="/rougail.conf")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="rougail_conf", doc="rougail_conf", children=[option_12, option_13, option_14])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_16 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_15, option_16])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70container_files/tiramisu/multi.py b/tests/dictionaries_old/70container_files/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70container_files/tiramisu/multi.py
rename to tests/dictionaries_old/70container_files/tiramisu/multi.py
diff --git a/tests/dictionaries_old/70container_files/tmpl/rougail.conf b/tests/dictionaries_old/70container_files/tmpl/rougail.conf
index cd853a0e9..b023342ea 100644
--- a/tests/dictionaries_old/70container_files/tmpl/rougail.conf
+++ b/tests/dictionaries_old/70container_files/tmpl/rougail.conf
@@ -2,7 +2,7 @@
%if %%hasattr(%%service, 'files')
%for %%file in %%service.files
%if %%file.name != %%rougail_filename and %%hasattr(%%file, 'activate') and %%file.activate == True
-C %%file.name %%file.mode %%file.owner %%file.group - /usr/local/share/factory%%file.name
+C %%file.name 0%%file.mode %%file.owner %%file.group - /usr/local/share/factory%%file.name
z %%file.name - - - - -
%end if
%end for
diff --git a/tests/dictionaries/70container_files/xml/00-base.xml b/tests/dictionaries_old/70container_files/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_files/xml/00-base.xml
rename to tests/dictionaries_old/70container_files/xml/00-base.xml
diff --git a/tests/dictionaries/70container_files/yml/00-base.yml b/tests/dictionaries_old/70container_files/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70container_files/yml/00-base.yml
rename to tests/dictionaries_old/70container_files/yml/00-base.yml
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/00-base.xml b/tests/dictionaries_old/70container_files_symlink_multi/00-base.xml
deleted file mode 100644
index 64cdcb1a3..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- file_name
- file_name2
-
-
-
-
- /etc/mailname
- /etc/mailname2
-
-
- /etc/mailname3
- /etc/mailname4
-
-
-
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/makedict/after.json b/tests/dictionaries_old/70container_files_symlink_multi/makedict/after.json
index 38b626a10..83931d921 100644
--- a/tests/dictionaries_old/70container_files_symlink_multi/makedict/after.json
+++ b/tests/dictionaries_old/70container_files_symlink_multi/makedict/after.json
@@ -13,33 +13,41 @@
"/etc/mailname4"
]
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": [
"/etc/mailname",
"/etc/mailname2"
]
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.mailname2.name": {
+ "services.test_service.files.mailname2.name": {
"owner": "default",
"value": [
"/etc/mailname3",
"/etc/mailname4"
]
},
- "services.test.files.mailname2.activate": {
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/makedict/base.json b/tests/dictionaries_old/70container_files_symlink_multi/makedict/base.json
index ca49f33b5..5bea627c6 100644
--- a/tests/dictionaries_old/70container_files_symlink_multi/makedict/base.json
+++ b/tests/dictionaries_old/70container_files_symlink_multi/makedict/base.json
@@ -7,16 +7,18 @@
"/etc/mailname3",
"/etc/mailname4"
],
- "services.test.files.mailname.name": [
+ "services.test_service.files.mailname.name": [
"/etc/mailname",
"/etc/mailname2"
],
- "services.test.files.mailname.activate": true,
- "services.test.files.mailname2.name": [
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.files.mailname2.name": [
"/etc/mailname3",
"/etc/mailname4"
],
- "services.test.files.mailname2.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.mailname2.source": "mailname2",
+ "services.test_service.files.mailname2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/makedict/before.json b/tests/dictionaries_old/70container_files_symlink_multi/makedict/before.json
index 38b626a10..83931d921 100644
--- a/tests/dictionaries_old/70container_files_symlink_multi/makedict/before.json
+++ b/tests/dictionaries_old/70container_files_symlink_multi/makedict/before.json
@@ -13,33 +13,41 @@
"/etc/mailname4"
]
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": [
"/etc/mailname",
"/etc/mailname2"
]
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.mailname2.name": {
+ "services.test_service.files.mailname2.name": {
"owner": "default",
"value": [
"/etc/mailname3",
"/etc/mailname4"
]
},
- "services.test.files.mailname2.activate": {
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname b/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname
deleted file mode 100644
index 1a03818dc..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname
+++ /dev/null
@@ -1 +0,0 @@
-/etc/mailname
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname2 b/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname2
deleted file mode 100644
index 03e217966..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname2
+++ /dev/null
@@ -1 +0,0 @@
-/etc/mailname2
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname3 b/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname3
deleted file mode 100644
index 2585efaa0..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname3
+++ /dev/null
@@ -1 +0,0 @@
-/etc/mailname3
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname4 b/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname4
deleted file mode 100644
index d58aef4bf..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi/result/etc/mailname4
+++ /dev/null
@@ -1 +0,0 @@
-/etc/mailname4
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/result/rougail/00-base.yml b/tests/dictionaries_old/70container_files_symlink_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..c49cf0f1b
--- /dev/null
+++ b/tests/dictionaries_old/70container_files_symlink_multi/result/rougail/00-base.yml
@@ -0,0 +1,13 @@
+file_name:
+ type: filename
+ multi: true
+ default:
+ - /etc/mailname
+ - /etc/mailname2
+file_name2:
+ type: filename
+ multi: true
+ default:
+ - /etc/mailname3
+ - /etc/mailname4
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/result/services/00-base.yml b/tests/dictionaries_old/70container_files_symlink_multi/result/services/00-base.yml
new file mode 100644
index 000000000..7da3c0b5d
--- /dev/null
+++ b/tests/dictionaries_old/70container_files_symlink_multi/result/services/00-base.yml
@@ -0,0 +1,10 @@
+test.service:
+ files:
+ rougail.file_name:
+ source: mailname
+ type: variable
+ rougail.file_name2:
+ source: mailname2
+ engine: jinja
+ type: variable
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70container_files_symlink_multi/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 95445abe3..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
-z /etc/mailname - - - - -
-C /etc/mailname2 0644 root root - /usr/local/lib/etc/mailname2
-z /etc/mailname2 - - - - -
-C /etc/mailname3 0644 root root - /usr/local/lib/etc/mailname3
-z /etc/mailname3 - - - - -
-C /etc/mailname4 0644 root root - /usr/local/lib/etc/mailname4
-z /etc/mailname4 - - - - -
diff --git a/tests/dictionaries_old/70container_files_symlink_multi/tiramisu/base.py b/tests/dictionaries_old/70container_files_symlink_multi/tiramisu/base.py
index daa9d8061..2e832d1ce 100644
--- a/tests/dictionaries_old/70container_files_symlink_multi/tiramisu/base.py
+++ b/tests/dictionaries_old/70container_files_symlink_multi/tiramisu/base.py
@@ -1,31 +1,44 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = FilenameOption(name="file_name", doc="file_name", multi=True, default=['/etc/mailname', '/etc/mailname2'], default_multi="/etc/mailname", properties=frozenset({"mandatory", "normal"}))
option_3 = FilenameOption(name="file_name2", doc="file_name2", multi=True, default=['/etc/mailname3', '/etc/mailname4'], default_multi="/etc/mailname3", properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_8 = SymLinkOption(name="name", opt=option_2)
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9])
-option_7.impl_set_information('source', "mailname")
-option_11 = SymLinkOption(name="name", opt=option_3)
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = OptionDescription(name="mailname2", doc="mailname2", children=[option_11, option_12])
-option_10.impl_set_information('engine', "jinja")
-option_10.impl_set_information('source', "mailname2")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_10])
-option_13 = BoolOption(name="activate", doc="activate", default=True)
-option_14 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_13, option_14])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
+option_8 = FilenameOption(name="name", doc="name", default="rougail.file_name")
+option_9 = FilenameOption(name="source", doc="source", default="rougail.file_name")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="rougail.file_name2")
+option_13 = FilenameOption(name="source", doc="source", default="rougail.file_name2")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="mailname2", doc="mailname2", children=[option_12, option_13, option_14])
+optiondescription_11.impl_set_information('engine', "jinja")
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_16 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_15, option_16])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70container_files_symlink_multi/tiramisu/multi.py b/tests/dictionaries_old/70container_files_symlink_multi/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_multi/tiramisu/multi.py
rename to tests/dictionaries_old/70container_files_symlink_multi/tiramisu/multi.py
diff --git a/tests/dictionaries/70container_files_symlink_multi/xml/00-base.xml b/tests/dictionaries_old/70container_files_symlink_multi/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_multi/xml/00-base.xml
rename to tests/dictionaries_old/70container_files_symlink_multi/xml/00-base.xml
diff --git a/tests/dictionaries/70container_files_symlink_multi/yml/00-base.yml b/tests/dictionaries_old/70container_files_symlink_multi/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_multi/yml/00-base.yml
rename to tests/dictionaries_old/70container_files_symlink_multi/yml/00-base.yml
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/00-base.xml b/tests/dictionaries_old/70container_files_symlink_multi_variable/00-base.xml
deleted file mode 100644
index ea1350515..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi_variable/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- file_name
- file_name2
-
-
-
-
- /etc/mailname
- /etc/mailname2
-
-
- /etc/mailname3
- /etc/mailname4
-
-
- mailname
- mailname2
-
-
-
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/after.json b/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/after.json
index 85f109144..8cc22a152 100644
--- a/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/after.json
+++ b/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/after.json
@@ -20,47 +20,55 @@
"mailname2"
]
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": [
"/etc/mailname",
"/etc/mailname2"
]
},
- "services.test.files.mailname.variable": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.variable": {
"owner": "default",
"value": [
"mailname",
"mailname2"
]
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.mailname2.name": {
+ "services.test_service.files.mailname2.name": {
"owner": "default",
"value": [
"/etc/mailname3",
"/etc/mailname4"
]
},
- "services.test.files.mailname2.variable": {
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.variable": {
"owner": "default",
"value": [
"mailname",
"mailname2"
]
},
- "services.test.files.mailname2.activate": {
+ "services.test_service.files.mailname2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/base.json b/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/base.json
index 3d2fce359..2f4d119d9 100644
--- a/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/base.json
+++ b/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/base.json
@@ -11,24 +11,26 @@
"mailname",
"mailname2"
],
- "services.test.files.mailname.name": [
+ "services.test_service.files.mailname.name": [
"/etc/mailname",
"/etc/mailname2"
],
- "services.test.files.mailname.variable": [
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.variable": [
"mailname",
"mailname2"
],
- "services.test.files.mailname.activate": true,
- "services.test.files.mailname2.name": [
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.files.mailname2.name": [
"/etc/mailname3",
"/etc/mailname4"
],
- "services.test.files.mailname2.variable": [
+ "services.test_service.files.mailname2.source": "mailname2",
+ "services.test_service.files.mailname2.variable": [
"mailname",
"mailname2"
],
- "services.test.files.mailname2.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.mailname2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/before.json b/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/before.json
index 85f109144..8cc22a152 100644
--- a/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/before.json
+++ b/tests/dictionaries_old/70container_files_symlink_multi_variable/makedict/before.json
@@ -20,47 +20,55 @@
"mailname2"
]
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": [
"/etc/mailname",
"/etc/mailname2"
]
},
- "services.test.files.mailname.variable": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.variable": {
"owner": "default",
"value": [
"mailname",
"mailname2"
]
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.mailname2.name": {
+ "services.test_service.files.mailname2.name": {
"owner": "default",
"value": [
"/etc/mailname3",
"/etc/mailname4"
]
},
- "services.test.files.mailname2.variable": {
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.variable": {
"owner": "default",
"value": [
"mailname",
"mailname2"
]
},
- "services.test.files.mailname2.activate": {
+ "services.test_service.files.mailname2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname b/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname
deleted file mode 100644
index 0288f489b..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname
+++ /dev/null
@@ -1 +0,0 @@
-mailname
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname2 b/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname2
deleted file mode 100644
index 80d43ca54..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname2
+++ /dev/null
@@ -1 +0,0 @@
-mailname2
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname3 b/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname3
deleted file mode 100644
index 0288f489b..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname3
+++ /dev/null
@@ -1 +0,0 @@
-mailname
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname4 b/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname4
deleted file mode 100644
index 80d43ca54..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/etc/mailname4
+++ /dev/null
@@ -1 +0,0 @@
-mailname2
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/rougail/00-base.yml b/tests/dictionaries_old/70container_files_symlink_multi_variable/result/rougail/00-base.yml
new file mode 100644
index 000000000..aa8529a0f
--- /dev/null
+++ b/tests/dictionaries_old/70container_files_symlink_multi_variable/result/rougail/00-base.yml
@@ -0,0 +1,19 @@
+file_name:
+ type: filename
+ multi: true
+ default:
+ - /etc/mailname
+ - /etc/mailname2
+file_name2:
+ type: filename
+ multi: true
+ default:
+ - /etc/mailname3
+ - /etc/mailname4
+var:
+ type: string
+ multi: true
+ default:
+ - mailname
+ - mailname2
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/services/00-base.yml b/tests/dictionaries_old/70container_files_symlink_multi_variable/result/services/00-base.yml
new file mode 100644
index 000000000..0e03e2738
--- /dev/null
+++ b/tests/dictionaries_old/70container_files_symlink_multi_variable/result/services/00-base.yml
@@ -0,0 +1,12 @@
+test.service:
+ files:
+ rougail.file_name:
+ source: mailname
+ variable: rougail.var
+ type: variable
+ rougail.file_name2:
+ source: mailname2
+ variable: rougail.var
+ engine: jinja
+ type: variable
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70container_files_symlink_multi_variable/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 95445abe3..000000000
--- a/tests/dictionaries_old/70container_files_symlink_multi_variable/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
-z /etc/mailname - - - - -
-C /etc/mailname2 0644 root root - /usr/local/lib/etc/mailname2
-z /etc/mailname2 - - - - -
-C /etc/mailname3 0644 root root - /usr/local/lib/etc/mailname3
-z /etc/mailname3 - - - - -
-C /etc/mailname4 0644 root root - /usr/local/lib/etc/mailname4
-z /etc/mailname4 - - - - -
diff --git a/tests/dictionaries_old/70container_files_symlink_multi_variable/tiramisu/base.py b/tests/dictionaries_old/70container_files_symlink_multi_variable/tiramisu/base.py
index c5f881be1..21c3b1d40 100644
--- a/tests/dictionaries_old/70container_files_symlink_multi_variable/tiramisu/base.py
+++ b/tests/dictionaries_old/70container_files_symlink_multi_variable/tiramisu/base.py
@@ -1,34 +1,45 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = FilenameOption(name="file_name", doc="file_name", multi=True, default=['/etc/mailname', '/etc/mailname2'], default_multi="/etc/mailname", properties=frozenset({"mandatory", "normal"}))
option_3 = FilenameOption(name="file_name2", doc="file_name2", multi=True, default=['/etc/mailname3', '/etc/mailname4'], default_multi="/etc/mailname3", properties=frozenset({"mandatory", "normal"}))
option_4 = StrOption(name="var", doc="var", multi=True, default=['mailname', 'mailname2'], default_multi="mailname", properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3, option_4])
-option_9 = SymLinkOption(name="name", opt=option_2)
-option_10 = SymLinkOption(name="variable", opt=option_4)
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3, option_4], properties=frozenset({"normal"}))
+option_9 = FilenameOption(name="name", doc="name", default="rougail.file_name")
+option_10 = FilenameOption(name="source", doc="source", default="rougail.file_name")
option_11 = BoolOption(name="activate", doc="activate", default=True)
-option_8 = OptionDescription(name="mailname", doc="mailname", children=[option_9, option_10, option_11])
-option_8.impl_set_information('source', "mailname")
-option_13 = SymLinkOption(name="name", opt=option_3)
-option_14 = SymLinkOption(name="variable", opt=option_4)
+optiondescription_8 = OptionDescription(name="mailname", doc="mailname", children=[option_9, option_10, option_11])
+option_13 = FilenameOption(name="name", doc="name", default="rougail.file_name2")
+option_14 = FilenameOption(name="source", doc="source", default="rougail.file_name2")
option_15 = BoolOption(name="activate", doc="activate", default=True)
-option_12 = OptionDescription(name="mailname2", doc="mailname2", children=[option_13, option_14, option_15])
-option_12.impl_set_information('engine', "jinja")
-option_12.impl_set_information('source', "mailname2")
-option_7 = OptionDescription(name="files", doc="files", children=[option_8, option_12])
+optiondescription_12 = OptionDescription(name="mailname2", doc="mailname2", children=[option_13, option_14, option_15])
+optiondescription_12.impl_set_information('engine', "jinja")
+optiondescription_7 = OptionDescription(name="files", doc="files", children=[optiondescription_8, optiondescription_12])
option_16 = BoolOption(name="activate", doc="activate", default=True)
option_17 = BoolOption(name="manage", doc="manage", default=True)
-option_6 = OptionDescription(name="test", doc="test", children=[option_7, option_16, option_17])
-option_5 = OptionDescription(name="services", doc="services", children=[option_6], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5])
+optiondescription_6 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_7, option_16, option_17])
+optiondescription_6.impl_set_information('type', "service")
+optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/tiramisu/multi.py b/tests/dictionaries_old/70container_files_symlink_multi_variable/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_multi_variable/tiramisu/multi.py
rename to tests/dictionaries_old/70container_files_symlink_multi_variable/tiramisu/multi.py
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/xml/00-base.xml b/tests/dictionaries_old/70container_files_symlink_multi_variable/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_multi_variable/xml/00-base.xml
rename to tests/dictionaries_old/70container_files_symlink_multi_variable/xml/00-base.xml
diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/yml/00-base.yml b/tests/dictionaries_old/70container_files_symlink_multi_variable/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_multi_variable/yml/00-base.yml
rename to tests/dictionaries_old/70container_files_symlink_multi_variable/yml/00-base.yml
diff --git a/tests/dictionaries_old/70container_files_symlink_variable/00-base.xml b/tests/dictionaries_old/70container_files_symlink_variable/00-base.xml
deleted file mode 100644
index 19f77a673..000000000
--- a/tests/dictionaries_old/70container_files_symlink_variable/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- file_name
-
-
-
-
- /etc/mailname
-
-
- mailname
-
-
-
diff --git a/tests/dictionaries_old/70container_files_symlink_variable/makedict/after.json b/tests/dictionaries_old/70container_files_symlink_variable/makedict/after.json
index 06490541c..b747831d7 100644
--- a/tests/dictionaries_old/70container_files_symlink_variable/makedict/after.json
+++ b/tests/dictionaries_old/70container_files_symlink_variable/makedict/after.json
@@ -7,23 +7,27 @@
"owner": "default",
"value": "mailname"
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.variable": {
+ "services.test_service.files.mailname.source": {
"owner": "default",
"value": "mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.variable": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_files_symlink_variable/makedict/base.json b/tests/dictionaries_old/70container_files_symlink_variable/makedict/base.json
index 6f9a4fd00..0a2aa4556 100644
--- a/tests/dictionaries_old/70container_files_symlink_variable/makedict/base.json
+++ b/tests/dictionaries_old/70container_files_symlink_variable/makedict/base.json
@@ -1,9 +1,10 @@
{
"rougail.file_name": "/etc/mailname",
"rougail.var": "mailname",
- "services.test.files.mailname.name": "/etc/mailname",
- "services.test.files.mailname.variable": "mailname",
- "services.test.files.mailname.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.mailname.name": "/etc/mailname",
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.variable": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70container_files_symlink_variable/makedict/before.json b/tests/dictionaries_old/70container_files_symlink_variable/makedict/before.json
index 06490541c..b747831d7 100644
--- a/tests/dictionaries_old/70container_files_symlink_variable/makedict/before.json
+++ b/tests/dictionaries_old/70container_files_symlink_variable/makedict/before.json
@@ -7,23 +7,27 @@
"owner": "default",
"value": "mailname"
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.variable": {
+ "services.test_service.files.mailname.source": {
"owner": "default",
"value": "mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.variable": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_files_symlink_variable/result/etc/mailname b/tests/dictionaries_old/70container_files_symlink_variable/result/etc/mailname
deleted file mode 100644
index 0288f489b..000000000
--- a/tests/dictionaries_old/70container_files_symlink_variable/result/etc/mailname
+++ /dev/null
@@ -1 +0,0 @@
-mailname
diff --git a/tests/dictionaries_old/70container_files_symlink_variable/result/rougail/00-base.yml b/tests/dictionaries_old/70container_files_symlink_variable/result/rougail/00-base.yml
new file mode 100644
index 000000000..4713f9927
--- /dev/null
+++ b/tests/dictionaries_old/70container_files_symlink_variable/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+file_name:
+ type: filename
+ default: /etc/mailname
+var:
+ type: string
+ default: mailname
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_files_symlink_variable/result/services/00-base.yml b/tests/dictionaries_old/70container_files_symlink_variable/result/services/00-base.yml
new file mode 100644
index 000000000..e45aadb6a
--- /dev/null
+++ b/tests/dictionaries_old/70container_files_symlink_variable/result/services/00-base.yml
@@ -0,0 +1,7 @@
+test.service:
+ files:
+ rougail.file_name:
+ source: mailname
+ variable: rougail.var
+ type: variable
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_files_symlink_variable/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70container_files_symlink_variable/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index 46697e03a..000000000
--- a/tests/dictionaries_old/70container_files_symlink_variable/result/tmpfiles.d/rougail.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
-z /etc/mailname - - - - -
diff --git a/tests/dictionaries_old/70container_files_symlink_variable/tiramisu/base.py b/tests/dictionaries_old/70container_files_symlink_variable/tiramisu/base.py
index f93c3f356..4684a174b 100644
--- a/tests/dictionaries_old/70container_files_symlink_variable/tiramisu/base.py
+++ b/tests/dictionaries_old/70container_files_symlink_variable/tiramisu/base.py
@@ -1,27 +1,39 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = FilenameOption(name="file_name", doc="file_name", default="/etc/mailname", properties=frozenset({"mandatory", "normal"}))
option_3 = StrOption(name="var", doc="var", default="mailname", properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_8 = SymLinkOption(name="name", opt=option_2)
-option_9 = SymLinkOption(name="variable", opt=option_3)
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
+option_8 = FilenameOption(name="name", doc="name", default="rougail.file_name")
+option_9 = FilenameOption(name="source", doc="source", default="rougail.file_name")
option_10 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9, option_10])
-option_7.impl_set_information('source', "mailname")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7])
+optiondescription_7 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9, option_10])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7])
option_11 = BoolOption(name="activate", doc="activate", default=True)
option_12 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_11, option_12])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_11, option_12])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70container_files_symlink_variable/tiramisu/multi.py b/tests/dictionaries_old/70container_files_symlink_variable/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_variable/tiramisu/multi.py
rename to tests/dictionaries_old/70container_files_symlink_variable/tiramisu/multi.py
diff --git a/tests/dictionaries/70container_files_symlink_variable/xml/00-base.xml b/tests/dictionaries_old/70container_files_symlink_variable/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_variable/xml/00-base.xml
rename to tests/dictionaries_old/70container_files_symlink_variable/xml/00-base.xml
diff --git a/tests/dictionaries/70container_files_symlink_variable/yml/00-base.yml b/tests/dictionaries_old/70container_files_symlink_variable/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70container_files_symlink_variable/yml/00-base.yml
rename to tests/dictionaries_old/70container_files_symlink_variable/yml/00-base.yml
diff --git a/tests/dictionaries_old/70container_files_twice/00-base.xml b/tests/dictionaries_old/70container_files_twice/00-base.xml
deleted file mode 100644
index b817d912c..000000000
--- a/tests/dictionaries_old/70container_files_twice/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- /etc/mailname
- /etc/eole/mailname
- /rougail.conf
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/70container_files_twice/makedict/after.json b/tests/dictionaries_old/70container_files_twice/makedict/after.json
index 784f895bf..70edb7ece 100644
--- a/tests/dictionaries_old/70container_files_twice/makedict/after.json
+++ b/tests/dictionaries_old/70container_files_twice/makedict/after.json
@@ -3,35 +3,47 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.mailname_1.name": {
+ "services.test_service.files.mailname_1.name": {
"owner": "default",
"value": "/etc/eole/mailname"
},
- "services.test.files.mailname_1.activate": {
+ "services.test_service.files.mailname_1.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname_1.activate": {
"owner": "default",
"value": true
},
- "services.test.files.rougail_conf.name": {
+ "services.test_service.files.rougail_conf.name": {
"owner": "default",
"value": "/rougail.conf"
},
- "services.test.files.rougail_conf.activate": {
+ "services.test_service.files.rougail_conf.source": {
+ "owner": "default",
+ "value": "rougail.conf"
+ },
+ "services.test_service.files.rougail_conf.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_files_twice/makedict/base.json b/tests/dictionaries_old/70container_files_twice/makedict/base.json
index 0022daabd..b73e7c5d2 100644
--- a/tests/dictionaries_old/70container_files_twice/makedict/base.json
+++ b/tests/dictionaries_old/70container_files_twice/makedict/base.json
@@ -1,11 +1,14 @@
{
"rougail.general.mode_conteneur_actif": "oui",
- "services.test.files.mailname.name": "/etc/mailname",
- "services.test.files.mailname.activate": true,
- "services.test.files.mailname_1.name": "/etc/eole/mailname",
- "services.test.files.mailname_1.activate": true,
- "services.test.files.rougail_conf.name": "/rougail.conf",
- "services.test.files.rougail_conf.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.mailname.name": "/etc/mailname",
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.files.mailname_1.name": "/etc/eole/mailname",
+ "services.test_service.files.mailname_1.source": "mailname",
+ "services.test_service.files.mailname_1.activate": true,
+ "services.test_service.files.rougail_conf.name": "/rougail.conf",
+ "services.test_service.files.rougail_conf.source": "rougail.conf",
+ "services.test_service.files.rougail_conf.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70container_files_twice/makedict/before.json b/tests/dictionaries_old/70container_files_twice/makedict/before.json
index 784f895bf..70edb7ece 100644
--- a/tests/dictionaries_old/70container_files_twice/makedict/before.json
+++ b/tests/dictionaries_old/70container_files_twice/makedict/before.json
@@ -3,35 +3,47 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.mailname_1.name": {
+ "services.test_service.files.mailname_1.name": {
"owner": "default",
"value": "/etc/eole/mailname"
},
- "services.test.files.mailname_1.activate": {
+ "services.test_service.files.mailname_1.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname_1.activate": {
"owner": "default",
"value": true
},
- "services.test.files.rougail_conf.name": {
+ "services.test_service.files.rougail_conf.name": {
"owner": "default",
"value": "/rougail.conf"
},
- "services.test.files.rougail_conf.activate": {
+ "services.test_service.files.rougail_conf.source": {
+ "owner": "default",
+ "value": "rougail.conf"
+ },
+ "services.test_service.files.rougail_conf.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_files_twice/result/rougail/00-base.yml b/tests/dictionaries_old/70container_files_twice/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70container_files_twice/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_files_twice/result/services/00-base.yml b/tests/dictionaries_old/70container_files_twice/result/services/00-base.yml
new file mode 100644
index 000000000..d92ae559b
--- /dev/null
+++ b/tests/dictionaries_old/70container_files_twice/result/services/00-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/eole/mailname: {}
+ /rougail.conf: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_files_twice/tiramisu/base.py b/tests/dictionaries_old/70container_files_twice/tiramisu/base.py
index 04f006a70..8073b396c 100644
--- a/tests/dictionaries_old/70container_files_twice/tiramisu/base.py
+++ b/tests/dictionaries_old/70container_files_twice/tiramisu/base.py
@@ -1,34 +1,47 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9])
-option_7.impl_set_information('source', "mailname")
-option_11 = FilenameOption(name="name", doc="name", default="/etc/eole/mailname")
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = OptionDescription(name="mailname_1", doc="mailname_1", children=[option_11, option_12])
-option_10.impl_set_information('source', "mailname")
-option_14 = FilenameOption(name="name", doc="name", default="/rougail.conf")
-option_15 = BoolOption(name="activate", doc="activate", default=True)
-option_13 = OptionDescription(name="rougail_conf", doc="rougail.conf", children=[option_14, option_15])
-option_13.impl_set_information('source', "rougail.conf")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_10, option_13])
-option_16 = BoolOption(name="activate", doc="activate", default=True)
-option_17 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_16, option_17])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/mailname")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/eole/mailname")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/eole/mailname")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="mailname_1", doc="mailname_1", children=[option_12, option_13, option_14])
+option_16 = FilenameOption(name="name", doc="name", default="/rougail.conf")
+option_17 = FilenameOption(name="source", doc="source", default="/rougail.conf")
+option_18 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_15 = OptionDescription(name="rougail_conf", doc="rougail_conf", children=[option_16, option_17, option_18])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11, optiondescription_15])
+option_19 = BoolOption(name="activate", doc="activate", default=True)
+option_20 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_19, option_20])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70container_files_twice/tiramisu/multi.py b/tests/dictionaries_old/70container_files_twice/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70container_files_twice/tiramisu/multi.py
rename to tests/dictionaries_old/70container_files_twice/tiramisu/multi.py
diff --git a/tests/dictionaries/70container_files_twice/xml/00-base.xml b/tests/dictionaries_old/70container_files_twice/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_files_twice/xml/00-base.xml
rename to tests/dictionaries_old/70container_files_twice/xml/00-base.xml
diff --git a/tests/dictionaries/70container_files_twice/yml/00-base.yml b/tests/dictionaries_old/70container_files_twice/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70container_files_twice/yml/00-base.yml
rename to tests/dictionaries_old/70container_files_twice/yml/00-base.yml
diff --git a/tests/dictionaries_old/70container_filesmulti/00-base.xml b/tests/dictionaries_old/70container_filesmulti/00-base.xml
deleted file mode 100644
index 517f4d9d8..000000000
--- a/tests/dictionaries_old/70container_filesmulti/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- /etc/mailname
- /etc/mailname2
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/70container_filesmulti/makedict/after.json b/tests/dictionaries_old/70container_filesmulti/makedict/after.json
index 24097e2e1..9dcd12d2d 100644
--- a/tests/dictionaries_old/70container_filesmulti/makedict/after.json
+++ b/tests/dictionaries_old/70container_filesmulti/makedict/after.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.mailname2.name": {
+ "services.test_service.files.mailname2.name": {
"owner": "default",
"value": "/etc/mailname2"
},
- "services.test.files.mailname2.activate": {
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_filesmulti/makedict/base.json b/tests/dictionaries_old/70container_filesmulti/makedict/base.json
index deaab82d9..a65849733 100644
--- a/tests/dictionaries_old/70container_filesmulti/makedict/base.json
+++ b/tests/dictionaries_old/70container_filesmulti/makedict/base.json
@@ -1,9 +1,11 @@
{
"rougail.general.mode_conteneur_actif": "oui",
- "services.test.files.mailname.name": "/etc/mailname",
- "services.test.files.mailname.activate": true,
- "services.test.files.mailname2.name": "/etc/mailname2",
- "services.test.files.mailname2.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.mailname.name": "/etc/mailname",
+ "services.test_service.files.mailname.source": "mailname",
+ "services.test_service.files.mailname.activate": true,
+ "services.test_service.files.mailname2.name": "/etc/mailname2",
+ "services.test_service.files.mailname2.source": "mailname2",
+ "services.test_service.files.mailname2.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70container_filesmulti/makedict/before.json b/tests/dictionaries_old/70container_filesmulti/makedict/before.json
index 24097e2e1..9dcd12d2d 100644
--- a/tests/dictionaries_old/70container_filesmulti/makedict/before.json
+++ b/tests/dictionaries_old/70container_filesmulti/makedict/before.json
@@ -3,27 +3,35 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.mailname.name": {
+ "services.test_service.files.mailname.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname.activate": {
+ "services.test_service.files.mailname.source": {
+ "owner": "default",
+ "value": "mailname"
+ },
+ "services.test_service.files.mailname.activate": {
"owner": "default",
"value": true
},
- "services.test.files.mailname2.name": {
+ "services.test_service.files.mailname2.name": {
"owner": "default",
"value": "/etc/mailname2"
},
- "services.test.files.mailname2.activate": {
+ "services.test_service.files.mailname2.source": {
+ "owner": "default",
+ "value": "mailname2"
+ },
+ "services.test_service.files.mailname2.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_filesmulti/result/rougail/00-base.yml b/tests/dictionaries_old/70container_filesmulti/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70container_filesmulti/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_filesmulti/result/services/00-base.yml b/tests/dictionaries_old/70container_filesmulti/result/services/00-base.yml
new file mode 100644
index 000000000..b07c25679
--- /dev/null
+++ b/tests/dictionaries_old/70container_filesmulti/result/services/00-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ files:
+ /etc/mailname: {}
+ /etc/mailname2: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_filesmulti/tiramisu/base.py b/tests/dictionaries_old/70container_filesmulti/tiramisu/base.py
index f92bb0408..2000e2c30 100644
--- a/tests/dictionaries_old/70container_filesmulti/tiramisu/base.py
+++ b/tests/dictionaries_old/70container_filesmulti/tiramisu/base.py
@@ -1,30 +1,43 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9])
-option_7.impl_set_information('source', "mailname")
-option_11 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
-option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = OptionDescription(name="mailname2", doc="mailname2", children=[option_11, option_12])
-option_10.impl_set_information('source', "mailname2")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_10])
-option_13 = BoolOption(name="activate", doc="activate", default=True)
-option_14 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_13, option_14])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/mailname")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/mailname2")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="mailname2", doc="mailname2", children=[option_12, option_13, option_14])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_16 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_15, option_16])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70container_filesmulti/tiramisu/multi.py b/tests/dictionaries_old/70container_filesmulti/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70container_filesmulti/tiramisu/multi.py
rename to tests/dictionaries_old/70container_filesmulti/tiramisu/multi.py
diff --git a/tests/dictionaries/70container_filesmulti/xml/00-base.xml b/tests/dictionaries_old/70container_filesmulti/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_filesmulti/xml/00-base.xml
rename to tests/dictionaries_old/70container_filesmulti/xml/00-base.xml
diff --git a/tests/dictionaries/70container_filesmulti/yml/00-base.yml b/tests/dictionaries_old/70container_filesmulti/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70container_filesmulti/yml/00-base.yml
rename to tests/dictionaries_old/70container_filesmulti/yml/00-base.yml
diff --git a/tests/dictionaries_old/70container_filesredefine/00-base.xml b/tests/dictionaries_old/70container_filesredefine/00-base.xml
deleted file mode 100644
index 7a9c4c735..000000000
--- a/tests/dictionaries_old/70container_filesredefine/00-base.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
- /etc/mailname
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/70container_filesredefine/01-base.xml b/tests/dictionaries_old/70container_filesredefine/01-base.xml
deleted file mode 100644
index 185b44d07..000000000
--- a/tests/dictionaries_old/70container_filesredefine/01-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- /etc/mailname
-
-
-
diff --git a/tests/dictionaries_old/70container_filesredefine/makedict/after.json b/tests/dictionaries_old/70container_filesredefine/makedict/after.json
index 4c4c7f957..bf5c7668d 100644
--- a/tests/dictionaries_old/70container_filesredefine/makedict/after.json
+++ b/tests/dictionaries_old/70container_filesredefine/makedict/after.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.mailname_new.name": {
+ "services.test_service.files.mailname_new.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname_new.activate": {
+ "services.test_service.files.mailname_new.source": {
+ "owner": "default",
+ "value": "mailname.new"
+ },
+ "services.test_service.files.mailname_new.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_filesredefine/makedict/base.json b/tests/dictionaries_old/70container_filesredefine/makedict/base.json
index c74518410..94d93f3ff 100644
--- a/tests/dictionaries_old/70container_filesredefine/makedict/base.json
+++ b/tests/dictionaries_old/70container_filesredefine/makedict/base.json
@@ -1,7 +1,8 @@
{
"rougail.general.mode_conteneur_actif": "oui",
- "services.test.files.mailname_new.name": "/etc/mailname",
- "services.test.files.mailname_new.activate": true,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.files.mailname_new.name": "/etc/mailname",
+ "services.test_service.files.mailname_new.source": "mailname.new",
+ "services.test_service.files.mailname_new.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70container_filesredefine/makedict/before.json b/tests/dictionaries_old/70container_filesredefine/makedict/before.json
index 4c4c7f957..bf5c7668d 100644
--- a/tests/dictionaries_old/70container_filesredefine/makedict/before.json
+++ b/tests/dictionaries_old/70container_filesredefine/makedict/before.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": "oui"
},
- "services.test.files.mailname_new.name": {
+ "services.test_service.files.mailname_new.name": {
"owner": "default",
"value": "/etc/mailname"
},
- "services.test.files.mailname_new.activate": {
+ "services.test_service.files.mailname_new.source": {
+ "owner": "default",
+ "value": "mailname.new"
+ },
+ "services.test_service.files.mailname_new.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_filesredefine/result/rougail/00-base.yml b/tests/dictionaries_old/70container_filesredefine/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70container_filesredefine/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_filesredefine/result/services/00-base.yml b/tests/dictionaries_old/70container_filesredefine/result/services/00-base.yml
new file mode 100644
index 000000000..e25233253
--- /dev/null
+++ b/tests/dictionaries_old/70container_filesredefine/result/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ files:
+ /etc/mailname: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_filesredefine/result/services/01-base.yml b/tests/dictionaries_old/70container_filesredefine/result/services/01-base.yml
new file mode 100644
index 000000000..db85e7926
--- /dev/null
+++ b/tests/dictionaries_old/70container_filesredefine/result/services/01-base.yml
@@ -0,0 +1,6 @@
+test.service:
+ files:
+ /etc/mailname:
+ source: mailname.new
+ redefine: true
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_filesredefine/tiramisu/base.py b/tests/dictionaries_old/70container_filesredefine/tiramisu/base.py
index 60b5500a8..064fa0891 100644
--- a/tests/dictionaries_old/70container_filesredefine/tiramisu/base.py
+++ b/tests/dictionaries_old/70container_filesredefine/tiramisu/base.py
@@ -1,26 +1,43 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/mailname")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="mailname_new", doc="mailname.new", children=[option_8, option_9])
-option_7.impl_set_information('source', "mailname.new")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/mailname")
option_10 = BoolOption(name="activate", doc="activate", default=True)
-option_11 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_10, option_11])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_7 = OptionDescription(name="mailname", doc="mailname", children=[option_8, option_9, option_10])
+option_12 = FilenameOption(name="name", doc="name", default="/etc/mailname")
+option_13 = FilenameOption(name="source", doc="source", default="/etc/mailname")
+option_14 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_11 = OptionDescription(name="mailname_new", doc="mailname_new", children=[option_12, option_13, option_14])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7, optiondescription_11])
+option_15 = BoolOption(name="activate", doc="activate", default=True)
+option_16 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_15, option_16])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70container_filesredefine/tiramisu/multi.py b/tests/dictionaries_old/70container_filesredefine/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70container_filesredefine/tiramisu/multi.py
rename to tests/dictionaries_old/70container_filesredefine/tiramisu/multi.py
diff --git a/tests/dictionaries/70container_filesredefine/xml/00-base.xml b/tests/dictionaries_old/70container_filesredefine/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_filesredefine/xml/00-base.xml
rename to tests/dictionaries_old/70container_filesredefine/xml/00-base.xml
diff --git a/tests/dictionaries/70container_filesredefine/xml/01-base.xml b/tests/dictionaries_old/70container_filesredefine/xml/01-base.xml
similarity index 100%
rename from tests/dictionaries/70container_filesredefine/xml/01-base.xml
rename to tests/dictionaries_old/70container_filesredefine/xml/01-base.xml
diff --git a/tests/dictionaries/70container_filesredefine/yml/00-base.yml b/tests/dictionaries_old/70container_filesredefine/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70container_filesredefine/yml/00-base.yml
rename to tests/dictionaries_old/70container_filesredefine/yml/00-base.yml
diff --git a/tests/dictionaries/70container_filesredefine/yml/01-base.yml b/tests/dictionaries_old/70container_filesredefine/yml/01-base.yml
similarity index 100%
rename from tests/dictionaries/70container_filesredefine/yml/01-base.yml
rename to tests/dictionaries_old/70container_filesredefine/yml/01-base.yml
diff --git a/tests/dictionaries_old/70container_new/00-base.xml b/tests/dictionaries_old/70container_new/00-base.xml
deleted file mode 100644
index 8e6a7e366..000000000
--- a/tests/dictionaries_old/70container_new/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/70container_new/makedict/after.json b/tests/dictionaries_old/70container_new/makedict/after.json
index 07fda6ef8..9563ea8fd 100644
--- a/tests/dictionaries_old/70container_new/makedict/after.json
+++ b/tests/dictionaries_old/70container_new/makedict/after.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "oui"
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_new/makedict/base.json b/tests/dictionaries_old/70container_new/makedict/base.json
index a9753778a..18151a282 100644
--- a/tests/dictionaries_old/70container_new/makedict/base.json
+++ b/tests/dictionaries_old/70container_new/makedict/base.json
@@ -1,5 +1,5 @@
{
"rougail.general.mode_conteneur_actif": "oui",
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70container_new/makedict/before.json b/tests/dictionaries_old/70container_new/makedict/before.json
index 07fda6ef8..9563ea8fd 100644
--- a/tests/dictionaries_old/70container_new/makedict/before.json
+++ b/tests/dictionaries_old/70container_new/makedict/before.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "oui"
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_new/result/rougail/00-base.yml b/tests/dictionaries_old/70container_new/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70container_new/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_new/result/services/00-base.yml b/tests/dictionaries_old/70container_new/result/services/00-base.yml
new file mode 100644
index 000000000..6475a5cf5
--- /dev/null
+++ b/tests/dictionaries_old/70container_new/result/services/00-base.yml
@@ -0,0 +1,2 @@
+test.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_new/tiramisu/base.py b/tests/dictionaries_old/70container_new/tiramisu/base.py
index 6238450ba..de697756b 100644
--- a/tests/dictionaries_old/70container_new/tiramisu/base.py
+++ b/tests/dictionaries_old/70container_new/tiramisu/base.py
@@ -1,21 +1,34 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_6 = BoolOption(name="activate", doc="activate", default=True)
option_7 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_7])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70container_new/tiramisu/multi.py b/tests/dictionaries_old/70container_new/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70container_new/tiramisu/multi.py
rename to tests/dictionaries_old/70container_new/tiramisu/multi.py
diff --git a/tests/dictionaries/70container_new/xml/00-base.xml b/tests/dictionaries_old/70container_new/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_new/xml/00-base.xml
rename to tests/dictionaries_old/70container_new/xml/00-base.xml
diff --git a/tests/dictionaries/70container_new/yml/00-base.yml b/tests/dictionaries_old/70container_new/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70container_new/yml/00-base.yml
rename to tests/dictionaries_old/70container_new/yml/00-base.yml
diff --git a/tests/dictionaries_old/70container_newnocont/00-base.xml b/tests/dictionaries_old/70container_newnocont/00-base.xml
deleted file mode 100644
index 3cd49c193..000000000
--- a/tests/dictionaries_old/70container_newnocont/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/70container_newnocont/makedict/after.json b/tests/dictionaries_old/70container_newnocont/makedict/after.json
index b7f1fd9e2..6252cc155 100644
--- a/tests/dictionaries_old/70container_newnocont/makedict/after.json
+++ b/tests/dictionaries_old/70container_newnocont/makedict/after.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "non"
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_newnocont/makedict/base.json b/tests/dictionaries_old/70container_newnocont/makedict/base.json
index e38686ea4..69cfb362c 100644
--- a/tests/dictionaries_old/70container_newnocont/makedict/base.json
+++ b/tests/dictionaries_old/70container_newnocont/makedict/base.json
@@ -1,5 +1,5 @@
{
"rougail.general.mode_conteneur_actif": "non",
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70container_newnocont/makedict/before.json b/tests/dictionaries_old/70container_newnocont/makedict/before.json
index b7f1fd9e2..6252cc155 100644
--- a/tests/dictionaries_old/70container_newnocont/makedict/before.json
+++ b/tests/dictionaries_old/70container_newnocont/makedict/before.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "non"
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_newnocont/result/rougail/00-base.yml b/tests/dictionaries_old/70container_newnocont/result/rougail/00-base.yml
new file mode 100644
index 000000000..1085cc1cc
--- /dev/null
+++ b/tests/dictionaries_old/70container_newnocont/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: non
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_newnocont/result/services/00-base.yml b/tests/dictionaries_old/70container_newnocont/result/services/00-base.yml
new file mode 100644
index 000000000..6475a5cf5
--- /dev/null
+++ b/tests/dictionaries_old/70container_newnocont/result/services/00-base.yml
@@ -0,0 +1,2 @@
+test.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_newnocont/tiramisu/base.py b/tests/dictionaries_old/70container_newnocont/tiramisu/base.py
index ba4dfacf2..a9a0d147a 100644
--- a/tests/dictionaries_old/70container_newnocont/tiramisu/base.py
+++ b/tests/dictionaries_old/70container_newnocont/tiramisu/base.py
@@ -1,21 +1,34 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_6 = BoolOption(name="activate", doc="activate", default=True)
option_7 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_7])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70container_newnocont/tiramisu/multi.py b/tests/dictionaries_old/70container_newnocont/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70container_newnocont/tiramisu/multi.py
rename to tests/dictionaries_old/70container_newnocont/tiramisu/multi.py
diff --git a/tests/dictionaries/70container_newnocont/xml/00-base.xml b/tests/dictionaries_old/70container_newnocont/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_newnocont/xml/00-base.xml
rename to tests/dictionaries_old/70container_newnocont/xml/00-base.xml
diff --git a/tests/dictionaries/70container_newnocont/yml/00-base.yml b/tests/dictionaries_old/70container_newnocont/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70container_newnocont/yml/00-base.yml
rename to tests/dictionaries_old/70container_newnocont/yml/00-base.yml
diff --git a/tests/dictionaries_old/70container_newwithip/00-base.xml b/tests/dictionaries_old/70container_newwithip/00-base.xml
deleted file mode 100644
index 20d12315a..000000000
--- a/tests/dictionaries_old/70container_newwithip/00-base.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
- oui
-
-
-
-
-
diff --git a/tests/dictionaries_old/70container_newwithip/makedict/after.json b/tests/dictionaries_old/70container_newwithip/makedict/after.json
index cfa1cc504..fc73e6e57 100644
--- a/tests/dictionaries_old/70container_newwithip/makedict/after.json
+++ b/tests/dictionaries_old/70container_newwithip/makedict/after.json
@@ -7,11 +7,11 @@
"owner": "default",
"value": null
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_newwithip/makedict/base.json b/tests/dictionaries_old/70container_newwithip/makedict/base.json
index b87401139..fe91c390c 100644
--- a/tests/dictionaries_old/70container_newwithip/makedict/base.json
+++ b/tests/dictionaries_old/70container_newwithip/makedict/base.json
@@ -1,6 +1,6 @@
{
"rougail.general.mode_conteneur_actif": "oui",
"rougail.general.adresse_ip_test": null,
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70container_newwithip/makedict/before.json b/tests/dictionaries_old/70container_newwithip/makedict/before.json
index cfa1cc504..fc73e6e57 100644
--- a/tests/dictionaries_old/70container_newwithip/makedict/before.json
+++ b/tests/dictionaries_old/70container_newwithip/makedict/before.json
@@ -7,11 +7,11 @@
"owner": "default",
"value": null
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70container_newwithip/result/rougail/00-base.yml b/tests/dictionaries_old/70container_newwithip/result/rougail/00-base.yml
new file mode 100644
index 000000000..d90be05dc
--- /dev/null
+++ b/tests/dictionaries_old/70container_newwithip/result/rougail/00-base.yml
@@ -0,0 +1,11 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+ adresse_ip_test:
+ type: ip
+ description: No change
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_newwithip/result/services/00-base.yml b/tests/dictionaries_old/70container_newwithip/result/services/00-base.yml
new file mode 100644
index 000000000..6475a5cf5
--- /dev/null
+++ b/tests/dictionaries_old/70container_newwithip/result/services/00-base.yml
@@ -0,0 +1,2 @@
+test.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_newwithip/tiramisu/base.py b/tests/dictionaries_old/70container_newwithip/tiramisu/base.py
index cfbbe2b28..9c0806e06 100644
--- a/tests/dictionaries_old/70container_newwithip/tiramisu/base.py
+++ b/tests/dictionaries_old/70container_newwithip/tiramisu/base.py
@@ -1,22 +1,35 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
option_4 = IPOption(name="adresse_ip_test", doc="No change", allow_reserved=True, properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_7 = BoolOption(name="activate", doc="activate", default=True)
option_8 = BoolOption(name="manage", doc="manage", default=True)
-option_6 = OptionDescription(name="test", doc="test", children=[option_7, option_8])
-option_5 = OptionDescription(name="services", doc="services", children=[option_6], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5])
+optiondescription_6 = OptionDescription(name="test_service", doc="test_service", children=[option_7, option_8])
+optiondescription_6.impl_set_information('type', "service")
+optiondescription_5 = OptionDescription(name="services", doc="services", children=[optiondescription_6], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_5])
diff --git a/tests/dictionaries/70container_newwithip/tiramisu/multi.py b/tests/dictionaries_old/70container_newwithip/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70container_newwithip/tiramisu/multi.py
rename to tests/dictionaries_old/70container_newwithip/tiramisu/multi.py
diff --git a/tests/dictionaries/70container_newwithip/xml/00-base.xml b/tests/dictionaries_old/70container_newwithip/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_newwithip/xml/00-base.xml
rename to tests/dictionaries_old/70container_newwithip/xml/00-base.xml
diff --git a/tests/dictionaries/70container_newwithip/yml/00-base.yml b/tests/dictionaries_old/70container_newwithip/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70container_newwithip/yml/00-base.yml
rename to tests/dictionaries_old/70container_newwithip/yml/00-base.yml
diff --git a/tests/dictionaries_old/70container_save/00-base.xml b/tests/dictionaries_old/70container_save/00-base.xml
deleted file mode 100644
index ffcda8839..000000000
--- a/tests/dictionaries_old/70container_save/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/70container_save/result/rougail/00-base.yml b/tests/dictionaries_old/70container_save/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70container_save/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70container_save/tiramisu/base.py b/tests/dictionaries_old/70container_save/tiramisu/base.py
index 7d31b5d2a..a7dd6ae1d 100644
--- a/tests/dictionaries_old/70container_save/tiramisu/base.py
+++ b/tests/dictionaries_old/70container_save/tiramisu/base.py
@@ -1,17 +1,29 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/70container_save/tiramisu/multi.py b/tests/dictionaries_old/70container_save/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70container_save/tiramisu/multi.py
rename to tests/dictionaries_old/70container_save/tiramisu/multi.py
diff --git a/tests/dictionaries/70container_save/xml/00-base.xml b/tests/dictionaries_old/70container_save/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_save/xml/00-base.xml
rename to tests/dictionaries_old/70container_save/xml/00-base.xml
diff --git a/tests/dictionaries/70container_save/yml/00-base.yml b/tests/dictionaries_old/70container_save/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70container_save/yml/00-base.yml
rename to tests/dictionaries_old/70container_save/yml/00-base.yml
diff --git a/tests/dictionaries_old/70service_base/00-base.xml b/tests/dictionaries_old/70service_base/00-base.xml
deleted file mode 100644
index d82671d79..000000000
--- a/tests/dictionaries_old/70service_base/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/70service_base/makedict/after.json b/tests/dictionaries_old/70service_base/makedict/after.json
index c8847b435..ef29924ce 100644
--- a/tests/dictionaries_old/70service_base/makedict/after.json
+++ b/tests/dictionaries_old/70service_base/makedict/after.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "oui"
},
- "services.testsrv.activate": {
+ "services.testsrv_service.activate": {
"owner": "default",
"value": true
},
- "services.testsrv.manage": {
+ "services.testsrv_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70service_base/makedict/base.json b/tests/dictionaries_old/70service_base/makedict/base.json
index d89ef3da8..0ffb99685 100644
--- a/tests/dictionaries_old/70service_base/makedict/base.json
+++ b/tests/dictionaries_old/70service_base/makedict/base.json
@@ -1,5 +1,5 @@
{
"rougail.general.mode_conteneur_actif": "oui",
- "services.testsrv.activate": true,
- "services.testsrv.manage": true
+ "services.testsrv_service.activate": true,
+ "services.testsrv_service.manage": true
}
diff --git a/tests/dictionaries_old/70service_base/makedict/before.json b/tests/dictionaries_old/70service_base/makedict/before.json
index c8847b435..ef29924ce 100644
--- a/tests/dictionaries_old/70service_base/makedict/before.json
+++ b/tests/dictionaries_old/70service_base/makedict/before.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "oui"
},
- "services.testsrv.activate": {
+ "services.testsrv_service.activate": {
"owner": "default",
"value": true
},
- "services.testsrv.manage": {
+ "services.testsrv_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70service_base/result/rougail/00-base.yml b/tests/dictionaries_old/70service_base/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70service_base/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_base/result/services/00-base.yml b/tests/dictionaries_old/70service_base/result/services/00-base.yml
new file mode 100644
index 000000000..7802be823
--- /dev/null
+++ b/tests/dictionaries_old/70service_base/result/services/00-base.yml
@@ -0,0 +1,2 @@
+testsrv.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_base/tiramisu/base.py b/tests/dictionaries_old/70service_base/tiramisu/base.py
index b3344af34..3bb44a9ee 100644
--- a/tests/dictionaries_old/70service_base/tiramisu/base.py
+++ b/tests/dictionaries_old/70service_base/tiramisu/base.py
@@ -1,21 +1,34 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_6 = BoolOption(name="activate", doc="activate", default=True)
option_7 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="testsrv", doc="testsrv", children=[option_6, option_7])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="testsrv_service", doc="testsrv_service", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70service_base/tiramisu/multi.py b/tests/dictionaries_old/70service_base/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_base/tiramisu/multi.py
rename to tests/dictionaries_old/70service_base/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_base/xml/00-base.xml b/tests/dictionaries_old/70service_base/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_base/xml/00-base.xml
rename to tests/dictionaries_old/70service_base/xml/00-base.xml
diff --git a/tests/dictionaries/70service_base/yml/00-base.yml b/tests/dictionaries_old/70service_base/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_base/yml/00-base.yml
rename to tests/dictionaries_old/70service_base/yml/00-base.yml
diff --git a/tests/dictionaries/70container_save/__init__.py b/tests/dictionaries_old/70service_disabled/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_save/__init__.py
rename to tests/dictionaries_old/70service_disabled/__init__.py
diff --git a/tests/dictionaries/70service_disabled/makedict/after.json b/tests/dictionaries_old/70service_disabled/makedict/after.json
similarity index 100%
rename from tests/dictionaries/70service_disabled/makedict/after.json
rename to tests/dictionaries_old/70service_disabled/makedict/after.json
diff --git a/tests/dictionaries/70service_disabled/makedict/base.json b/tests/dictionaries_old/70service_disabled/makedict/base.json
similarity index 100%
rename from tests/dictionaries/70service_disabled/makedict/base.json
rename to tests/dictionaries_old/70service_disabled/makedict/base.json
diff --git a/tests/dictionaries/70service_disabled/makedict/before.json b/tests/dictionaries_old/70service_disabled/makedict/before.json
similarity index 100%
rename from tests/dictionaries/70service_disabled/makedict/before.json
rename to tests/dictionaries_old/70service_disabled/makedict/before.json
diff --git a/tests/dictionaries/70service_mount/no_base b/tests/dictionaries_old/70service_disabled/no_base
similarity index 100%
rename from tests/dictionaries/70service_mount/no_base
rename to tests/dictionaries_old/70service_disabled/no_base
diff --git a/tests/dictionaries_old/70service_disabled/result/rougail/00-base.yml b/tests/dictionaries_old/70service_disabled/result/rougail/00-base.yml
new file mode 100644
index 000000000..a0de4b9e8
--- /dev/null
+++ b/tests/dictionaries_old/70service_disabled/result/rougail/00-base.yml
@@ -0,0 +1,3 @@
+condition:
+ default: 'no'
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_disabled/result/services/00-base.yml b/tests/dictionaries_old/70service_disabled/result/services/00-base.yml
new file mode 100644
index 000000000..6475a5cf5
--- /dev/null
+++ b/tests/dictionaries_old/70service_disabled/result/services/00-base.yml
@@ -0,0 +1,2 @@
+test.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_disabled/tiramisu/base.py b/tests/dictionaries_old/70service_disabled/tiramisu/base.py
new file mode 100644
index 000000000..cd1254597
--- /dev/null
+++ b/tests/dictionaries_old/70service_disabled/tiramisu/base.py
@@ -0,0 +1,33 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_6 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_4 = OptionDescription(name="test_service", doc="test_service", children=[option_5, option_6])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/70service_disabled/tiramisu/multi.py b/tests/dictionaries_old/70service_disabled/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_disabled/tiramisu/multi.py
rename to tests/dictionaries_old/70service_disabled/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_disabled/xml/00-base.xml b/tests/dictionaries_old/70service_disabled/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_disabled/xml/00-base.xml
rename to tests/dictionaries_old/70service_disabled/xml/00-base.xml
diff --git a/tests/dictionaries/70service_disabled/yml/00-base.yml b/tests/dictionaries_old/70service_disabled/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_disabled/yml/00-base.yml
rename to tests/dictionaries_old/70service_disabled/yml/00-base.yml
diff --git a/tests/dictionaries/70service_base/__init__.py b/tests/dictionaries_old/70service_disabled_undisable/__init__.py
similarity index 100%
rename from tests/dictionaries/70service_base/__init__.py
rename to tests/dictionaries_old/70service_disabled_undisable/__init__.py
diff --git a/tests/dictionaries/70service_disabled_undisable/makedict/after.json b/tests/dictionaries_old/70service_disabled_undisable/makedict/after.json
similarity index 100%
rename from tests/dictionaries/70service_disabled_undisable/makedict/after.json
rename to tests/dictionaries_old/70service_disabled_undisable/makedict/after.json
diff --git a/tests/dictionaries/70service_disabled_undisable/makedict/base.json b/tests/dictionaries_old/70service_disabled_undisable/makedict/base.json
similarity index 100%
rename from tests/dictionaries/70service_disabled_undisable/makedict/base.json
rename to tests/dictionaries_old/70service_disabled_undisable/makedict/base.json
diff --git a/tests/dictionaries/70service_disabled_undisable/makedict/before.json b/tests/dictionaries_old/70service_disabled_undisable/makedict/before.json
similarity index 100%
rename from tests/dictionaries/70service_disabled_undisable/makedict/before.json
rename to tests/dictionaries_old/70service_disabled_undisable/makedict/before.json
diff --git a/tests/dictionaries_old/70service_disabled_undisable/result/rougail/00-base.yml b/tests/dictionaries_old/70service_disabled_undisable/result/rougail/00-base.yml
new file mode 100644
index 000000000..a0de4b9e8
--- /dev/null
+++ b/tests/dictionaries_old/70service_disabled_undisable/result/rougail/00-base.yml
@@ -0,0 +1,3 @@
+condition:
+ default: 'no'
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_disabled_undisable/result/services/00-base.yml b/tests/dictionaries_old/70service_disabled_undisable/result/services/00-base.yml
new file mode 100644
index 000000000..6475a5cf5
--- /dev/null
+++ b/tests/dictionaries_old/70service_disabled_undisable/result/services/00-base.yml
@@ -0,0 +1,2 @@
+test.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_disabled_undisable/tiramisu/base.py b/tests/dictionaries_old/70service_disabled_undisable/tiramisu/base.py
new file mode 100644
index 000000000..cd1254597
--- /dev/null
+++ b/tests/dictionaries_old/70service_disabled_undisable/tiramisu/base.py
@@ -0,0 +1,33 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_6 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_4 = OptionDescription(name="test_service", doc="test_service", children=[option_5, option_6])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/70service_disabled_undisable/tiramisu/multi.py b/tests/dictionaries_old/70service_disabled_undisable/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_disabled_undisable/tiramisu/multi.py
rename to tests/dictionaries_old/70service_disabled_undisable/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_disabled_undisable/xml/00-base.xml b/tests/dictionaries_old/70service_disabled_undisable/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_disabled_undisable/xml/00-base.xml
rename to tests/dictionaries_old/70service_disabled_undisable/xml/00-base.xml
diff --git a/tests/dictionaries/70service_disabled_undisable/yml/00-base.yml b/tests/dictionaries_old/70service_disabled_undisable/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_disabled_undisable/yml/00-base.yml
rename to tests/dictionaries_old/70service_disabled_undisable/yml/00-base.yml
diff --git a/tests/dictionaries/70service_disabled/__init__.py b/tests/dictionaries_old/70service_engine/__init__.py
similarity index 100%
rename from tests/dictionaries/70service_disabled/__init__.py
rename to tests/dictionaries_old/70service_engine/__init__.py
diff --git a/tests/dictionaries/70service_base/makedict/after.json b/tests/dictionaries_old/70service_engine/makedict/after.json
similarity index 100%
rename from tests/dictionaries/70service_base/makedict/after.json
rename to tests/dictionaries_old/70service_engine/makedict/after.json
diff --git a/tests/dictionaries/70service_base/makedict/base.json b/tests/dictionaries_old/70service_engine/makedict/base.json
similarity index 100%
rename from tests/dictionaries/70service_base/makedict/base.json
rename to tests/dictionaries_old/70service_engine/makedict/base.json
diff --git a/tests/dictionaries/70service_base/makedict/before.json b/tests/dictionaries_old/70service_engine/makedict/before.json
similarity index 100%
rename from tests/dictionaries/70service_base/makedict/before.json
rename to tests/dictionaries_old/70service_engine/makedict/before.json
diff --git a/tests/dictionaries/70service_servicelist_file/no_base b/tests/dictionaries_old/70service_engine/no_base
similarity index 100%
rename from tests/dictionaries/70service_servicelist_file/no_base
rename to tests/dictionaries_old/70service_engine/no_base
diff --git a/tests/dictionaries_old/70service_engine/result/rougail/00-base.yml b/tests/dictionaries_old/70service_engine/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70service_engine/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_engine/result/services/00-base.yml b/tests/dictionaries_old/70service_engine/result/services/00-base.yml
new file mode 100644
index 000000000..7802be823
--- /dev/null
+++ b/tests/dictionaries_old/70service_engine/result/services/00-base.yml
@@ -0,0 +1,2 @@
+testsrv.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_engine/tiramisu/base.py b/tests/dictionaries_old/70service_engine/tiramisu/base.py
new file mode 100644
index 000000000..3bb44a9ee
--- /dev/null
+++ b/tests/dictionaries_old/70service_engine/tiramisu/base.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_6 = BoolOption(name="activate", doc="activate", default=True)
+option_7 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="testsrv_service", doc="testsrv_service", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70service_engine/tiramisu/multi.py b/tests/dictionaries_old/70service_engine/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_engine/tiramisu/multi.py
rename to tests/dictionaries_old/70service_engine/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_engine/tmpl/testsrv.service b/tests/dictionaries_old/70service_engine/tmpl/testsrv.service
similarity index 100%
rename from tests/dictionaries/70service_engine/tmpl/testsrv.service
rename to tests/dictionaries_old/70service_engine/tmpl/testsrv.service
diff --git a/tests/dictionaries/70service_engine/xml/00-base.xml b/tests/dictionaries_old/70service_engine/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_engine/xml/00-base.xml
rename to tests/dictionaries_old/70service_engine/xml/00-base.xml
diff --git a/tests/dictionaries/70service_engine/yml/00-base.yml b/tests/dictionaries_old/70service_engine/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_engine/yml/00-base.yml
rename to tests/dictionaries_old/70service_engine/yml/00-base.yml
diff --git a/tests/dictionaries/70service_disabled_undisable/__init__.py b/tests/dictionaries_old/70service_engine_dash/__init__.py
similarity index 100%
rename from tests/dictionaries/70service_disabled_undisable/__init__.py
rename to tests/dictionaries_old/70service_engine_dash/__init__.py
diff --git a/tests/dictionaries/70service_engine_dash/makedict/after.json b/tests/dictionaries_old/70service_engine_dash/makedict/after.json
similarity index 100%
rename from tests/dictionaries/70service_engine_dash/makedict/after.json
rename to tests/dictionaries_old/70service_engine_dash/makedict/after.json
diff --git a/tests/dictionaries/70service_engine_dash/makedict/base.json b/tests/dictionaries_old/70service_engine_dash/makedict/base.json
similarity index 100%
rename from tests/dictionaries/70service_engine_dash/makedict/base.json
rename to tests/dictionaries_old/70service_engine_dash/makedict/base.json
diff --git a/tests/dictionaries/70service_engine_dash/makedict/before.json b/tests/dictionaries_old/70service_engine_dash/makedict/before.json
similarity index 100%
rename from tests/dictionaries/70service_engine_dash/makedict/before.json
rename to tests/dictionaries_old/70service_engine_dash/makedict/before.json
diff --git a/tests/dictionaries/70service_servicelist_ip/no_base b/tests/dictionaries_old/70service_engine_dash/no_base
similarity index 100%
rename from tests/dictionaries/70service_servicelist_ip/no_base
rename to tests/dictionaries_old/70service_engine_dash/no_base
diff --git a/tests/dictionaries_old/70service_engine_dash/result/rougail/00-base.yml b/tests/dictionaries_old/70service_engine_dash/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70service_engine_dash/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_engine_dash/result/services/00-base.yml b/tests/dictionaries_old/70service_engine_dash/result/services/00-base.yml
new file mode 100644
index 000000000..903c5dd5d
--- /dev/null
+++ b/tests/dictionaries_old/70service_engine_dash/result/services/00-base.yml
@@ -0,0 +1,2 @@
+test-srv.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_engine_dash/tiramisu/base.py b/tests/dictionaries_old/70service_engine_dash/tiramisu/base.py
new file mode 100644
index 000000000..fb7ed1546
--- /dev/null
+++ b/tests/dictionaries_old/70service_engine_dash/tiramisu/base.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_6 = BoolOption(name="activate", doc="activate", default=True)
+option_7 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_srv_service", doc="test_srv_service", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70service_engine_dash/tiramisu/multi.py b/tests/dictionaries_old/70service_engine_dash/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_engine_dash/tiramisu/multi.py
rename to tests/dictionaries_old/70service_engine_dash/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_engine_dash/tmpl/test-srv.service b/tests/dictionaries_old/70service_engine_dash/tmpl/test-srv.service
similarity index 100%
rename from tests/dictionaries/70service_engine_dash/tmpl/test-srv.service
rename to tests/dictionaries_old/70service_engine_dash/tmpl/test-srv.service
diff --git a/tests/dictionaries/70service_engine_dash/xml/00-base.xml b/tests/dictionaries_old/70service_engine_dash/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_engine_dash/xml/00-base.xml
rename to tests/dictionaries_old/70service_engine_dash/xml/00-base.xml
diff --git a/tests/dictionaries/70service_engine_dash/yml/00-base.yml b/tests/dictionaries_old/70service_engine_dash/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_engine_dash/yml/00-base.yml
rename to tests/dictionaries_old/70service_engine_dash/yml/00-base.yml
diff --git a/tests/dictionaries/70service_engine/__init__.py b/tests/dictionaries_old/70service_mount/__init__.py
similarity index 100%
rename from tests/dictionaries/70service_engine/__init__.py
rename to tests/dictionaries_old/70service_mount/__init__.py
diff --git a/tests/dictionaries/70service_mount/makedict/after.json b/tests/dictionaries_old/70service_mount/makedict/after.json
similarity index 100%
rename from tests/dictionaries/70service_mount/makedict/after.json
rename to tests/dictionaries_old/70service_mount/makedict/after.json
diff --git a/tests/dictionaries/70service_mount/makedict/base.json b/tests/dictionaries_old/70service_mount/makedict/base.json
similarity index 100%
rename from tests/dictionaries/70service_mount/makedict/base.json
rename to tests/dictionaries_old/70service_mount/makedict/base.json
diff --git a/tests/dictionaries/70service_mount/makedict/before.json b/tests/dictionaries_old/70service_mount/makedict/before.json
similarity index 100%
rename from tests/dictionaries/70service_mount/makedict/before.json
rename to tests/dictionaries_old/70service_mount/makedict/before.json
diff --git a/tests/dictionaries/70service_target/no_base b/tests/dictionaries_old/70service_mount/no_base
similarity index 100%
rename from tests/dictionaries/70service_target/no_base
rename to tests/dictionaries_old/70service_mount/no_base
diff --git a/tests/dictionaries_old/70service_mount/result/rougail/00-base.yml b/tests/dictionaries_old/70service_mount/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70service_mount/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_mount/result/services/00-base.yml b/tests/dictionaries_old/70service_mount/result/services/00-base.yml
new file mode 100644
index 000000000..ff7b1f010
--- /dev/null
+++ b/tests/dictionaries_old/70service_mount/result/services/00-base.yml
@@ -0,0 +1,2 @@
+testsrv.mount: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_mount/tiramisu/base.py b/tests/dictionaries_old/70service_mount/tiramisu/base.py
new file mode 100644
index 000000000..912cc01a9
--- /dev/null
+++ b/tests/dictionaries_old/70service_mount/tiramisu/base.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_6 = BoolOption(name="activate", doc="activate", default=True)
+option_7 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="testsrv_mount", doc="testsrv_mount", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "mount")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70service_mount/tiramisu/multi.py b/tests/dictionaries_old/70service_mount/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_mount/tiramisu/multi.py
rename to tests/dictionaries_old/70service_mount/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_mount/tmpl/testsrv.mount b/tests/dictionaries_old/70service_mount/tmpl/testsrv.mount
similarity index 100%
rename from tests/dictionaries/70service_mount/tmpl/testsrv.mount
rename to tests/dictionaries_old/70service_mount/tmpl/testsrv.mount
diff --git a/tests/dictionaries/70service_mount/xml/00-base.xml b/tests/dictionaries_old/70service_mount/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_mount/xml/00-base.xml
rename to tests/dictionaries_old/70service_mount/xml/00-base.xml
diff --git a/tests/dictionaries/70service_mount/yml/00-base.yml b/tests/dictionaries_old/70service_mount/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_mount/yml/00-base.yml
rename to tests/dictionaries_old/70service_mount/yml/00-base.yml
diff --git a/tests/dictionaries_old/70service_not_managed/00-base.xml b/tests/dictionaries_old/70service_not_managed/00-base.xml
deleted file mode 100644
index cb3e5b5a5..000000000
--- a/tests/dictionaries_old/70service_not_managed/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- /tmp/test
-
-
-
-
- mailname
-
-
-
diff --git a/tests/dictionaries_old/70service_not_managed/makedict/after.json b/tests/dictionaries_old/70service_not_managed/makedict/after.json
index 8b3606f3b..52eaee29b 100644
--- a/tests/dictionaries_old/70service_not_managed/makedict/after.json
+++ b/tests/dictionaries_old/70service_not_managed/makedict/after.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": "mailname"
},
- "services.test.files.test.name": {
+ "services.test_service.files.test.name": {
"owner": "default",
"value": "/tmp/test"
},
- "services.test.files.test.activate": {
+ "services.test_service.files.test.source": {
+ "owner": "default",
+ "value": "test"
+ },
+ "services.test_service.files.test.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": false
}
diff --git a/tests/dictionaries_old/70service_not_managed/makedict/base.json b/tests/dictionaries_old/70service_not_managed/makedict/base.json
index 609183768..45259b561 100644
--- a/tests/dictionaries_old/70service_not_managed/makedict/base.json
+++ b/tests/dictionaries_old/70service_not_managed/makedict/base.json
@@ -1,7 +1,8 @@
{
"rougail.var": "mailname",
- "services.test.files.test.name": "/tmp/test",
- "services.test.files.test.activate": true,
- "services.test.activate": true,
- "services.test.manage": false
+ "services.test_service.files.test.name": "/tmp/test",
+ "services.test_service.files.test.source": "test",
+ "services.test_service.files.test.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": false
}
diff --git a/tests/dictionaries_old/70service_not_managed/makedict/before.json b/tests/dictionaries_old/70service_not_managed/makedict/before.json
index 8b3606f3b..52eaee29b 100644
--- a/tests/dictionaries_old/70service_not_managed/makedict/before.json
+++ b/tests/dictionaries_old/70service_not_managed/makedict/before.json
@@ -3,19 +3,23 @@
"owner": "default",
"value": "mailname"
},
- "services.test.files.test.name": {
+ "services.test_service.files.test.name": {
"owner": "default",
"value": "/tmp/test"
},
- "services.test.files.test.activate": {
+ "services.test_service.files.test.source": {
+ "owner": "default",
+ "value": "test"
+ },
+ "services.test_service.files.test.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": false
}
diff --git a/tests/dictionaries_old/70service_not_managed/result/rougail/00-base.yml b/tests/dictionaries_old/70service_not_managed/result/rougail/00-base.yml
new file mode 100644
index 000000000..0a95c96ec
--- /dev/null
+++ b/tests/dictionaries_old/70service_not_managed/result/rougail/00-base.yml
@@ -0,0 +1,4 @@
+var:
+ type: string
+ default: mailname
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_not_managed/result/services/00-base.yml b/tests/dictionaries_old/70service_not_managed/result/services/00-base.yml
new file mode 100644
index 000000000..3fb008396
--- /dev/null
+++ b/tests/dictionaries_old/70service_not_managed/result/services/00-base.yml
@@ -0,0 +1,4 @@
+test.service:
+ files:
+ /tmp/test: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_not_managed/tiramisu/base.py b/tests/dictionaries_old/70service_not_managed/tiramisu/base.py
index 14e812e29..44b7da865 100644
--- a/tests/dictionaries_old/70service_not_managed/tiramisu/base.py
+++ b/tests/dictionaries_old/70service_not_managed/tiramisu/base.py
@@ -1,25 +1,38 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = StrOption(name="var", doc="var", default="mailname", properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
option_7 = FilenameOption(name="name", doc="name", default="/tmp/test")
-option_8 = BoolOption(name="activate", doc="activate", default=True)
-option_6 = OptionDescription(name="test", doc="test", children=[option_7, option_8])
-option_6.impl_set_information('source', "test")
-option_5 = OptionDescription(name="files", doc="files", children=[option_6])
+option_8 = FilenameOption(name="source", doc="source", default="/tmp/test")
option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = BoolOption(name="manage", doc="manage", default=False)
-option_4 = OptionDescription(name="test", doc="test", children=[option_5, option_9, option_10])
-option_3 = OptionDescription(name="services", doc="services", children=[option_4], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_3])
+optiondescription_6 = OptionDescription(name="test", doc="test", children=[option_7, option_8, option_9])
+optiondescription_5 = OptionDescription(name="files", doc="files", children=[optiondescription_6])
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+option_11 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_4 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_5, option_10, option_11])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/70service_not_managed/tiramisu/multi.py b/tests/dictionaries_old/70service_not_managed/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_not_managed/tiramisu/multi.py
rename to tests/dictionaries_old/70service_not_managed/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_not_managed/xml/00-base.xml b/tests/dictionaries_old/70service_not_managed/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_not_managed/xml/00-base.xml
rename to tests/dictionaries_old/70service_not_managed/xml/00-base.xml
diff --git a/tests/dictionaries/70service_not_managed/yml/00-base.yml b/tests/dictionaries_old/70service_not_managed/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_not_managed/yml/00-base.yml
rename to tests/dictionaries_old/70service_not_managed/yml/00-base.yml
diff --git a/tests/dictionaries_old/70service_servicelist/00-base.xml b/tests/dictionaries_old/70service_servicelist/00-base.xml
deleted file mode 100644
index 800cad3ce..000000000
--- a/tests/dictionaries_old/70service_servicelist/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
- no
-
-
-
-
- yes
- test
-
-
-
diff --git a/tests/dictionaries_old/70service_servicelist/makedict/after.json b/tests/dictionaries_old/70service_servicelist/makedict/after.json
index 70056b4ad..761b7349d 100644
--- a/tests/dictionaries_old/70service_servicelist/makedict/after.json
+++ b/tests/dictionaries_old/70service_servicelist/makedict/after.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "no"
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70service_servicelist/makedict/base.json b/tests/dictionaries_old/70service_servicelist/makedict/base.json
index 939e54ebb..a27d27128 100644
--- a/tests/dictionaries_old/70service_servicelist/makedict/base.json
+++ b/tests/dictionaries_old/70service_servicelist/makedict/base.json
@@ -1,5 +1,5 @@
{
"rougail.condition": "no",
- "services.test.activate": true,
- "services.test.manage": true
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70service_servicelist/makedict/before.json b/tests/dictionaries_old/70service_servicelist/makedict/before.json
index 70056b4ad..761b7349d 100644
--- a/tests/dictionaries_old/70service_servicelist/makedict/before.json
+++ b/tests/dictionaries_old/70service_servicelist/makedict/before.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "no"
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70service_servicelist/result/rougail/00-base.yml b/tests/dictionaries_old/70service_servicelist/result/rougail/00-base.yml
new file mode 100644
index 000000000..a0de4b9e8
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist/result/rougail/00-base.yml
@@ -0,0 +1,3 @@
+condition:
+ default: 'no'
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist/result/services/00-base.yml b/tests/dictionaries_old/70service_servicelist/result/services/00-base.yml
new file mode 100644
index 000000000..94068b4b7
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist/result/services/00-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == "yes" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist/tiramisu/base.py b/tests/dictionaries_old/70service_servicelist/tiramisu/base.py
index a5bc5a3f8..ee75730b2 100644
--- a/tests/dictionaries_old/70service_servicelist/tiramisu/base.py
+++ b/tests/dictionaries_old/70service_servicelist/tiramisu/base.py
@@ -1,20 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_5 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("yes")})))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_5 = BoolOption(name="activate", doc="activate", default=False)
option_6 = BoolOption(name="manage", doc="manage", default=True)
-option_4 = OptionDescription(name="test", doc="test", children=[option_5, option_6])
-option_3 = OptionDescription(name="services", doc="services", children=[option_4], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_3])
+optiondescription_4 = OptionDescription(name="test_service", doc="test_service", children=[option_5, option_6])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/70service_servicelist/tiramisu/multi.py b/tests/dictionaries_old/70service_servicelist/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_servicelist/tiramisu/multi.py
rename to tests/dictionaries_old/70service_servicelist/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_servicelist/xml/00-base.xml b/tests/dictionaries_old/70service_servicelist/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_servicelist/xml/00-base.xml
rename to tests/dictionaries_old/70service_servicelist/xml/00-base.xml
diff --git a/tests/dictionaries/70service_servicelist/yml/00-base.yml b/tests/dictionaries_old/70service_servicelist/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_servicelist/yml/00-base.yml
rename to tests/dictionaries_old/70service_servicelist/yml/00-base.yml
diff --git a/tests/dictionaries_old/70service_servicelist_disabled_if_in/00-base.xml b/tests/dictionaries_old/70service_servicelist_disabled_if_in/00-base.xml
deleted file mode 100644
index 8a68f585b..000000000
--- a/tests/dictionaries_old/70service_servicelist_disabled_if_in/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
- no
-
-
- no
-
-
-
-
- no
- condition2
-
-
- yes
- test
-
-
-
diff --git a/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/after.json b/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/after.json
index 2eba52588..ba51aab90 100644
--- a/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/after.json
+++ b/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/after.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "no"
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": false
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/base.json b/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/base.json
index e97d9ea74..8626d1785 100644
--- a/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/base.json
+++ b/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/base.json
@@ -1,5 +1,5 @@
{
"rougail.condition1": "no",
- "services.test.activate": false,
- "services.test.manage": true
+ "services.test_service.activate": false,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/before.json b/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/before.json
index 2eba52588..ba51aab90 100644
--- a/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/before.json
+++ b/tests/dictionaries_old/70service_servicelist_disabled_if_in/makedict/before.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "no"
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": false
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70service_servicelist_disabled_if_in/result/rougail/00-base.yml b/tests/dictionaries_old/70service_servicelist_disabled_if_in/result/rougail/00-base.yml
new file mode 100644
index 000000000..65d6747ac
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_disabled_if_in/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+condition1:
+ default: 'no'
+condition2:
+ default: 'no'
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition1 == "no" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist_disabled_if_in/result/services/00-base.yml b/tests/dictionaries_old/70service_servicelist_disabled_if_in/result/services/00-base.yml
new file mode 100644
index 000000000..bfaf86e99
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_disabled_if_in/result/services/00-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition2 == "yes" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist_disabled_if_in/tiramisu/base.py b/tests/dictionaries_old/70service_servicelist_disabled_if_in/tiramisu/base.py
index 38834e171..77f749da6 100644
--- a/tests/dictionaries_old/70service_servicelist_disabled_if_in/tiramisu/base.py
+++ b/tests/dictionaries_old/70service_servicelist_disabled_if_in/tiramisu/base.py
@@ -1,21 +1,34 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = StrOption(name="condition1", doc="condition1", default="no", properties=frozenset({"mandatory", "normal"}))
-option_3 = StrOption(name="condition2", doc="condition2", default="no", properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, todict=True, notraisepropertyerror=True), 'expected': ParamValue("no")}))}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
-option_6 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3, notraisepropertyerror=True), 'expected_0': ParamValue("yes")})))
+option_3 = StrOption(name="condition2", doc="condition2", default="no", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
+option_6 = BoolOption(name="activate", doc="activate", default=False)
option_7 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_7])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70service_servicelist_disabled_if_in/tiramisu/multi.py b/tests/dictionaries_old/70service_servicelist_disabled_if_in/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_servicelist_disabled_if_in/tiramisu/multi.py
rename to tests/dictionaries_old/70service_servicelist_disabled_if_in/tiramisu/multi.py
diff --git a/tests/dictionaries_old/70service_servicelist_disabled_if_in/xml/00-base.xml b/tests/dictionaries_old/70service_servicelist_disabled_if_in/xml/00-base.xml
new file mode 100644
index 000000000..c39d7894b
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_disabled_if_in/xml/00-base.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+ no
+
+
+ no
+
+
+
+
+ no
+ condition2
+
+
+ yes
+ test
+
+
+
diff --git a/tests/dictionaries/70service_servicelist_disabled_if_in/yml/00-base.yml b/tests/dictionaries_old/70service_servicelist_disabled_if_in/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_servicelist_disabled_if_in/yml/00-base.yml
rename to tests/dictionaries_old/70service_servicelist_disabled_if_in/yml/00-base.yml
diff --git a/tests/dictionaries/70service_engine_dash/__init__.py b/tests/dictionaries_old/70service_servicelist_extra/__init__.py
similarity index 100%
rename from tests/dictionaries/70service_engine_dash/__init__.py
rename to tests/dictionaries_old/70service_servicelist_extra/__init__.py
diff --git a/tests/dictionaries/70service_servicelist_extra/makedict/after.json b/tests/dictionaries_old/70service_servicelist_extra/makedict/after.json
similarity index 100%
rename from tests/dictionaries/70service_servicelist_extra/makedict/after.json
rename to tests/dictionaries_old/70service_servicelist_extra/makedict/after.json
diff --git a/tests/dictionaries/70service_servicelist_extra/makedict/base.json b/tests/dictionaries_old/70service_servicelist_extra/makedict/base.json
similarity index 100%
rename from tests/dictionaries/70service_servicelist_extra/makedict/base.json
rename to tests/dictionaries_old/70service_servicelist_extra/makedict/base.json
diff --git a/tests/dictionaries/70service_servicelist_extra/makedict/before.json b/tests/dictionaries_old/70service_servicelist_extra/makedict/before.json
similarity index 100%
rename from tests/dictionaries/70service_servicelist_extra/makedict/before.json
rename to tests/dictionaries_old/70service_servicelist_extra/makedict/before.json
diff --git a/tests/dictionaries_old/70service_servicelist_extra/result/extra/00-base.yml b/tests/dictionaries_old/70service_servicelist_extra/result/extra/00-base.yml
new file mode 100644
index 000000000..a0de4b9e8
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_extra/result/extra/00-base.yml
@@ -0,0 +1,3 @@
+condition:
+ default: 'no'
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist_extra/result/services/00-base.yml b/tests/dictionaries_old/70service_servicelist_extra/result/services/00-base.yml
new file mode 100644
index 000000000..6475a5cf5
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_extra/result/services/00-base.yml
@@ -0,0 +1,2 @@
+test.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist_extra/tiramisu/base.py b/tests/dictionaries_old/70service_servicelist_extra/tiramisu/base.py
new file mode 100644
index 000000000..7768a199d
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_extra/tiramisu/base.py
@@ -0,0 +1,33 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_2 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="extra", doc="extra", children=[option_2], properties=frozenset({"normal"}))
+option_5 = BoolOption(name="activate", doc="activate", default=True)
+option_6 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_4 = OptionDescription(name="test_service", doc="test_service", children=[option_5, option_6])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/70service_servicelist_extra/tiramisu/multi.py b/tests/dictionaries_old/70service_servicelist_extra/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_servicelist_extra/tiramisu/multi.py
rename to tests/dictionaries_old/70service_servicelist_extra/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_servicelist_extra/xml/00-base.xml b/tests/dictionaries_old/70service_servicelist_extra/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_servicelist_extra/xml/00-base.xml
rename to tests/dictionaries_old/70service_servicelist_extra/xml/00-base.xml
diff --git a/tests/dictionaries/70service_servicelist_extra/xml/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/70service_servicelist_extra/xml/extra_dirs/extra/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_servicelist_extra/xml/extra_dirs/extra/00-base.xml
rename to tests/dictionaries_old/70service_servicelist_extra/xml/extra_dirs/extra/00-base.xml
diff --git a/tests/dictionaries/70service_servicelist_extra/yml/00-base.yml b/tests/dictionaries_old/70service_servicelist_extra/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_servicelist_extra/yml/00-base.yml
rename to tests/dictionaries_old/70service_servicelist_extra/yml/00-base.yml
diff --git a/tests/dictionaries/70service_servicelist_extra/yml/extra_dirs/extra/00-base.yml b/tests/dictionaries_old/70service_servicelist_extra/yml/extra_dirs/extra/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_servicelist_extra/yml/extra_dirs/extra/00-base.yml
rename to tests/dictionaries_old/70service_servicelist_extra/yml/extra_dirs/extra/00-base.yml
diff --git a/tests/dictionaries_old/70service_servicelist_file/00-base.xml b/tests/dictionaries_old/70service_servicelist_file/00-base.xml
deleted file mode 100644
index b74620b45..000000000
--- a/tests/dictionaries_old/70service_servicelist_file/00-base.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- /etc/file
-
-
-
-
- no
-
-
- 192.168.0.1
-
-
-
-
- no
- test
-
-
-
diff --git a/tests/dictionaries_old/70service_servicelist_file/makedict/after.json b/tests/dictionaries_old/70service_servicelist_file/makedict/after.json
index 7fc9693a7..028c4975e 100644
--- a/tests/dictionaries_old/70service_servicelist_file/makedict/after.json
+++ b/tests/dictionaries_old/70service_servicelist_file/makedict/after.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "192.168.0.1"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
"owner": "default",
- "value": true
+ "value": "file"
},
- "services.test.activate": {
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.manage": {
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": false
+ },
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70service_servicelist_file/makedict/base.json b/tests/dictionaries_old/70service_servicelist_file/makedict/base.json
index 8b3252bf1..9c84937ca 100644
--- a/tests/dictionaries_old/70service_servicelist_file/makedict/base.json
+++ b/tests/dictionaries_old/70service_servicelist_file/makedict/base.json
@@ -1,8 +1,9 @@
{
"rougail.condition": "no",
"rougail.nut_monitor_host": "192.168.0.1",
- "services.test.files.file.name": "/etc/file",
- "services.test.files.file.activate": true,
- "services.test.activate": false,
- "services.test.manage": true
+ "services.test_service.files.file.name": "/etc/file",
+ "services.test_service.files.file.source": "file",
+ "services.test_service.files.file.activate": false,
+ "services.test_service.activate": false,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70service_servicelist_file/makedict/before.json b/tests/dictionaries_old/70service_servicelist_file/makedict/before.json
index 7fc9693a7..028c4975e 100644
--- a/tests/dictionaries_old/70service_servicelist_file/makedict/before.json
+++ b/tests/dictionaries_old/70service_servicelist_file/makedict/before.json
@@ -7,19 +7,23 @@
"owner": "default",
"value": "192.168.0.1"
},
- "services.test.files.file.name": {
+ "services.test_service.files.file.name": {
"owner": "default",
"value": "/etc/file"
},
- "services.test.files.file.activate": {
+ "services.test_service.files.file.source": {
"owner": "default",
- "value": true
+ "value": "file"
},
- "services.test.activate": {
+ "services.test_service.files.file.activate": {
"owner": "default",
"value": false
},
- "services.test.manage": {
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": false
+ },
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70service_target_engine/no_base b/tests/dictionaries_old/70service_servicelist_file/no_base
similarity index 100%
rename from tests/dictionaries/70service_target_engine/no_base
rename to tests/dictionaries_old/70service_servicelist_file/no_base
diff --git a/tests/dictionaries_old/70service_servicelist_file/result/rougail/00-base.yml b/tests/dictionaries_old/70service_servicelist_file/result/rougail/00-base.yml
new file mode 100644
index 000000000..1feb78528
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_file/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+condition:
+ default: 'no'
+nut_monitor_host:
+ type: ip
+ mandatory: true
+ default: 192.168.0.1
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist_file/result/services/00-base.yml b/tests/dictionaries_old/70service_servicelist_file/result/services/00-base.yml
new file mode 100644
index 000000000..a3d1d3f1f
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_file/result/services/00-base.yml
@@ -0,0 +1,7 @@
+test.service:
+ files:
+ /etc/file: {}
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == "no" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist_file/result/systemd/system/test.service b/tests/dictionaries_old/70service_servicelist_file/result/systemd/system/test.service
deleted file mode 120000
index dc1dc0cde..000000000
--- a/tests/dictionaries_old/70service_servicelist_file/result/systemd/system/test.service
+++ /dev/null
@@ -1 +0,0 @@
-/dev/null
\ No newline at end of file
diff --git a/tests/dictionaries_old/70service_servicelist_file/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70service_servicelist_file/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70service_servicelist_file/tiramisu/base.py b/tests/dictionaries_old/70service_servicelist_file/tiramisu/base.py
index 6d98741bf..d9fecf5e2 100644
--- a/tests/dictionaries_old/70service_servicelist_file/tiramisu/base.py
+++ b/tests/dictionaries_old/70service_servicelist_file/tiramisu/base.py
@@ -1,26 +1,39 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
option_3 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.1", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
option_8 = FilenameOption(name="name", doc="name", default="/etc/file")
-option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9])
-option_7.impl_set_information('source', "file")
-option_6 = OptionDescription(name="files", doc="files", children=[option_7])
-option_10 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("no")})))
-option_11 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_10, option_11])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+option_9 = FilenameOption(name="source", doc="source", default="/etc/file")
+option_10 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10])
+optiondescription_6 = OptionDescription(name="files", doc="files", children=[optiondescription_7])
+option_11 = BoolOption(name="activate", doc="activate", default=False)
+option_12 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_11, option_12])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70service_servicelist_file/tiramisu/multi.py b/tests/dictionaries_old/70service_servicelist_file/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_servicelist_file/tiramisu/multi.py
rename to tests/dictionaries_old/70service_servicelist_file/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_servicelist_file/xml/00-base.xml b/tests/dictionaries_old/70service_servicelist_file/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_servicelist_file/xml/00-base.xml
rename to tests/dictionaries_old/70service_servicelist_file/xml/00-base.xml
diff --git a/tests/dictionaries/70service_servicelist_file/yml/00-base.yml b/tests/dictionaries_old/70service_servicelist_file/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_servicelist_file/yml/00-base.yml
rename to tests/dictionaries_old/70service_servicelist_file/yml/00-base.yml
diff --git a/tests/dictionaries_old/70service_servicelist_ip/00-base.xml b/tests/dictionaries_old/70service_servicelist_ip/00-base.xml
deleted file mode 100644
index fe7fe7483..000000000
--- a/tests/dictionaries_old/70service_servicelist_ip/00-base.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
- no
-
-
- 192.168.0.1
-
-
-
-
- no
- test
-
-
-
diff --git a/tests/dictionaries_old/70service_servicelist_ip/makedict/after.json b/tests/dictionaries_old/70service_servicelist_ip/makedict/after.json
index 73263cb6c..4edde0b79 100644
--- a/tests/dictionaries_old/70service_servicelist_ip/makedict/after.json
+++ b/tests/dictionaries_old/70service_servicelist_ip/makedict/after.json
@@ -7,19 +7,19 @@
"owner": "default",
"value": "192.168.0.1"
},
- "services.test.ip.nut_monitor_host.name": {
+ "services.test_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.1"
},
- "services.test.ip.nut_monitor_host.activate": {
+ "services.test_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": false
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70service_servicelist_ip/makedict/base.json b/tests/dictionaries_old/70service_servicelist_ip/makedict/base.json
index 07338b833..de499690e 100644
--- a/tests/dictionaries_old/70service_servicelist_ip/makedict/base.json
+++ b/tests/dictionaries_old/70service_servicelist_ip/makedict/base.json
@@ -1,8 +1,8 @@
{
"rougail.condition": "no",
"rougail.nut_monitor_host": "192.168.0.1",
- "services.test.ip.nut_monitor_host.name": "192.168.0.1",
- "services.test.ip.nut_monitor_host.activate": true,
- "services.test.activate": false,
- "services.test.manage": true
+ "services.test_service.ip.nut_monitor_host.name": "192.168.0.1",
+ "services.test_service.ip.nut_monitor_host.activate": true,
+ "services.test_service.activate": false,
+ "services.test_service.manage": true
}
diff --git a/tests/dictionaries_old/70service_servicelist_ip/makedict/before.json b/tests/dictionaries_old/70service_servicelist_ip/makedict/before.json
index 73263cb6c..4edde0b79 100644
--- a/tests/dictionaries_old/70service_servicelist_ip/makedict/before.json
+++ b/tests/dictionaries_old/70service_servicelist_ip/makedict/before.json
@@ -7,19 +7,19 @@
"owner": "default",
"value": "192.168.0.1"
},
- "services.test.ip.nut_monitor_host.name": {
+ "services.test_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.1"
},
- "services.test.ip.nut_monitor_host.activate": {
+ "services.test_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": false
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70service_timer/no_base b/tests/dictionaries_old/70service_servicelist_ip/no_base
similarity index 100%
rename from tests/dictionaries/70service_timer/no_base
rename to tests/dictionaries_old/70service_servicelist_ip/no_base
diff --git a/tests/dictionaries_old/70service_servicelist_ip/result/rougail/00-base.yml b/tests/dictionaries_old/70service_servicelist_ip/result/rougail/00-base.yml
new file mode 100644
index 000000000..1feb78528
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_ip/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+condition:
+ default: 'no'
+nut_monitor_host:
+ type: ip
+ mandatory: true
+ default: 192.168.0.1
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist_ip/result/services/00-base.yml b/tests/dictionaries_old/70service_servicelist_ip/result/services/00-base.yml
new file mode 100644
index 000000000..840d56d74
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_ip/result/services/00-base.yml
@@ -0,0 +1,7 @@
+test.service:
+ ip:
+ rougail.nut_monitor_host: {}
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == "no" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist_ip/result/systemd/system/test.service b/tests/dictionaries_old/70service_servicelist_ip/result/systemd/system/test.service
deleted file mode 120000
index dc1dc0cde..000000000
--- a/tests/dictionaries_old/70service_servicelist_ip/result/systemd/system/test.service
+++ /dev/null
@@ -1 +0,0 @@
-/dev/null
\ No newline at end of file
diff --git a/tests/dictionaries_old/70service_servicelist_ip/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70service_servicelist_ip/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70service_servicelist_ip/tiramisu/base.py b/tests/dictionaries_old/70service_servicelist_ip/tiramisu/base.py
index aacd8323d..28f860c46 100644
--- a/tests/dictionaries_old/70service_servicelist_ip/tiramisu/base.py
+++ b/tests/dictionaries_old/70service_servicelist_ip/tiramisu/base.py
@@ -1,25 +1,38 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
option_3 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.1", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
option_8 = SymLinkOption(name="name", opt=option_3)
option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_8, option_9])
-option_6 = OptionDescription(name="ip", doc="ip", children=[option_7])
-option_10 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("no")})))
+optiondescription_7 = OptionDescription(name="rougail_nut_monitor_host", doc="rougail_nut_monitor_host", children=[option_8, option_9])
+optiondescription_6 = OptionDescription(name="ip", doc="ip", children=[optiondescription_7])
+option_10 = BoolOption(name="activate", doc="activate", default=False)
option_11 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="test", doc="test", children=[option_6, option_10, option_11])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="test_service", doc="test_service", children=[optiondescription_6, option_10, option_11])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70service_servicelist_ip/tiramisu/multi.py b/tests/dictionaries_old/70service_servicelist_ip/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_servicelist_ip/tiramisu/multi.py
rename to tests/dictionaries_old/70service_servicelist_ip/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_servicelist_ip/xml/00-base.xml b/tests/dictionaries_old/70service_servicelist_ip/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_servicelist_ip/xml/00-base.xml
rename to tests/dictionaries_old/70service_servicelist_ip/xml/00-base.xml
diff --git a/tests/dictionaries/70service_servicelist_ip/yml/00-base.yml b/tests/dictionaries_old/70service_servicelist_ip/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_servicelist_ip/yml/00-base.yml
rename to tests/dictionaries_old/70service_servicelist_ip/yml/00-base.yml
diff --git a/tests/dictionaries_old/70service_servicelist_not_managed/00-base.xml b/tests/dictionaries_old/70service_servicelist_not_managed/00-base.xml
deleted file mode 100644
index 88e0e411b..000000000
--- a/tests/dictionaries_old/70service_servicelist_not_managed/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
- no
-
-
-
-
- yes
- test
-
-
-
diff --git a/tests/dictionaries_old/70service_servicelist_not_managed/makedict/after.json b/tests/dictionaries_old/70service_servicelist_not_managed/makedict/after.json
index 983c11850..72627c717 100644
--- a/tests/dictionaries_old/70service_servicelist_not_managed/makedict/after.json
+++ b/tests/dictionaries_old/70service_servicelist_not_managed/makedict/after.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "no"
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": false
}
diff --git a/tests/dictionaries_old/70service_servicelist_not_managed/makedict/base.json b/tests/dictionaries_old/70service_servicelist_not_managed/makedict/base.json
index 14db4b00d..3be6c02de 100644
--- a/tests/dictionaries_old/70service_servicelist_not_managed/makedict/base.json
+++ b/tests/dictionaries_old/70service_servicelist_not_managed/makedict/base.json
@@ -1,5 +1,5 @@
{
"rougail.condition": "no",
- "services.test.activate": true,
- "services.test.manage": false
+ "services.test_service.activate": true,
+ "services.test_service.manage": false
}
diff --git a/tests/dictionaries_old/70service_servicelist_not_managed/makedict/before.json b/tests/dictionaries_old/70service_servicelist_not_managed/makedict/before.json
index 983c11850..72627c717 100644
--- a/tests/dictionaries_old/70service_servicelist_not_managed/makedict/before.json
+++ b/tests/dictionaries_old/70service_servicelist_not_managed/makedict/before.json
@@ -3,11 +3,11 @@
"owner": "default",
"value": "no"
},
- "services.test.activate": {
+ "services.test_service.activate": {
"owner": "default",
"value": true
},
- "services.test.manage": {
+ "services.test_service.manage": {
"owner": "default",
"value": false
}
diff --git a/tests/dictionaries_old/70service_servicelist_not_managed/result/rougail/00-base.yml b/tests/dictionaries_old/70service_servicelist_not_managed/result/rougail/00-base.yml
new file mode 100644
index 000000000..a0de4b9e8
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_not_managed/result/rougail/00-base.yml
@@ -0,0 +1,3 @@
+condition:
+ default: 'no'
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist_not_managed/result/services/00-base.yml b/tests/dictionaries_old/70service_servicelist_not_managed/result/services/00-base.yml
new file mode 100644
index 000000000..94068b4b7
--- /dev/null
+++ b/tests/dictionaries_old/70service_servicelist_not_managed/result/services/00-base.yml
@@ -0,0 +1,5 @@
+test.service:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == "yes" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_servicelist_not_managed/tiramisu/base.py b/tests/dictionaries_old/70service_servicelist_not_managed/tiramisu/base.py
index c83b5cf72..ee75730b2 100644
--- a/tests/dictionaries_old/70service_servicelist_not_managed/tiramisu/base.py
+++ b/tests/dictionaries_old/70service_servicelist_not_managed/tiramisu/base.py
@@ -1,20 +1,33 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
-option_5 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("yes")})))
-option_6 = BoolOption(name="manage", doc="manage", default=False)
-option_4 = OptionDescription(name="test", doc="test", children=[option_5, option_6])
-option_3 = OptionDescription(name="services", doc="services", children=[option_4], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_3])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
+option_5 = BoolOption(name="activate", doc="activate", default=False)
+option_6 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_4 = OptionDescription(name="test_service", doc="test_service", children=[option_5, option_6])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/70service_servicelist_not_managed/tiramisu/multi.py b/tests/dictionaries_old/70service_servicelist_not_managed/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_servicelist_not_managed/tiramisu/multi.py
rename to tests/dictionaries_old/70service_servicelist_not_managed/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_servicelist_not_managed/xml/00-base.xml b/tests/dictionaries_old/70service_servicelist_not_managed/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_servicelist_not_managed/xml/00-base.xml
rename to tests/dictionaries_old/70service_servicelist_not_managed/xml/00-base.xml
diff --git a/tests/dictionaries/70service_servicelist_not_managed/yml/00-base.yml b/tests/dictionaries_old/70service_servicelist_not_managed/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_servicelist_not_managed/yml/00-base.yml
rename to tests/dictionaries_old/70service_servicelist_not_managed/yml/00-base.yml
diff --git a/tests/dictionaries/70service_mount/__init__.py b/tests/dictionaries_old/70service_target/__init__.py
similarity index 100%
rename from tests/dictionaries/70service_mount/__init__.py
rename to tests/dictionaries_old/70service_target/__init__.py
diff --git a/tests/dictionaries/70service_engine/makedict/after.json b/tests/dictionaries_old/70service_target/makedict/after.json
similarity index 100%
rename from tests/dictionaries/70service_engine/makedict/after.json
rename to tests/dictionaries_old/70service_target/makedict/after.json
diff --git a/tests/dictionaries/70service_engine/makedict/base.json b/tests/dictionaries_old/70service_target/makedict/base.json
similarity index 100%
rename from tests/dictionaries/70service_engine/makedict/base.json
rename to tests/dictionaries_old/70service_target/makedict/base.json
diff --git a/tests/dictionaries/70service_engine/makedict/before.json b/tests/dictionaries_old/70service_target/makedict/before.json
similarity index 100%
rename from tests/dictionaries/70service_engine/makedict/before.json
rename to tests/dictionaries_old/70service_target/makedict/before.json
diff --git a/tests/dictionaries/70services_ip/no_base b/tests/dictionaries_old/70service_target/no_base
similarity index 100%
rename from tests/dictionaries/70services_ip/no_base
rename to tests/dictionaries_old/70service_target/no_base
diff --git a/tests/dictionaries_old/70service_target/result/rougail/00-base.yml b/tests/dictionaries_old/70service_target/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70service_target/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_target/result/services/00-base.yml b/tests/dictionaries_old/70service_target/result/services/00-base.yml
new file mode 100644
index 000000000..7802be823
--- /dev/null
+++ b/tests/dictionaries_old/70service_target/result/services/00-base.yml
@@ -0,0 +1,2 @@
+testsrv.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_target/tiramisu/base.py b/tests/dictionaries_old/70service_target/tiramisu/base.py
new file mode 100644
index 000000000..3bb44a9ee
--- /dev/null
+++ b/tests/dictionaries_old/70service_target/tiramisu/base.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_6 = BoolOption(name="activate", doc="activate", default=True)
+option_7 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="testsrv_service", doc="testsrv_service", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70service_target/tiramisu/multi.py b/tests/dictionaries_old/70service_target/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_target/tiramisu/multi.py
rename to tests/dictionaries_old/70service_target/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_target/xml/00-base.xml b/tests/dictionaries_old/70service_target/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_target/xml/00-base.xml
rename to tests/dictionaries_old/70service_target/xml/00-base.xml
diff --git a/tests/dictionaries/70service_target/yml/00-base.yml b/tests/dictionaries_old/70service_target/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_target/yml/00-base.yml
rename to tests/dictionaries_old/70service_target/yml/00-base.yml
diff --git a/tests/dictionaries/70service_not_managed/__init__.py b/tests/dictionaries_old/70service_target_engine/__init__.py
similarity index 100%
rename from tests/dictionaries/70service_not_managed/__init__.py
rename to tests/dictionaries_old/70service_target_engine/__init__.py
diff --git a/tests/dictionaries/70service_target/makedict/after.json b/tests/dictionaries_old/70service_target_engine/makedict/after.json
similarity index 100%
rename from tests/dictionaries/70service_target/makedict/after.json
rename to tests/dictionaries_old/70service_target_engine/makedict/after.json
diff --git a/tests/dictionaries/70service_target/makedict/base.json b/tests/dictionaries_old/70service_target_engine/makedict/base.json
similarity index 100%
rename from tests/dictionaries/70service_target/makedict/base.json
rename to tests/dictionaries_old/70service_target_engine/makedict/base.json
diff --git a/tests/dictionaries/70service_target/makedict/before.json b/tests/dictionaries_old/70service_target_engine/makedict/before.json
similarity index 100%
rename from tests/dictionaries/70service_target/makedict/before.json
rename to tests/dictionaries_old/70service_target_engine/makedict/before.json
diff --git a/tests/dictionaries/70services_ip_cidr/no_base b/tests/dictionaries_old/70service_target_engine/no_base
similarity index 100%
rename from tests/dictionaries/70services_ip_cidr/no_base
rename to tests/dictionaries_old/70service_target_engine/no_base
diff --git a/tests/dictionaries_old/70service_target_engine/result/rougail/00-base.yml b/tests/dictionaries_old/70service_target_engine/result/rougail/00-base.yml
new file mode 100644
index 000000000..c3e916c03
--- /dev/null
+++ b/tests/dictionaries_old/70service_target_engine/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+general:
+ description: général
+ mode_conteneur_actif:
+ type: string
+ description: No change
+ hidden: true
+ default: oui
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_target_engine/result/services/00-base.yml b/tests/dictionaries_old/70service_target_engine/result/services/00-base.yml
new file mode 100644
index 000000000..7802be823
--- /dev/null
+++ b/tests/dictionaries_old/70service_target_engine/result/services/00-base.yml
@@ -0,0 +1,2 @@
+testsrv.service: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_target_engine/tiramisu/base.py b/tests/dictionaries_old/70service_target_engine/tiramisu/base.py
new file mode 100644
index 000000000..3bb44a9ee
--- /dev/null
+++ b/tests/dictionaries_old/70service_target_engine/tiramisu/base.py
@@ -0,0 +1,34 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
+option_6 = BoolOption(name="activate", doc="activate", default=True)
+option_7 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="testsrv_service", doc="testsrv_service", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70service_target_engine/tiramisu/multi.py b/tests/dictionaries_old/70service_target_engine/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_target_engine/tiramisu/multi.py
rename to tests/dictionaries_old/70service_target_engine/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_target_engine/result/systemd/system/testsrv.service b/tests/dictionaries_old/70service_target_engine/tmpl/testsrv.service
similarity index 100%
rename from tests/dictionaries/70service_target_engine/result/systemd/system/testsrv.service
rename to tests/dictionaries_old/70service_target_engine/tmpl/testsrv.service
diff --git a/tests/dictionaries/70service_target_engine/xml/00-base.xml b/tests/dictionaries_old/70service_target_engine/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_target_engine/xml/00-base.xml
rename to tests/dictionaries_old/70service_target_engine/xml/00-base.xml
diff --git a/tests/dictionaries/70service_target_engine/yml/00-base.yml b/tests/dictionaries_old/70service_target_engine/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_target_engine/yml/00-base.yml
rename to tests/dictionaries_old/70service_target_engine/yml/00-base.yml
diff --git a/tests/dictionaries/70service_servicelist/__init__.py b/tests/dictionaries_old/70service_timer/__init__.py
similarity index 100%
rename from tests/dictionaries/70service_servicelist/__init__.py
rename to tests/dictionaries_old/70service_timer/__init__.py
diff --git a/tests/dictionaries/70service_timer/makedict/after.json b/tests/dictionaries_old/70service_timer/makedict/after.json
similarity index 100%
rename from tests/dictionaries/70service_timer/makedict/after.json
rename to tests/dictionaries_old/70service_timer/makedict/after.json
diff --git a/tests/dictionaries/70service_timer/makedict/base.json b/tests/dictionaries_old/70service_timer/makedict/base.json
similarity index 100%
rename from tests/dictionaries/70service_timer/makedict/base.json
rename to tests/dictionaries_old/70service_timer/makedict/base.json
diff --git a/tests/dictionaries/70service_timer/makedict/before.json b/tests/dictionaries_old/70service_timer/makedict/before.json
similarity index 100%
rename from tests/dictionaries/70service_timer/makedict/before.json
rename to tests/dictionaries_old/70service_timer/makedict/before.json
diff --git a/tests/dictionaries/70services_ip_disabled/no_base b/tests/dictionaries_old/70service_timer/no_base
similarity index 100%
rename from tests/dictionaries/70services_ip_disabled/no_base
rename to tests/dictionaries_old/70service_timer/no_base
diff --git a/tests/dictionaries_old/70service_timer/result/services/00-base.yml b/tests/dictionaries_old/70service_timer/result/services/00-base.yml
new file mode 100644
index 000000000..84e14c13e
--- /dev/null
+++ b/tests/dictionaries_old/70service_timer/result/services/00-base.yml
@@ -0,0 +1,3 @@
+testsrv.service: {}
+testsrv.timer: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70service_timer/tiramisu/base.py b/tests/dictionaries_old/70service_timer/tiramisu/base.py
new file mode 100644
index 000000000..02aeb4963
--- /dev/null
+++ b/tests/dictionaries_old/70service_timer/tiramisu/base.py
@@ -0,0 +1,35 @@
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
+try:
+ from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
+except:
+ from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_3 = BoolOption(name="activate", doc="activate", default=True)
+option_4 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_2 = OptionDescription(name="testsrv_service", doc="testsrv_service", children=[option_3, option_4])
+optiondescription_2.impl_set_information('type', "service")
+option_6 = BoolOption(name="activate", doc="activate", default=True)
+option_7 = BoolOption(name="manage", doc="manage", default=True)
+optiondescription_5 = OptionDescription(name="testsrv_timer", doc="testsrv_timer", children=[option_6, option_7])
+optiondescription_5.impl_set_information('type', "timer")
+optiondescription_1 = OptionDescription(name="services", doc="services", children=[optiondescription_2, optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/70service_timer/tiramisu/multi.py b/tests/dictionaries_old/70service_timer/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70service_timer/tiramisu/multi.py
rename to tests/dictionaries_old/70service_timer/tiramisu/multi.py
diff --git a/tests/dictionaries/70service_timer/result/systemd/system/testsrv.service b/tests/dictionaries_old/70service_timer/tmpl/testsrv.service
similarity index 100%
rename from tests/dictionaries/70service_timer/result/systemd/system/testsrv.service
rename to tests/dictionaries_old/70service_timer/tmpl/testsrv.service
diff --git a/tests/dictionaries/70service_timer/result/systemd/system/testsrv.timer b/tests/dictionaries_old/70service_timer/tmpl/testsrv.timer
similarity index 100%
rename from tests/dictionaries/70service_timer/result/systemd/system/testsrv.timer
rename to tests/dictionaries_old/70service_timer/tmpl/testsrv.timer
diff --git a/tests/dictionaries/70service_timer/xml/00-base.xml b/tests/dictionaries_old/70service_timer/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70service_timer/xml/00-base.xml
rename to tests/dictionaries_old/70service_timer/xml/00-base.xml
diff --git a/tests/dictionaries/70service_timer/yml/00-base.yml b/tests/dictionaries_old/70service_timer/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70service_timer/yml/00-base.yml
rename to tests/dictionaries_old/70service_timer/yml/00-base.yml
diff --git a/tests/dictionaries_old/70services_ip/00-base.xml b/tests/dictionaries_old/70services_ip/00-base.xml
deleted file mode 100644
index 69c6c09f0..000000000
--- a/tests/dictionaries_old/70services_ip/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
- 192.168.0.1
-
-
-
diff --git a/tests/dictionaries_old/70services_ip/makedict/after.json b/tests/dictionaries_old/70services_ip/makedict/after.json
index 7090ae971..26fc6478f 100644
--- a/tests/dictionaries_old/70services_ip/makedict/after.json
+++ b/tests/dictionaries_old/70services_ip/makedict/after.json
@@ -3,19 +3,19 @@
"owner": "default",
"value": "192.168.0.1"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.1"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70services_ip/makedict/base.json b/tests/dictionaries_old/70services_ip/makedict/base.json
index d333bde1e..e04c43527 100644
--- a/tests/dictionaries_old/70services_ip/makedict/base.json
+++ b/tests/dictionaries_old/70services_ip/makedict/base.json
@@ -1,7 +1,7 @@
{
"rougail.nut_monitor_host": "192.168.0.1",
- "services.nut.ip.nut_monitor_host.name": "192.168.0.1",
- "services.nut.ip.nut_monitor_host.activate": true,
- "services.nut.activate": true,
- "services.nut.manage": true
+ "services.nut_service.ip.nut_monitor_host.name": "192.168.0.1",
+ "services.nut_service.ip.nut_monitor_host.activate": true,
+ "services.nut_service.activate": true,
+ "services.nut_service.manage": true
}
diff --git a/tests/dictionaries_old/70services_ip/makedict/before.json b/tests/dictionaries_old/70services_ip/makedict/before.json
index 7090ae971..26fc6478f 100644
--- a/tests/dictionaries_old/70services_ip/makedict/before.json
+++ b/tests/dictionaries_old/70services_ip/makedict/before.json
@@ -3,19 +3,19 @@
"owner": "default",
"value": "192.168.0.1"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.1"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70services_ip_extra/no_base b/tests/dictionaries_old/70services_ip/no_base
similarity index 100%
rename from tests/dictionaries/70services_ip_extra/no_base
rename to tests/dictionaries_old/70services_ip/no_base
diff --git a/tests/dictionaries_old/70services_ip/result/rougail/00-base.yml b/tests/dictionaries_old/70services_ip/result/rougail/00-base.yml
new file mode 100644
index 000000000..3db77153f
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip/result/rougail/00-base.yml
@@ -0,0 +1,5 @@
+nut_monitor_host:
+ type: ip
+ mandatory: true
+ default: 192.168.0.1
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip/result/services/00-base.yml b/tests/dictionaries_old/70services_ip/result/services/00-base.yml
new file mode 100644
index 000000000..8637277cc
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip/result/services/00-base.yml
@@ -0,0 +1,4 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries_old/70services_ip/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index e4f6d8f05..000000000
--- a/tests/dictionaries_old/70services_ip/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.1
-IPAddressDeny=any
diff --git a/tests/dictionaries_old/70services_ip/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70services_ip/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70services_ip/tiramisu/base.py b/tests/dictionaries_old/70services_ip/tiramisu/base.py
index 33f66ca4a..324638405 100644
--- a/tests/dictionaries_old/70services_ip/tiramisu/base.py
+++ b/tests/dictionaries_old/70services_ip/tiramisu/base.py
@@ -1,24 +1,37 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.1", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
option_7 = SymLinkOption(name="name", opt=option_2)
option_8 = BoolOption(name="activate", doc="activate", default=True)
-option_6 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_7, option_8])
-option_5 = OptionDescription(name="ip", doc="ip", children=[option_6])
+optiondescription_6 = OptionDescription(name="rougail_nut_monitor_host", doc="rougail_nut_monitor_host", children=[option_7, option_8])
+optiondescription_5 = OptionDescription(name="ip", doc="ip", children=[optiondescription_6])
option_9 = BoolOption(name="activate", doc="activate", default=True)
option_10 = BoolOption(name="manage", doc="manage", default=True)
-option_4 = OptionDescription(name="nut", doc="nut", children=[option_5, option_9, option_10])
-option_3 = OptionDescription(name="services", doc="services", children=[option_4], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_3])
+optiondescription_4 = OptionDescription(name="nut_service", doc="nut_service", children=[optiondescription_5, option_9, option_10])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/70services_ip/tiramisu/multi.py b/tests/dictionaries_old/70services_ip/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70services_ip/tiramisu/multi.py
rename to tests/dictionaries_old/70services_ip/tiramisu/multi.py
diff --git a/tests/dictionaries/70services_ip/xml/00-base.xml b/tests/dictionaries_old/70services_ip/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70services_ip/xml/00-base.xml
rename to tests/dictionaries_old/70services_ip/xml/00-base.xml
diff --git a/tests/dictionaries/70services_ip/yml/00-base.yml b/tests/dictionaries_old/70services_ip/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70services_ip/yml/00-base.yml
rename to tests/dictionaries_old/70services_ip/yml/00-base.yml
diff --git a/tests/dictionaries_old/70services_ip_cidr/00-base.xml b/tests/dictionaries_old/70services_ip_cidr/00-base.xml
deleted file mode 100644
index 05fe70124..000000000
--- a/tests/dictionaries_old/70services_ip_cidr/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
- 192.168.0.0/24
-
-
-
diff --git a/tests/dictionaries_old/70services_ip_cidr/makedict/after.json b/tests/dictionaries_old/70services_ip_cidr/makedict/after.json
index f9eedc89b..61c4af03d 100644
--- a/tests/dictionaries_old/70services_ip_cidr/makedict/after.json
+++ b/tests/dictionaries_old/70services_ip_cidr/makedict/after.json
@@ -3,19 +3,19 @@
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70services_ip_cidr/makedict/base.json b/tests/dictionaries_old/70services_ip_cidr/makedict/base.json
index 9097e24cc..f097a8d45 100644
--- a/tests/dictionaries_old/70services_ip_cidr/makedict/base.json
+++ b/tests/dictionaries_old/70services_ip_cidr/makedict/base.json
@@ -1,7 +1,7 @@
{
"rougail.nut_monitor_host": "192.168.0.0/24",
- "services.nut.ip.nut_monitor_host.name": "192.168.0.0/24",
- "services.nut.ip.nut_monitor_host.activate": true,
- "services.nut.activate": true,
- "services.nut.manage": true
+ "services.nut_service.ip.nut_monitor_host.name": "192.168.0.0/24",
+ "services.nut_service.ip.nut_monitor_host.activate": true,
+ "services.nut_service.activate": true,
+ "services.nut_service.manage": true
}
diff --git a/tests/dictionaries_old/70services_ip_cidr/makedict/before.json b/tests/dictionaries_old/70services_ip_cidr/makedict/before.json
index f9eedc89b..61c4af03d 100644
--- a/tests/dictionaries_old/70services_ip_cidr/makedict/before.json
+++ b/tests/dictionaries_old/70services_ip_cidr/makedict/before.json
@@ -3,19 +3,19 @@
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70services_ip_iplist/no_base b/tests/dictionaries_old/70services_ip_cidr/no_base
similarity index 100%
rename from tests/dictionaries/70services_ip_iplist/no_base
rename to tests/dictionaries_old/70services_ip_cidr/no_base
diff --git a/tests/dictionaries_old/70services_ip_cidr/result/rougail/00-base.yml b/tests/dictionaries_old/70services_ip_cidr/result/rougail/00-base.yml
new file mode 100644
index 000000000..d749be420
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_cidr/result/rougail/00-base.yml
@@ -0,0 +1,5 @@
+nut_monitor_host:
+ type: network_cidr
+ mandatory: true
+ default: 192.168.0.0/24
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_cidr/result/services/00-base.yml b/tests/dictionaries_old/70services_ip_cidr/result/services/00-base.yml
new file mode 100644
index 000000000..8637277cc
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_cidr/result/services/00-base.yml
@@ -0,0 +1,4 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_cidr/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries_old/70services_ip_cidr/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index e1cb437d6..000000000
--- a/tests/dictionaries_old/70services_ip_cidr/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.0/24
-IPAddressDeny=any
diff --git a/tests/dictionaries_old/70services_ip_cidr/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70services_ip_cidr/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70services_ip_cidr/tiramisu/base.py b/tests/dictionaries_old/70services_ip_cidr/tiramisu/base.py
index 6c7bd9c8f..cd6143c07 100644
--- a/tests/dictionaries_old/70services_ip_cidr/tiramisu/base.py
+++ b/tests/dictionaries_old/70services_ip_cidr/tiramisu/base.py
@@ -1,24 +1,37 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0/24", cidr=True, properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
option_7 = SymLinkOption(name="name", opt=option_2)
option_8 = BoolOption(name="activate", doc="activate", default=True)
-option_6 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_7, option_8])
-option_5 = OptionDescription(name="ip", doc="ip", children=[option_6])
+optiondescription_6 = OptionDescription(name="rougail_nut_monitor_host", doc="rougail_nut_monitor_host", children=[option_7, option_8])
+optiondescription_5 = OptionDescription(name="ip", doc="ip", children=[optiondescription_6])
option_9 = BoolOption(name="activate", doc="activate", default=True)
option_10 = BoolOption(name="manage", doc="manage", default=True)
-option_4 = OptionDescription(name="nut", doc="nut", children=[option_5, option_9, option_10])
-option_3 = OptionDescription(name="services", doc="services", children=[option_4], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_3])
+optiondescription_4 = OptionDescription(name="nut_service", doc="nut_service", children=[optiondescription_5, option_9, option_10])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/70services_ip_cidr/tiramisu/multi.py b/tests/dictionaries_old/70services_ip_cidr/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70services_ip_cidr/tiramisu/multi.py
rename to tests/dictionaries_old/70services_ip_cidr/tiramisu/multi.py
diff --git a/tests/dictionaries/70services_ip_cidr/xml/00-base.xml b/tests/dictionaries_old/70services_ip_cidr/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70services_ip_cidr/xml/00-base.xml
rename to tests/dictionaries_old/70services_ip_cidr/xml/00-base.xml
diff --git a/tests/dictionaries/70services_ip_cidr/yml/00-base.yml b/tests/dictionaries_old/70services_ip_cidr/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70services_ip_cidr/yml/00-base.yml
rename to tests/dictionaries_old/70services_ip_cidr/yml/00-base.yml
diff --git a/tests/dictionaries_old/70services_ip_disabled/00-base.xml b/tests/dictionaries_old/70services_ip_disabled/00-base.xml
deleted file mode 100644
index 5e39f5f0f..000000000
--- a/tests/dictionaries_old/70services_ip_disabled/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
- 192.168.0.1
-
-
-
diff --git a/tests/dictionaries_old/70services_ip_disabled/makedict/after.json b/tests/dictionaries_old/70services_ip_disabled/makedict/after.json
index f74a308dd..b6f6db5b7 100644
--- a/tests/dictionaries_old/70services_ip_disabled/makedict/after.json
+++ b/tests/dictionaries_old/70services_ip_disabled/makedict/after.json
@@ -1,13 +1,13 @@
{
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70services_ip_disabled/makedict/base.json b/tests/dictionaries_old/70services_ip_disabled/makedict/base.json
index 552126f52..66baf2e0f 100644
--- a/tests/dictionaries_old/70services_ip_disabled/makedict/base.json
+++ b/tests/dictionaries_old/70services_ip_disabled/makedict/base.json
@@ -1,5 +1,5 @@
{
- "services.nut.ip.nut_monitor_host.activate": true,
- "services.nut.activate": true,
- "services.nut.manage": true
+ "services.nut_service.ip.nut_monitor_host.activate": true,
+ "services.nut_service.activate": true,
+ "services.nut_service.manage": true
}
diff --git a/tests/dictionaries_old/70services_ip_disabled/makedict/before.json b/tests/dictionaries_old/70services_ip_disabled/makedict/before.json
index f74a308dd..b6f6db5b7 100644
--- a/tests/dictionaries_old/70services_ip_disabled/makedict/before.json
+++ b/tests/dictionaries_old/70services_ip_disabled/makedict/before.json
@@ -1,13 +1,13 @@
{
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70services_ip_leadership/no_base b/tests/dictionaries_old/70services_ip_disabled/no_base
similarity index 100%
rename from tests/dictionaries/70services_ip_leadership/no_base
rename to tests/dictionaries_old/70services_ip_disabled/no_base
diff --git a/tests/dictionaries_old/70services_ip_disabled/result/rougail/00-base.yml b/tests/dictionaries_old/70services_ip_disabled/result/rougail/00-base.yml
new file mode 100644
index 000000000..9d469a447
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_disabled/result/rougail/00-base.yml
@@ -0,0 +1,6 @@
+nut_monitor_host:
+ type: ip
+ mandatory: true
+ disabled: true
+ default: 192.168.0.1
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_disabled/result/services/00-base.yml b/tests/dictionaries_old/70services_ip_disabled/result/services/00-base.yml
new file mode 100644
index 000000000..8637277cc
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_disabled/result/services/00-base.yml
@@ -0,0 +1,4 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_disabled/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries_old/70services_ip_disabled/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index 9c0580a98..000000000
--- a/tests/dictionaries_old/70services_ip_disabled/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[Service]
-IPAddressDeny=any
diff --git a/tests/dictionaries_old/70services_ip_disabled/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70services_ip_disabled/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70services_ip_disabled/tiramisu/base.py b/tests/dictionaries_old/70services_ip_disabled/tiramisu/base.py
index ab652fb24..ce09133b4 100644
--- a/tests/dictionaries_old/70services_ip_disabled/tiramisu/base.py
+++ b/tests/dictionaries_old/70services_ip_disabled/tiramisu/base.py
@@ -1,24 +1,37 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.1", allow_reserved=True, properties=frozenset({"disabled", "mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
option_7 = SymLinkOption(name="name", opt=option_2)
option_8 = BoolOption(name="activate", doc="activate", default=True)
-option_6 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_7, option_8])
-option_5 = OptionDescription(name="ip", doc="ip", children=[option_6])
+optiondescription_6 = OptionDescription(name="rougail_nut_monitor_host", doc="rougail_nut_monitor_host", children=[option_7, option_8])
+optiondescription_5 = OptionDescription(name="ip", doc="ip", children=[optiondescription_6])
option_9 = BoolOption(name="activate", doc="activate", default=True)
option_10 = BoolOption(name="manage", doc="manage", default=True)
-option_4 = OptionDescription(name="nut", doc="nut", children=[option_5, option_9, option_10])
-option_3 = OptionDescription(name="services", doc="services", children=[option_4], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_3])
+optiondescription_4 = OptionDescription(name="nut_service", doc="nut_service", children=[optiondescription_5, option_9, option_10])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/70services_ip_disabled/tiramisu/multi.py b/tests/dictionaries_old/70services_ip_disabled/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70services_ip_disabled/tiramisu/multi.py
rename to tests/dictionaries_old/70services_ip_disabled/tiramisu/multi.py
diff --git a/tests/dictionaries/70services_ip_disabled/xml/00-base.xml b/tests/dictionaries_old/70services_ip_disabled/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70services_ip_disabled/xml/00-base.xml
rename to tests/dictionaries_old/70services_ip_disabled/xml/00-base.xml
diff --git a/tests/dictionaries/70services_ip_disabled/yml/00-base.yml b/tests/dictionaries_old/70services_ip_disabled/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70services_ip_disabled/yml/00-base.yml
rename to tests/dictionaries_old/70services_ip_disabled/yml/00-base.yml
diff --git a/tests/dictionaries_old/70services_ip_iplist/00-base.xml b/tests/dictionaries_old/70services_ip_iplist/00-base.xml
deleted file mode 100644
index d3c5f4bc3..000000000
--- a/tests/dictionaries_old/70services_ip_iplist/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
- no
-
-
- 192.168.0.0/24
-
-
-
-
- yes
- example
- nut_monitor_host
-
-
-
diff --git a/tests/dictionaries_old/70services_ip_iplist/makedict/after.json b/tests/dictionaries_old/70services_ip_iplist/makedict/after.json
index e182cf468..3cecac4ff 100644
--- a/tests/dictionaries_old/70services_ip_iplist/makedict/after.json
+++ b/tests/dictionaries_old/70services_ip_iplist/makedict/after.json
@@ -7,19 +7,19 @@
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70services_ip_iplist/makedict/base.json b/tests/dictionaries_old/70services_ip_iplist/makedict/base.json
index 8c62d10b0..aa2bd28ea 100644
--- a/tests/dictionaries_old/70services_ip_iplist/makedict/base.json
+++ b/tests/dictionaries_old/70services_ip_iplist/makedict/base.json
@@ -1,8 +1,8 @@
{
"rougail.condition": "no",
"rougail.nut_monitor_host": "192.168.0.0/24",
- "services.nut.ip.nut_monitor_host.name": "192.168.0.0/24",
- "services.nut.ip.nut_monitor_host.activate": true,
- "services.nut.activate": true,
- "services.nut.manage": true
+ "services.nut_service.ip.nut_monitor_host.name": "192.168.0.0/24",
+ "services.nut_service.ip.nut_monitor_host.activate": true,
+ "services.nut_service.activate": true,
+ "services.nut_service.manage": true
}
diff --git a/tests/dictionaries_old/70services_ip_iplist/makedict/before.json b/tests/dictionaries_old/70services_ip_iplist/makedict/before.json
index e182cf468..3cecac4ff 100644
--- a/tests/dictionaries_old/70services_ip_iplist/makedict/before.json
+++ b/tests/dictionaries_old/70services_ip_iplist/makedict/before.json
@@ -7,19 +7,19 @@
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70services_ip_multi/no_base b/tests/dictionaries_old/70services_ip_iplist/no_base
similarity index 100%
rename from tests/dictionaries/70services_ip_multi/no_base
rename to tests/dictionaries_old/70services_ip_iplist/no_base
diff --git a/tests/dictionaries_old/70services_ip_iplist/result/rougail/00-base.yml b/tests/dictionaries_old/70services_ip_iplist/result/rougail/00-base.yml
new file mode 100644
index 000000000..42176e0d7
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_iplist/result/rougail/00-base.yml
@@ -0,0 +1,10 @@
+condition:
+ default: 'no'
+nut_monitor_host:
+ type: network_cidr
+ mandatory: true
+ default: 192.168.0.0/24
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == "yes" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_iplist/result/services/00-base.yml b/tests/dictionaries_old/70services_ip_iplist/result/services/00-base.yml
new file mode 100644
index 000000000..303073d6d
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_iplist/result/services/00-base.yml
@@ -0,0 +1,7 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == "yes" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_iplist/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries_old/70services_ip_iplist/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index e1cb437d6..000000000
--- a/tests/dictionaries_old/70services_ip_iplist/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.0/24
-IPAddressDeny=any
diff --git a/tests/dictionaries_old/70services_ip_iplist/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70services_ip_iplist/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70services_ip_iplist/tiramisu/base.py b/tests/dictionaries_old/70services_ip_iplist/tiramisu/base.py
index d01ad1497..e8999983f 100644
--- a/tests/dictionaries_old/70services_ip_iplist/tiramisu/base.py
+++ b/tests/dictionaries_old/70services_ip_iplist/tiramisu/base.py
@@ -1,25 +1,38 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
-option_3 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0/24", cidr=True, properties=frozenset({"mandatory", "normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, todict=True, notraisepropertyerror=True), 'expected': ParamValue("yes")}))}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
+option_3 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0/24", cidr=True, properties=frozenset({"mandatory", "normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
option_8 = SymLinkOption(name="name", opt=option_3)
-option_9 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("yes")})))
-option_7 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_8, option_9])
-option_6 = OptionDescription(name="ip", doc="ip", children=[option_7])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="rougail_nut_monitor_host", doc="rougail_nut_monitor_host", children=[option_8, option_9])
+optiondescription_6 = OptionDescription(name="ip", doc="ip", children=[optiondescription_7])
option_10 = BoolOption(name="activate", doc="activate", default=True)
option_11 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="nut", doc="nut", children=[option_6, option_10, option_11])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="nut_service", doc="nut_service", children=[optiondescription_6, option_10, option_11])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70services_ip_iplist/tiramisu/multi.py b/tests/dictionaries_old/70services_ip_iplist/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70services_ip_iplist/tiramisu/multi.py
rename to tests/dictionaries_old/70services_ip_iplist/tiramisu/multi.py
diff --git a/tests/dictionaries/70services_ip_iplist/xml/00-base.xml b/tests/dictionaries_old/70services_ip_iplist/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70services_ip_iplist/xml/00-base.xml
rename to tests/dictionaries_old/70services_ip_iplist/xml/00-base.xml
diff --git a/tests/dictionaries/70services_ip_iplist/yml/00-base.yml b/tests/dictionaries_old/70services_ip_iplist/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70services_ip_iplist/yml/00-base.yml
rename to tests/dictionaries_old/70services_ip_iplist/yml/00-base.yml
diff --git a/tests/dictionaries_old/70services_ip_iplist2/00-base.xml b/tests/dictionaries_old/70services_ip_iplist2/00-base.xml
deleted file mode 100644
index b98a78361..000000000
--- a/tests/dictionaries_old/70services_ip_iplist2/00-base.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
- yes
-
-
- 192.168.0.0/24
-
-
-
-
- yes
- example
-
-
-
diff --git a/tests/dictionaries_old/70services_ip_iplist2/makedict/after.json b/tests/dictionaries_old/70services_ip_iplist2/makedict/after.json
index 75059141c..0457a2487 100644
--- a/tests/dictionaries_old/70services_ip_iplist2/makedict/after.json
+++ b/tests/dictionaries_old/70services_ip_iplist2/makedict/after.json
@@ -7,19 +7,19 @@
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": false
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70services_ip_iplist2/makedict/base.json b/tests/dictionaries_old/70services_ip_iplist2/makedict/base.json
index 8c1cc4a73..f65181923 100644
--- a/tests/dictionaries_old/70services_ip_iplist2/makedict/base.json
+++ b/tests/dictionaries_old/70services_ip_iplist2/makedict/base.json
@@ -1,8 +1,8 @@
{
"rougail.condition": "yes",
"rougail.nut_monitor_host": "192.168.0.0/24",
- "services.nut.ip.nut_monitor_host.name": "192.168.0.0/24",
- "services.nut.ip.nut_monitor_host.activate": false,
- "services.nut.activate": true,
- "services.nut.manage": true
+ "services.nut_service.ip.nut_monitor_host.name": "192.168.0.0/24",
+ "services.nut_service.ip.nut_monitor_host.activate": false,
+ "services.nut_service.activate": true,
+ "services.nut_service.manage": true
}
diff --git a/tests/dictionaries_old/70services_ip_iplist2/makedict/before.json b/tests/dictionaries_old/70services_ip_iplist2/makedict/before.json
index 75059141c..0457a2487 100644
--- a/tests/dictionaries_old/70services_ip_iplist2/makedict/before.json
+++ b/tests/dictionaries_old/70services_ip_iplist2/makedict/before.json
@@ -7,19 +7,19 @@
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.0/24"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": false
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70services_ip_iplist2/result/rougail/00-base.yml b/tests/dictionaries_old/70services_ip_iplist2/result/rougail/00-base.yml
new file mode 100644
index 000000000..c6568346c
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_iplist2/result/rougail/00-base.yml
@@ -0,0 +1,7 @@
+condition:
+ default: 'yes'
+nut_monitor_host:
+ type: network_cidr
+ mandatory: true
+ default: 192.168.0.0/24
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_iplist2/result/services/00-base.yml b/tests/dictionaries_old/70services_ip_iplist2/result/services/00-base.yml
new file mode 100644
index 000000000..303073d6d
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_iplist2/result/services/00-base.yml
@@ -0,0 +1,7 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host:
+ disabled:
+ type: jinja
+ jinja: '{% if rougail.condition == "yes" %}true{% else %}false{% endif %}'
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_iplist2/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70services_ip_iplist2/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70services_ip_iplist2/tiramisu/base.py b/tests/dictionaries_old/70services_ip_iplist2/tiramisu/base.py
index ffe84e0a1..5e8ce77a9 100644
--- a/tests/dictionaries_old/70services_ip_iplist2/tiramisu/base.py
+++ b/tests/dictionaries_old/70services_ip_iplist2/tiramisu/base.py
@@ -1,25 +1,38 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = StrOption(name="condition", doc="condition", default="yes", properties=frozenset({"mandatory", "normal"}))
option_3 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0/24", cidr=True, properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
option_8 = SymLinkOption(name="name", opt=option_3)
-option_9 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2, notraisepropertyerror=True), 'expected_0': ParamValue("yes")})))
-option_7 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_8, option_9])
-option_6 = OptionDescription(name="ip", doc="ip", children=[option_7])
+option_9 = BoolOption(name="activate", doc="activate", default=True)
+optiondescription_7 = OptionDescription(name="rougail_nut_monitor_host", doc="rougail_nut_monitor_host", children=[option_8, option_9])
+optiondescription_6 = OptionDescription(name="ip", doc="ip", children=[optiondescription_7])
option_10 = BoolOption(name="activate", doc="activate", default=True)
option_11 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="nut", doc="nut", children=[option_6, option_10, option_11])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="nut_service", doc="nut_service", children=[optiondescription_6, option_10, option_11])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70services_ip_iplist2/tiramisu/multi.py b/tests/dictionaries_old/70services_ip_iplist2/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70services_ip_iplist2/tiramisu/multi.py
rename to tests/dictionaries_old/70services_ip_iplist2/tiramisu/multi.py
diff --git a/tests/dictionaries/70services_ip_iplist2/xml/00-base.xml b/tests/dictionaries_old/70services_ip_iplist2/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70services_ip_iplist2/xml/00-base.xml
rename to tests/dictionaries_old/70services_ip_iplist2/xml/00-base.xml
diff --git a/tests/dictionaries/70services_ip_iplist2/yml/00-base.yml b/tests/dictionaries_old/70services_ip_iplist2/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70services_ip_iplist2/yml/00-base.yml
rename to tests/dictionaries_old/70services_ip_iplist2/yml/00-base.yml
diff --git a/tests/dictionaries_old/70services_ip_leadership/00-base.xml b/tests/dictionaries_old/70services_ip_leadership/00-base.xml
deleted file mode 100644
index 3e45a5a3e..000000000
--- a/tests/dictionaries_old/70services_ip_leadership/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
-
- 255.255.255.0
-
-
- 192.168.1.0
-
-
-
-
-
- nut_monitor_host
-
-
-
diff --git a/tests/dictionaries_old/70services_ip_leadership/makedict/after.json b/tests/dictionaries_old/70services_ip_leadership/makedict/after.json
index 5a0141a76..60c801feb 100644
--- a/tests/dictionaries_old/70services_ip_leadership/makedict/after.json
+++ b/tests/dictionaries_old/70services_ip_leadership/makedict/after.json
@@ -13,29 +13,27 @@
"192.168.1.0"
]
},
- "services.ntp.ip.nut_monitor_host.name": {
- "owner": [
- "default"
- ],
+ "services.ntp_service.ip.nut_monitor_host.name": {
+ "owner": "default",
"value": [
"192.168.1.0"
]
},
- "services.ntp.ip.nut_monitor_host.netmask": {
+ "services.ntp_service.ip.nut_monitor_host.netmask": {
"owner": "default",
"value": [
"255.255.255.0"
]
},
- "services.ntp.ip.nut_monitor_host.activate": {
+ "services.ntp_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.ntp.activate": {
+ "services.ntp_service.activate": {
"owner": "default",
"value": true
},
- "services.ntp.manage": {
+ "services.ntp_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70services_ip_leadership/makedict/base.json b/tests/dictionaries_old/70services_ip_leadership/makedict/base.json
index af10e88ab..074d42067 100644
--- a/tests/dictionaries_old/70services_ip_leadership/makedict/base.json
+++ b/tests/dictionaries_old/70services_ip_leadership/makedict/base.json
@@ -5,13 +5,13 @@
"rougail.general.nut_monitor_netmask.nut_monitor_host": "192.168.1.0"
}
],
- "services.ntp.ip.nut_monitor_host.name": [
+ "services.ntp_service.ip.nut_monitor_host.name": [
"192.168.1.0"
],
- "services.ntp.ip.nut_monitor_host.netmask": [
+ "services.ntp_service.ip.nut_monitor_host.netmask": [
"255.255.255.0"
],
- "services.ntp.ip.nut_monitor_host.activate": true,
- "services.ntp.activate": true,
- "services.ntp.manage": true
+ "services.ntp_service.ip.nut_monitor_host.activate": true,
+ "services.ntp_service.activate": true,
+ "services.ntp_service.manage": true
}
diff --git a/tests/dictionaries_old/70services_ip_leadership/makedict/before.json b/tests/dictionaries_old/70services_ip_leadership/makedict/before.json
index 5a0141a76..60c801feb 100644
--- a/tests/dictionaries_old/70services_ip_leadership/makedict/before.json
+++ b/tests/dictionaries_old/70services_ip_leadership/makedict/before.json
@@ -13,29 +13,27 @@
"192.168.1.0"
]
},
- "services.ntp.ip.nut_monitor_host.name": {
- "owner": [
- "default"
- ],
+ "services.ntp_service.ip.nut_monitor_host.name": {
+ "owner": "default",
"value": [
"192.168.1.0"
]
},
- "services.ntp.ip.nut_monitor_host.netmask": {
+ "services.ntp_service.ip.nut_monitor_host.netmask": {
"owner": "default",
"value": [
"255.255.255.0"
]
},
- "services.ntp.ip.nut_monitor_host.activate": {
+ "services.ntp_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.ntp.activate": {
+ "services.ntp_service.activate": {
"owner": "default",
"value": true
},
- "services.ntp.manage": {
+ "services.ntp_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70services_ip_network/no_base b/tests/dictionaries_old/70services_ip_leadership/no_base
similarity index 100%
rename from tests/dictionaries/70services_ip_network/no_base
rename to tests/dictionaries_old/70services_ip_leadership/no_base
diff --git a/tests/dictionaries_old/70services_ip_leadership/result/rougail/00-base.yml b/tests/dictionaries_old/70services_ip_leadership/result/rougail/00-base.yml
new file mode 100644
index 000000000..c69430246
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_leadership/result/rougail/00-base.yml
@@ -0,0 +1,16 @@
+general:
+ description: général
+ nut_monitor_netmask:
+ description: nut_monitor_netmask
+ type: leadership
+ nut_monitor_netmask:
+ type: netmask
+ mandatory: true
+ multi: true
+ default:
+ - 255.255.255.0
+ nut_monitor_host:
+ type: network
+ mandatory: true
+ default: 192.168.1.0
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_leadership/result/services/00-base.yml b/tests/dictionaries_old/70services_ip_leadership/result/services/00-base.yml
new file mode 100644
index 000000000..618555129
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_leadership/result/services/00-base.yml
@@ -0,0 +1,5 @@
+ntp.service:
+ ip:
+ rougail.general.nut_monitor_netmask.nut_monitor_host:
+ netmask: rougail.general.nut_monitor_netmask.nut_monitor_netmask
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_leadership/result/systemd/system/ntp.service.d/rougail_ip.conf b/tests/dictionaries_old/70services_ip_leadership/result/systemd/system/ntp.service.d/rougail_ip.conf
deleted file mode 100644
index d330de8da..000000000
--- a/tests/dictionaries_old/70services_ip_leadership/result/systemd/system/ntp.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-IPAddressAllow=192.168.1.0/24
-IPAddressDeny=any
diff --git a/tests/dictionaries_old/70services_ip_leadership/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70services_ip_leadership/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70services_ip_leadership/tiramisu/base.py b/tests/dictionaries_old/70services_ip_leadership/tiramisu/base.py
index 2cd805607..cb6a73cc5 100644
--- a/tests/dictionaries_old/70services_ip_leadership/tiramisu/base.py
+++ b/tests/dictionaries_old/70services_ip_leadership/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
-option_4 = NetmaskOption(name="nut_monitor_netmask", doc="nut_monitor_netmask", multi=True, default=['255.255.255.0'], properties=frozenset({"mandatory"}))
-option_5 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", multi=True, default_multi="192.168.1.0", properties=frozenset({"mandatory", "normal"}))
-option_3 = Leadership(name="nut_monitor_netmask", doc="nut_monitor_netmask", children=[option_4, option_5], properties=frozenset({"normal"}))
-option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
+option_4 = NetmaskOption(name="nut_monitor_netmask", doc="nut_monitor_netmask", multi=True, default=['255.255.255.0'], properties=frozenset({"mandatory", "normal"}))
+option_5 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", multi=True, default="192.168.1.0", properties=frozenset({"mandatory", "normal"}))
+optiondescription_3 = Leadership(name="nut_monitor_netmask", doc="nut_monitor_netmask", children=[option_4, option_5], properties=frozenset({"normal"}))
+optiondescription_2 = OptionDescription(name="general", doc="général", children=[optiondescription_3], properties=frozenset({"normal"}))
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[optiondescription_2], properties=frozenset({"normal"}))
option_10 = SymLinkOption(name="name", opt=option_5)
option_11 = SymLinkOption(name="netmask", opt=option_4)
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_9 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_10, option_11, option_12])
-option_8 = OptionDescription(name="ip", doc="ip", children=[option_9])
+optiondescription_9 = OptionDescription(name="rougail_general_nut_monitor_netmask_nut_monitor_host", doc="rougail_general_nut_monitor_netmask_nut_monitor_host", children=[option_10, option_11, option_12])
+optiondescription_8 = OptionDescription(name="ip", doc="ip", children=[optiondescription_9])
option_13 = BoolOption(name="activate", doc="activate", default=True)
option_14 = BoolOption(name="manage", doc="manage", default=True)
-option_7 = OptionDescription(name="ntp", doc="ntp", children=[option_8, option_13, option_14])
-option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6])
+optiondescription_7 = OptionDescription(name="ntp_service", doc="ntp_service", children=[optiondescription_8, option_13, option_14])
+optiondescription_7.impl_set_information('type', "service")
+optiondescription_6 = OptionDescription(name="services", doc="services", children=[optiondescription_7], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_6])
diff --git a/tests/dictionaries/70services_ip_leadership/tiramisu/multi.py b/tests/dictionaries_old/70services_ip_leadership/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70services_ip_leadership/tiramisu/multi.py
rename to tests/dictionaries_old/70services_ip_leadership/tiramisu/multi.py
diff --git a/tests/dictionaries/70services_ip_leadership/xml/00-base.xml b/tests/dictionaries_old/70services_ip_leadership/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70services_ip_leadership/xml/00-base.xml
rename to tests/dictionaries_old/70services_ip_leadership/xml/00-base.xml
diff --git a/tests/dictionaries/70services_ip_leadership/yml/00-base.yml b/tests/dictionaries_old/70services_ip_leadership/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70services_ip_leadership/yml/00-base.yml
rename to tests/dictionaries_old/70services_ip_leadership/yml/00-base.yml
diff --git a/tests/dictionaries_old/70services_ip_multi/00-base.xml b/tests/dictionaries_old/70services_ip_multi/00-base.xml
deleted file mode 100644
index 0861344eb..000000000
--- a/tests/dictionaries_old/70services_ip_multi/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
- 192.168.0.1
- 192.168.0.2
-
-
-
diff --git a/tests/dictionaries_old/70services_ip_multi/makedict/after.json b/tests/dictionaries_old/70services_ip_multi/makedict/after.json
index c85613741..3d67a556c 100644
--- a/tests/dictionaries_old/70services_ip_multi/makedict/after.json
+++ b/tests/dictionaries_old/70services_ip_multi/makedict/after.json
@@ -6,22 +6,22 @@
"192.168.0.2"
]
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": [
"192.168.0.1",
"192.168.0.2"
]
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70services_ip_multi/makedict/base.json b/tests/dictionaries_old/70services_ip_multi/makedict/base.json
index 9e7241f38..72e97674b 100644
--- a/tests/dictionaries_old/70services_ip_multi/makedict/base.json
+++ b/tests/dictionaries_old/70services_ip_multi/makedict/base.json
@@ -3,11 +3,11 @@
"192.168.0.1",
"192.168.0.2"
],
- "services.nut.ip.nut_monitor_host.name": [
+ "services.nut_service.ip.nut_monitor_host.name": [
"192.168.0.1",
"192.168.0.2"
],
- "services.nut.ip.nut_monitor_host.activate": true,
- "services.nut.activate": true,
- "services.nut.manage": true
+ "services.nut_service.ip.nut_monitor_host.activate": true,
+ "services.nut_service.activate": true,
+ "services.nut_service.manage": true
}
diff --git a/tests/dictionaries_old/70services_ip_multi/makedict/before.json b/tests/dictionaries_old/70services_ip_multi/makedict/before.json
index c85613741..3d67a556c 100644
--- a/tests/dictionaries_old/70services_ip_multi/makedict/before.json
+++ b/tests/dictionaries_old/70services_ip_multi/makedict/before.json
@@ -6,22 +6,22 @@
"192.168.0.2"
]
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": [
"192.168.0.1",
"192.168.0.2"
]
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70services_ip_not_mandatory/no_base b/tests/dictionaries_old/70services_ip_multi/no_base
similarity index 100%
rename from tests/dictionaries/70services_ip_not_mandatory/no_base
rename to tests/dictionaries_old/70services_ip_multi/no_base
diff --git a/tests/dictionaries_old/70services_ip_multi/result/rougail/00-base.yml b/tests/dictionaries_old/70services_ip_multi/result/rougail/00-base.yml
new file mode 100644
index 000000000..73e7020ab
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_multi/result/rougail/00-base.yml
@@ -0,0 +1,8 @@
+nut_monitor_host:
+ type: ip
+ mandatory: true
+ multi: true
+ default:
+ - 192.168.0.1
+ - 192.168.0.2
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_multi/result/services/00-base.yml b/tests/dictionaries_old/70services_ip_multi/result/services/00-base.yml
new file mode 100644
index 000000000..8637277cc
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_multi/result/services/00-base.yml
@@ -0,0 +1,4 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_multi/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries_old/70services_ip_multi/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index c1dc19684..000000000
--- a/tests/dictionaries_old/70services_ip_multi/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.1
-IPAddressAllow=192.168.0.2
-IPAddressDeny=any
diff --git a/tests/dictionaries_old/70services_ip_multi/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70services_ip_multi/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70services_ip_multi/tiramisu/base.py b/tests/dictionaries_old/70services_ip_multi/tiramisu/base.py
index a0128d1ce..f5e77fe44 100644
--- a/tests/dictionaries_old/70services_ip_multi/tiramisu/base.py
+++ b/tests/dictionaries_old/70services_ip_multi/tiramisu/base.py
@@ -1,24 +1,37 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", multi=True, default=['192.168.0.1', '192.168.0.2'], default_multi="192.168.0.1", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
option_7 = SymLinkOption(name="name", opt=option_2)
option_8 = BoolOption(name="activate", doc="activate", default=True)
-option_6 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_7, option_8])
-option_5 = OptionDescription(name="ip", doc="ip", children=[option_6])
+optiondescription_6 = OptionDescription(name="rougail_nut_monitor_host", doc="rougail_nut_monitor_host", children=[option_7, option_8])
+optiondescription_5 = OptionDescription(name="ip", doc="ip", children=[optiondescription_6])
option_9 = BoolOption(name="activate", doc="activate", default=True)
option_10 = BoolOption(name="manage", doc="manage", default=True)
-option_4 = OptionDescription(name="nut", doc="nut", children=[option_5, option_9, option_10])
-option_3 = OptionDescription(name="services", doc="services", children=[option_4], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_3])
+optiondescription_4 = OptionDescription(name="nut_service", doc="nut_service", children=[optiondescription_5, option_9, option_10])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/70services_ip_multi/tiramisu/multi.py b/tests/dictionaries_old/70services_ip_multi/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70services_ip_multi/tiramisu/multi.py
rename to tests/dictionaries_old/70services_ip_multi/tiramisu/multi.py
diff --git a/tests/dictionaries/70services_ip_multi/xml/00-base.xml b/tests/dictionaries_old/70services_ip_multi/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70services_ip_multi/xml/00-base.xml
rename to tests/dictionaries_old/70services_ip_multi/xml/00-base.xml
diff --git a/tests/dictionaries/70services_ip_multi/yml/00-base.yml b/tests/dictionaries_old/70services_ip_multi/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70services_ip_multi/yml/00-base.yml
rename to tests/dictionaries_old/70services_ip_multi/yml/00-base.yml
diff --git a/tests/dictionaries_old/70services_ip_network/00-base.xml b/tests/dictionaries_old/70services_ip_network/00-base.xml
deleted file mode 100644
index b0c23c63b..000000000
--- a/tests/dictionaries_old/70services_ip_network/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
- 255.255.255.0
-
-
- 192.168.0.0
-
-
-
diff --git a/tests/dictionaries_old/70services_ip_network/makedict/after.json b/tests/dictionaries_old/70services_ip_network/makedict/after.json
index 642705269..015fba97a 100644
--- a/tests/dictionaries_old/70services_ip_network/makedict/after.json
+++ b/tests/dictionaries_old/70services_ip_network/makedict/after.json
@@ -7,23 +7,23 @@
"owner": "default",
"value": "192.168.0.0"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.0"
},
- "services.nut.ip.nut_monitor_host.netmask": {
+ "services.nut_service.ip.nut_monitor_host.netmask": {
"owner": "default",
"value": "255.255.255.0"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70services_ip_network/makedict/base.json b/tests/dictionaries_old/70services_ip_network/makedict/base.json
index dc76fb003..41a76e45b 100644
--- a/tests/dictionaries_old/70services_ip_network/makedict/base.json
+++ b/tests/dictionaries_old/70services_ip_network/makedict/base.json
@@ -1,9 +1,9 @@
{
"rougail.nut_monitor_netmask": "255.255.255.0",
"rougail.nut_monitor_host": "192.168.0.0",
- "services.nut.ip.nut_monitor_host.name": "192.168.0.0",
- "services.nut.ip.nut_monitor_host.netmask": "255.255.255.0",
- "services.nut.ip.nut_monitor_host.activate": true,
- "services.nut.activate": true,
- "services.nut.manage": true
+ "services.nut_service.ip.nut_monitor_host.name": "192.168.0.0",
+ "services.nut_service.ip.nut_monitor_host.netmask": "255.255.255.0",
+ "services.nut_service.ip.nut_monitor_host.activate": true,
+ "services.nut_service.activate": true,
+ "services.nut_service.manage": true
}
diff --git a/tests/dictionaries_old/70services_ip_network/makedict/before.json b/tests/dictionaries_old/70services_ip_network/makedict/before.json
index 642705269..015fba97a 100644
--- a/tests/dictionaries_old/70services_ip_network/makedict/before.json
+++ b/tests/dictionaries_old/70services_ip_network/makedict/before.json
@@ -7,23 +7,23 @@
"owner": "default",
"value": "192.168.0.0"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.0"
},
- "services.nut.ip.nut_monitor_host.netmask": {
+ "services.nut_service.ip.nut_monitor_host.netmask": {
"owner": "default",
"value": "255.255.255.0"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70services_ip_twice/no_base b/tests/dictionaries_old/70services_ip_network/no_base
similarity index 100%
rename from tests/dictionaries/70services_ip_twice/no_base
rename to tests/dictionaries_old/70services_ip_network/no_base
diff --git a/tests/dictionaries_old/70services_ip_network/result/rougail/00-base.yml b/tests/dictionaries_old/70services_ip_network/result/rougail/00-base.yml
new file mode 100644
index 000000000..0ed51457c
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_network/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+nut_monitor_netmask:
+ type: netmask
+ mandatory: true
+ default: 255.255.255.0
+nut_monitor_host:
+ type: network
+ mandatory: true
+ default: 192.168.0.0
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_network/result/services/00-base.yml b/tests/dictionaries_old/70services_ip_network/result/services/00-base.yml
new file mode 100644
index 000000000..a57e6c9bb
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_network/result/services/00-base.yml
@@ -0,0 +1,5 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host:
+ netmask: rougail.nut_monitor_netmask
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_network/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries_old/70services_ip_network/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index e1cb437d6..000000000
--- a/tests/dictionaries_old/70services_ip_network/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.0/24
-IPAddressDeny=any
diff --git a/tests/dictionaries_old/70services_ip_network/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70services_ip_network/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70services_ip_network/tiramisu/base.py b/tests/dictionaries_old/70services_ip_network/tiramisu/base.py
index 5eea59741..5bf59adaa 100644
--- a/tests/dictionaries_old/70services_ip_network/tiramisu/base.py
+++ b/tests/dictionaries_old/70services_ip_network/tiramisu/base.py
@@ -1,26 +1,39 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = NetmaskOption(name="nut_monitor_netmask", doc="nut_monitor_netmask", default="255.255.255.0", properties=frozenset({"mandatory", "normal"}))
option_3 = NetworkOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.0", properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
option_8 = SymLinkOption(name="name", opt=option_3)
option_9 = SymLinkOption(name="netmask", opt=option_2)
option_10 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_8, option_9, option_10])
-option_6 = OptionDescription(name="ip", doc="ip", children=[option_7])
+optiondescription_7 = OptionDescription(name="rougail_nut_monitor_host", doc="rougail_nut_monitor_host", children=[option_8, option_9, option_10])
+optiondescription_6 = OptionDescription(name="ip", doc="ip", children=[optiondescription_7])
option_11 = BoolOption(name="activate", doc="activate", default=True)
option_12 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="nut", doc="nut", children=[option_6, option_11, option_12])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="nut_service", doc="nut_service", children=[optiondescription_6, option_11, option_12])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70services_ip_network/tiramisu/multi.py b/tests/dictionaries_old/70services_ip_network/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70services_ip_network/tiramisu/multi.py
rename to tests/dictionaries_old/70services_ip_network/tiramisu/multi.py
diff --git a/tests/dictionaries/70services_ip_network/xml/00-base.xml b/tests/dictionaries_old/70services_ip_network/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70services_ip_network/xml/00-base.xml
rename to tests/dictionaries_old/70services_ip_network/xml/00-base.xml
diff --git a/tests/dictionaries/70services_ip_network/yml/00-base.yml b/tests/dictionaries_old/70services_ip_network/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70services_ip_network/yml/00-base.yml
rename to tests/dictionaries_old/70services_ip_network/yml/00-base.yml
diff --git a/tests/dictionaries_old/70services_ip_not_mandatory/00-base.xml b/tests/dictionaries_old/70services_ip_not_mandatory/00-base.xml
deleted file mode 100644
index 1fc47a1f4..000000000
--- a/tests/dictionaries_old/70services_ip_not_mandatory/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/70services_ip_not_mandatory/makedict/after.json b/tests/dictionaries_old/70services_ip_not_mandatory/makedict/after.json
index 048ea2428..fceae0beb 100644
--- a/tests/dictionaries_old/70services_ip_not_mandatory/makedict/after.json
+++ b/tests/dictionaries_old/70services_ip_not_mandatory/makedict/after.json
@@ -3,19 +3,19 @@
"owner": "default",
"value": null
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": null
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70services_ip_not_mandatory/makedict/base.json b/tests/dictionaries_old/70services_ip_not_mandatory/makedict/base.json
index d3ad5532e..900a1b0cb 100644
--- a/tests/dictionaries_old/70services_ip_not_mandatory/makedict/base.json
+++ b/tests/dictionaries_old/70services_ip_not_mandatory/makedict/base.json
@@ -1,7 +1,7 @@
{
"rougail.nut_monitor_host": null,
- "services.nut.ip.nut_monitor_host.name": null,
- "services.nut.ip.nut_monitor_host.activate": true,
- "services.nut.activate": true,
- "services.nut.manage": true
+ "services.nut_service.ip.nut_monitor_host.name": null,
+ "services.nut_service.ip.nut_monitor_host.activate": true,
+ "services.nut_service.activate": true,
+ "services.nut_service.manage": true
}
diff --git a/tests/dictionaries_old/70services_ip_not_mandatory/makedict/before.json b/tests/dictionaries_old/70services_ip_not_mandatory/makedict/before.json
index 048ea2428..fceae0beb 100644
--- a/tests/dictionaries_old/70services_ip_not_mandatory/makedict/before.json
+++ b/tests/dictionaries_old/70services_ip_not_mandatory/makedict/before.json
@@ -3,19 +3,19 @@
"owner": "default",
"value": null
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": null
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70service_disabled/result/tmpfiles.d/0rougail.conf b/tests/dictionaries_old/70services_ip_not_mandatory/no_base
similarity index 100%
rename from tests/dictionaries/70service_disabled/result/tmpfiles.d/0rougail.conf
rename to tests/dictionaries_old/70services_ip_not_mandatory/no_base
diff --git a/tests/dictionaries_old/70services_ip_not_mandatory/result/rougail/00-base.yml b/tests/dictionaries_old/70services_ip_not_mandatory/result/rougail/00-base.yml
new file mode 100644
index 000000000..4f2a540ee
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_not_mandatory/result/rougail/00-base.yml
@@ -0,0 +1,3 @@
+nut_monitor_host:
+ type: ip
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_not_mandatory/result/services/00-base.yml b/tests/dictionaries_old/70services_ip_not_mandatory/result/services/00-base.yml
new file mode 100644
index 000000000..8637277cc
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_not_mandatory/result/services/00-base.yml
@@ -0,0 +1,4 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_not_mandatory/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries_old/70services_ip_not_mandatory/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index 9c0580a98..000000000
--- a/tests/dictionaries_old/70services_ip_not_mandatory/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[Service]
-IPAddressDeny=any
diff --git a/tests/dictionaries_old/70services_ip_not_mandatory/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70services_ip_not_mandatory/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70services_ip_not_mandatory/tiramisu/base.py b/tests/dictionaries_old/70services_ip_not_mandatory/tiramisu/base.py
index 13aa6b9c2..369c5dc33 100644
--- a/tests/dictionaries_old/70services_ip_not_mandatory/tiramisu/base.py
+++ b/tests/dictionaries_old/70services_ip_not_mandatory/tiramisu/base.py
@@ -1,24 +1,37 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", allow_reserved=True, properties=frozenset({"normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2], properties=frozenset({"normal"}))
option_7 = SymLinkOption(name="name", opt=option_2)
option_8 = BoolOption(name="activate", doc="activate", default=True)
-option_6 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_7, option_8])
-option_5 = OptionDescription(name="ip", doc="ip", children=[option_6])
+optiondescription_6 = OptionDescription(name="rougail_nut_monitor_host", doc="rougail_nut_monitor_host", children=[option_7, option_8])
+optiondescription_5 = OptionDescription(name="ip", doc="ip", children=[optiondescription_6])
option_9 = BoolOption(name="activate", doc="activate", default=True)
option_10 = BoolOption(name="manage", doc="manage", default=True)
-option_4 = OptionDescription(name="nut", doc="nut", children=[option_5, option_9, option_10])
-option_3 = OptionDescription(name="services", doc="services", children=[option_4], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_3])
+optiondescription_4 = OptionDescription(name="nut_service", doc="nut_service", children=[optiondescription_5, option_9, option_10])
+optiondescription_4.impl_set_information('type', "service")
+optiondescription_3 = OptionDescription(name="services", doc="services", children=[optiondescription_4], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/70services_ip_not_mandatory/tiramisu/multi.py b/tests/dictionaries_old/70services_ip_not_mandatory/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70services_ip_not_mandatory/tiramisu/multi.py
rename to tests/dictionaries_old/70services_ip_not_mandatory/tiramisu/multi.py
diff --git a/tests/dictionaries/70services_ip_not_mandatory/xml/00-base.xml b/tests/dictionaries_old/70services_ip_not_mandatory/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70services_ip_not_mandatory/xml/00-base.xml
rename to tests/dictionaries_old/70services_ip_not_mandatory/xml/00-base.xml
diff --git a/tests/dictionaries/70services_ip_not_mandatory/yml/00-base.yml b/tests/dictionaries_old/70services_ip_not_mandatory/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70services_ip_not_mandatory/yml/00-base.yml
rename to tests/dictionaries_old/70services_ip_not_mandatory/yml/00-base.yml
diff --git a/tests/dictionaries_old/70services_ip_twice/00-base.xml b/tests/dictionaries_old/70services_ip_twice/00-base.xml
deleted file mode 100644
index 94685e2f1..000000000
--- a/tests/dictionaries_old/70services_ip_twice/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- nut_monitor_host
- nut_monitor_host2
-
-
-
-
- 192.168.0.1
-
-
- 192.168.0.2
-
-
-
diff --git a/tests/dictionaries_old/70services_ip_twice/makedict/after.json b/tests/dictionaries_old/70services_ip_twice/makedict/after.json
index 484c66ab6..72a9ac458 100644
--- a/tests/dictionaries_old/70services_ip_twice/makedict/after.json
+++ b/tests/dictionaries_old/70services_ip_twice/makedict/after.json
@@ -7,27 +7,27 @@
"owner": "default",
"value": "192.168.0.2"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.1"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.ip.nut_monitor_host2.name": {
+ "services.nut_service.ip.nut_monitor_host2.name": {
"owner": "default",
"value": "192.168.0.2"
},
- "services.nut.ip.nut_monitor_host2.activate": {
+ "services.nut_service.ip.nut_monitor_host2.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries_old/70services_ip_twice/makedict/base.json b/tests/dictionaries_old/70services_ip_twice/makedict/base.json
index 3b6d25516..a0fd5743a 100644
--- a/tests/dictionaries_old/70services_ip_twice/makedict/base.json
+++ b/tests/dictionaries_old/70services_ip_twice/makedict/base.json
@@ -1,10 +1,10 @@
{
"rougail.nut_monitor_host": "192.168.0.1",
"rougail.nut_monitor_host2": "192.168.0.2",
- "services.nut.ip.nut_monitor_host.name": "192.168.0.1",
- "services.nut.ip.nut_monitor_host.activate": true,
- "services.nut.ip.nut_monitor_host2.name": "192.168.0.2",
- "services.nut.ip.nut_monitor_host2.activate": true,
- "services.nut.activate": true,
- "services.nut.manage": true
+ "services.nut_service.ip.nut_monitor_host.name": "192.168.0.1",
+ "services.nut_service.ip.nut_monitor_host.activate": true,
+ "services.nut_service.ip.nut_monitor_host2.name": "192.168.0.2",
+ "services.nut_service.ip.nut_monitor_host2.activate": true,
+ "services.nut_service.activate": true,
+ "services.nut_service.manage": true
}
diff --git a/tests/dictionaries_old/70services_ip_twice/makedict/before.json b/tests/dictionaries_old/70services_ip_twice/makedict/before.json
index 484c66ab6..72a9ac458 100644
--- a/tests/dictionaries_old/70services_ip_twice/makedict/before.json
+++ b/tests/dictionaries_old/70services_ip_twice/makedict/before.json
@@ -7,27 +7,27 @@
"owner": "default",
"value": "192.168.0.2"
},
- "services.nut.ip.nut_monitor_host.name": {
+ "services.nut_service.ip.nut_monitor_host.name": {
"owner": "default",
"value": "192.168.0.1"
},
- "services.nut.ip.nut_monitor_host.activate": {
+ "services.nut_service.ip.nut_monitor_host.activate": {
"owner": "default",
"value": true
},
- "services.nut.ip.nut_monitor_host2.name": {
+ "services.nut_service.ip.nut_monitor_host2.name": {
"owner": "default",
"value": "192.168.0.2"
},
- "services.nut.ip.nut_monitor_host2.activate": {
+ "services.nut_service.ip.nut_monitor_host2.activate": {
"owner": "default",
"value": true
},
- "services.nut.activate": {
+ "services.nut_service.activate": {
"owner": "default",
"value": true
},
- "services.nut.manage": {
+ "services.nut_service.manage": {
"owner": "default",
"value": true
}
diff --git a/tests/dictionaries/70service_disabled_undisable/result/tmpfiles.d/0rougail.conf b/tests/dictionaries_old/70services_ip_twice/no_base
similarity index 100%
rename from tests/dictionaries/70service_disabled_undisable/result/tmpfiles.d/0rougail.conf
rename to tests/dictionaries_old/70services_ip_twice/no_base
diff --git a/tests/dictionaries_old/70services_ip_twice/result/rougail/00-base.yml b/tests/dictionaries_old/70services_ip_twice/result/rougail/00-base.yml
new file mode 100644
index 000000000..d85876234
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_twice/result/rougail/00-base.yml
@@ -0,0 +1,9 @@
+nut_monitor_host:
+ type: ip
+ mandatory: true
+ default: 192.168.0.1
+nut_monitor_host2:
+ type: ip
+ mandatory: true
+ default: 192.168.0.2
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_twice/result/services/00-base.yml b/tests/dictionaries_old/70services_ip_twice/result/services/00-base.yml
new file mode 100644
index 000000000..b7f1d2021
--- /dev/null
+++ b/tests/dictionaries_old/70services_ip_twice/result/services/00-base.yml
@@ -0,0 +1,5 @@
+nut.service:
+ ip:
+ rougail.nut_monitor_host: {}
+ rougail.nut_monitor_host2: {}
+version: '1.0'
diff --git a/tests/dictionaries_old/70services_ip_twice/result/systemd/system/nut.service.d/rougail_ip.conf b/tests/dictionaries_old/70services_ip_twice/result/systemd/system/nut.service.d/rougail_ip.conf
deleted file mode 100644
index c1dc19684..000000000
--- a/tests/dictionaries_old/70services_ip_twice/result/systemd/system/nut.service.d/rougail_ip.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[Service]
-IPAddressAllow=192.168.0.1
-IPAddressAllow=192.168.0.2
-IPAddressDeny=any
diff --git a/tests/dictionaries_old/70services_ip_twice/result/tmpfiles.d/rougail.conf b/tests/dictionaries_old/70services_ip_twice/result/tmpfiles.d/rougail.conf
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/70services_ip_twice/tiramisu/base.py b/tests/dictionaries_old/70services_ip_twice/tiramisu/base.py
index c49b11205..a0656a567 100644
--- a/tests/dictionaries_old/70services_ip_twice/tiramisu/base.py
+++ b/tests/dictionaries_old/70services_ip_twice/tiramisu/base.py
@@ -1,28 +1,41 @@
-from importlib.machinery import SourceFileLoader
-from importlib.util import spec_from_loader, module_from_spec
-loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
-spec = spec_from_loader(loader.name, loader)
-func = module_from_spec(spec)
-loader.exec_module(func)
-for key, value in dict(locals()).items():
- if key != ['SourceFileLoader', 'func']:
- setattr(func, key, value)
+from importlib.machinery import SourceFileLoader as _SourceFileLoader
+from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
+class func:
+ pass
+
+def _load_functions(path):
+ global _SourceFileLoader, _spec_from_loader, _module_from_spec, func
+ loader = _SourceFileLoader('func', path)
+ spec = _spec_from_loader(loader.name, loader)
+ func_ = _module_from_spec(spec)
+ loader.exec_module(func_)
+ for function in dir(func_):
+ if function.startswith('_'):
+ continue
+ setattr(func, function, getattr(func_, function))
+_load_functions('tests/dictionaries_old/../eosfunc/test.py')
try:
from tiramisu4 import *
+ from tiramisu4.setting import ALLOWED_LEADER_PROPERTIES
except:
from tiramisu import *
+ from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("normal")
+ALLOWED_LEADER_PROPERTIES.add("expert")
option_2 = IPOption(name="nut_monitor_host", doc="nut_monitor_host", default="192.168.0.1", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
option_3 = IPOption(name="nut_monitor_host2", doc="nut_monitor_host2", default="192.168.0.2", allow_reserved=True, properties=frozenset({"mandatory", "normal"}))
-option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3])
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3], properties=frozenset({"normal"}))
option_8 = SymLinkOption(name="name", opt=option_2)
option_9 = BoolOption(name="activate", doc="activate", default=True)
-option_7 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_8, option_9])
+optiondescription_7 = OptionDescription(name="rougail_nut_monitor_host", doc="rougail_nut_monitor_host", children=[option_8, option_9])
option_11 = SymLinkOption(name="name", opt=option_3)
option_12 = BoolOption(name="activate", doc="activate", default=True)
-option_10 = OptionDescription(name="nut_monitor_host2", doc="nut_monitor_host2", children=[option_11, option_12])
-option_6 = OptionDescription(name="ip", doc="ip", children=[option_7, option_10])
+optiondescription_10 = OptionDescription(name="rougail_nut_monitor_host2", doc="rougail_nut_monitor_host2", children=[option_11, option_12])
+optiondescription_6 = OptionDescription(name="ip", doc="ip", children=[optiondescription_7, optiondescription_10])
option_13 = BoolOption(name="activate", doc="activate", default=True)
option_14 = BoolOption(name="manage", doc="manage", default=True)
-option_5 = OptionDescription(name="nut", doc="nut", children=[option_6, option_13, option_14])
-option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"}))
-option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4])
+optiondescription_5 = OptionDescription(name="nut_service", doc="nut_service", children=[optiondescription_6, option_13, option_14])
+optiondescription_5.impl_set_information('type', "service")
+optiondescription_4 = OptionDescription(name="services", doc="services", children=[optiondescription_5], properties=frozenset({"hidden", "normal"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/70services_ip_twice/tiramisu/multi.py b/tests/dictionaries_old/70services_ip_twice/tiramisu/multi.py
similarity index 100%
rename from tests/dictionaries/70services_ip_twice/tiramisu/multi.py
rename to tests/dictionaries_old/70services_ip_twice/tiramisu/multi.py
diff --git a/tests/dictionaries/70services_ip_twice/xml/00-base.xml b/tests/dictionaries_old/70services_ip_twice/xml/00-base.xml
similarity index 100%
rename from tests/dictionaries/70services_ip_twice/xml/00-base.xml
rename to tests/dictionaries_old/70services_ip_twice/xml/00-base.xml
diff --git a/tests/dictionaries/70services_ip_twice/yml/00-base.yml b/tests/dictionaries_old/70services_ip_twice/yml/00-base.yml
similarity index 100%
rename from tests/dictionaries/70services_ip_twice/yml/00-base.yml
rename to tests/dictionaries_old/70services_ip_twice/yml/00-base.yml
diff --git a/tests/dictionaries_old/80auto_family/00-base.xml b/tests/dictionaries_old/80auto_family/00-base.xml
deleted file mode 100644
index d0783207a..000000000
--- a/tests/dictionaries_old/80auto_family/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- no
-
-
-
-
-
- oui
- general
-
-
-
diff --git a/tests/dictionaries_old/80auto_family/__init__.py b/tests/dictionaries_old/80auto_family/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80auto_family/errno_8 b/tests/dictionaries_old/80auto_family/errno_8
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80check_unknown/00-base.xml b/tests/dictionaries_old/80check_unknown/00-base.xml
deleted file mode 100644
index 6dec73cf3..000000000
--- a/tests/dictionaries_old/80check_unknown/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- b
-
-
-
-
-
-
- 0
- 100
- int
-
-
-
diff --git a/tests/dictionaries_old/80check_unknown/__init__.py b/tests/dictionaries_old/80check_unknown/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80check_unknown/errno_1 b/tests/dictionaries_old/80check_unknown/errno_1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80check_unknown_var/00-base.xml b/tests/dictionaries_old/80check_unknown_var/00-base.xml
deleted file mode 100644
index 3f55a4894..000000000
--- a/tests/dictionaries_old/80check_unknown_var/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- b
-
-
-
-
-
- int3
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80check_unknown_var/__init__.py b/tests/dictionaries_old/80check_unknown_var/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80check_unknown_var/errno_42 b/tests/dictionaries_old/80check_unknown_var/errno_42
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80check_without_target/00-base.xml b/tests/dictionaries_old/80check_without_target/00-base.xml
deleted file mode 100644
index 26737bf76..000000000
--- a/tests/dictionaries_old/80check_without_target/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- b
-
-
-
-
-
-
- 0
- 100
-
-
-
diff --git a/tests/dictionaries_old/80check_without_target/__init__.py b/tests/dictionaries_old/80check_without_target/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80check_without_target/errno_9 b/tests/dictionaries_old/80check_without_target/errno_9
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80condition_itself/00-base.xml b/tests/dictionaries_old/80condition_itself/00-base.xml
deleted file mode 100644
index 63ca1d570..000000000
--- a/tests/dictionaries_old/80condition_itself/00-base.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
- leader-leader
- replicationType
-
-
-
diff --git a/tests/dictionaries_old/80condition_itself/__init__.py b/tests/dictionaries_old/80condition_itself/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80condition_itself/errno_11 b/tests/dictionaries_old/80condition_itself/errno_11
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80condition_not_exists_error/00-base.xml b/tests/dictionaries_old/80condition_not_exists_error/00-base.xml
deleted file mode 100644
index 16c72b8c0..000000000
--- a/tests/dictionaries_old/80condition_not_exists_error/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
- oui
- notexists
-
-
-
diff --git a/tests/dictionaries_old/80condition_not_exists_error/__init__.py b/tests/dictionaries_old/80condition_not_exists_error/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80condition_not_exists_error/errno_12 b/tests/dictionaries_old/80condition_not_exists_error/errno_12
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80condition_not_exists_error_var/00-base.xml b/tests/dictionaries_old/80condition_not_exists_error_var/00-base.xml
deleted file mode 100644
index 1062bfdd4..000000000
--- a/tests/dictionaries_old/80condition_not_exists_error_var/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
- oui
- notexists
-
-
-
diff --git a/tests/dictionaries_old/80condition_not_exists_error_var/__init__.py b/tests/dictionaries_old/80condition_not_exists_error_var/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80condition_not_exists_error_var/errno_12 b/tests/dictionaries_old/80condition_not_exists_error_var/errno_12
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80condition_without_target/00-base.xml b/tests/dictionaries_old/80condition_without_target/00-base.xml
deleted file mode 100644
index e8f86ab8d..000000000
--- a/tests/dictionaries_old/80condition_without_target/00-base.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- oui
-
-
-
diff --git a/tests/dictionaries_old/80condition_without_target/__init__.py b/tests/dictionaries_old/80condition_without_target/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80condition_without_target/errno_9 b/tests/dictionaries_old/80condition_without_target/errno_9
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80container_files_symlink_without_source/00-base.xml b/tests/dictionaries_old/80container_files_symlink_without_source/00-base.xml
deleted file mode 100644
index bffa2f11d..000000000
--- a/tests/dictionaries_old/80container_files_symlink_without_source/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- file_name
-
-
-
-
-
- oui
-
-
- /etc/mailname
-
-
-
-
diff --git a/tests/dictionaries_old/80container_files_symlink_without_source/__init__.py b/tests/dictionaries_old/80container_files_symlink_without_source/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80container_files_symlink_without_source/errno_34 b/tests/dictionaries_old/80container_files_symlink_without_source/errno_34
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80container_filesredefine_error/00-base.xml b/tests/dictionaries_old/80container_filesredefine_error/00-base.xml
deleted file mode 100644
index 7a9c4c735..000000000
--- a/tests/dictionaries_old/80container_filesredefine_error/00-base.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
- /etc/mailname
-
-
-
-
-
- oui
-
-
-
-
diff --git a/tests/dictionaries_old/80container_filesredefine_error/01-base.xml b/tests/dictionaries_old/80container_filesredefine_error/01-base.xml
deleted file mode 100644
index 439c85099..000000000
--- a/tests/dictionaries_old/80container_filesredefine_error/01-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- /etc/mailname
-
-
-
diff --git a/tests/dictionaries_old/80container_filesredefine_error/__init__.py b/tests/dictionaries_old/80container_filesredefine_error/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80container_filesredefine_error/errno_45 b/tests/dictionaries_old/80container_filesredefine_error/errno_45
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80empty_param_number/00_base.xml b/tests/dictionaries_old/80empty_param_number/00_base.xml
deleted file mode 100644
index 94e1bed4e..000000000
--- a/tests/dictionaries_old/80empty_param_number/00_base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
- 3127
-
-
-
-
-
-
- toto1
-
-
-
diff --git a/tests/dictionaries_old/80empty_param_number/__init__.py b/tests/dictionaries_old/80empty_param_number/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80empty_param_number/errno_27 b/tests/dictionaries_old/80empty_param_number/errno_27
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80empty_typeeole_eole/00_base.xml b/tests/dictionaries_old/80empty_typeeole_eole/00_base.xml
deleted file mode 100644
index af5b8f67c..000000000
--- a/tests/dictionaries_old/80empty_typeeole_eole/00_base.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
- 3127
-
-
-
-
-
- non
-
- 3128
- toto2
- toto1
-
-
-
diff --git a/tests/dictionaries_old/80empty_typeeole_eole/__init__.py b/tests/dictionaries_old/80empty_typeeole_eole/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80empty_typeeole_eole/errno_27 b/tests/dictionaries_old/80empty_typeeole_eole/errno_27
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80empty_typeeole_number/00_base.xml b/tests/dictionaries_old/80empty_typeeole_number/00_base.xml
deleted file mode 100644
index 66f4a2246..000000000
--- a/tests/dictionaries_old/80empty_typeeole_number/00_base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
- 3127
-
-
-
-
- non
-
- 3128
- toto2
- toto1
-
-
-
diff --git a/tests/dictionaries_old/80empty_typeeole_number/__init__.py b/tests/dictionaries_old/80empty_typeeole_number/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80empty_typeeole_number/errno_27 b/tests/dictionaries_old/80empty_typeeole_number/errno_27
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80extra_externalspaceauto/00-base.xml b/tests/dictionaries_old/80extra_externalspaceauto/00-base.xml
deleted file mode 100644
index 172b74634..000000000
--- a/tests/dictionaries_old/80extra_externalspaceauto/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80extra_externalspaceauto/__init__.py b/tests/dictionaries_old/80extra_externalspaceauto/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80extra_externalspaceauto/errno_41 b/tests/dictionaries_old/80extra_externalspaceauto/errno_41
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80extra_externalspaceauto/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/80extra_externalspaceauto/extra_dirs/extra/00-base.xml
deleted file mode 100644
index e5eb20f02..000000000
--- a/tests/dictionaries_old/80extra_externalspaceauto/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
- pre
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80extra_externalspaceauto/extra_dirs/extra1/00-base.xml b/tests/dictionaries_old/80extra_externalspaceauto/extra_dirs/extra1/00-base.xml
deleted file mode 100644
index 3fe35d767..000000000
--- a/tests/dictionaries_old/80extra_externalspaceauto/extra_dirs/extra1/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- test
-
-
-
-
-
- non
- extra.ejabberd.day
- none
- daily
- extra1.external.description
-
-
-
diff --git a/tests/dictionaries_old/80extra_externalspacecondition2/00-base.xml b/tests/dictionaries_old/80extra_externalspacecondition2/00-base.xml
deleted file mode 100644
index 172b74634..000000000
--- a/tests/dictionaries_old/80extra_externalspacecondition2/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80extra_externalspacecondition2/__init__.py b/tests/dictionaries_old/80extra_externalspacecondition2/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80extra_externalspacecondition2/errno_38 b/tests/dictionaries_old/80extra_externalspacecondition2/errno_38
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80extra_externalspacecondition2/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/80extra_externalspacecondition2/extra_dirs/extra/00-base.xml
deleted file mode 100644
index e5eb20f02..000000000
--- a/tests/dictionaries_old/80extra_externalspacecondition2/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
- pre
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80extra_externalspacecondition2/extra_dirs/extra1/00-base.xml b/tests/dictionaries_old/80extra_externalspacecondition2/extra_dirs/extra1/00-base.xml
deleted file mode 100644
index e51651d33..000000000
--- a/tests/dictionaries_old/80extra_externalspacecondition2/extra_dirs/extra1/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- test
-
-
-
-
-
- non
- extra.ejabberd
-
-
-
diff --git a/tests/dictionaries_old/80extra_externalspacecondition3/00-base.xml b/tests/dictionaries_old/80extra_externalspacecondition3/00-base.xml
deleted file mode 100644
index 172b74634..000000000
--- a/tests/dictionaries_old/80extra_externalspacecondition3/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80extra_externalspacecondition3/__init__.py b/tests/dictionaries_old/80extra_externalspacecondition3/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80extra_externalspacecondition3/errno_38 b/tests/dictionaries_old/80extra_externalspacecondition3/errno_38
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80extra_externalspacecondition3/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/80extra_externalspacecondition3/extra_dirs/extra/00-base.xml
deleted file mode 100644
index a8fe29c8c..000000000
--- a/tests/dictionaries_old/80extra_externalspacecondition3/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- test
-
-
-
-
-
- non
- general
-
-
-
diff --git a/tests/dictionaries_old/80extra_rougail/00-base.xml b/tests/dictionaries_old/80extra_rougail/00-base.xml
deleted file mode 100644
index 88bab8ca4..000000000
--- a/tests/dictionaries_old/80extra_rougail/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80extra_rougail/__init__.py b/tests/dictionaries_old/80extra_rougail/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80extra_rougail/errno_21 b/tests/dictionaries_old/80extra_rougail/errno_21
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80extra_rougail/extra_dirs/rougail/00-base.xml b/tests/dictionaries_old/80extra_rougail/extra_dirs/rougail/00-base.xml
deleted file mode 100644
index c93971917..000000000
--- a/tests/dictionaries_old/80extra_rougail/extra_dirs/rougail/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
- pre
-
-
-
-
-
- non
- activer_ejabberd
- none
- daily
- extra.ejabberd.day
-
-
-
diff --git a/tests/dictionaries_old/80extra_services/00-base.xml b/tests/dictionaries_old/80extra_services/00-base.xml
deleted file mode 100644
index 88bab8ca4..000000000
--- a/tests/dictionaries_old/80extra_services/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80extra_services/__init__.py b/tests/dictionaries_old/80extra_services/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80extra_services/errno_21 b/tests/dictionaries_old/80extra_services/errno_21
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80extra_services/extra_dirs/services/00-base.xml b/tests/dictionaries_old/80extra_services/extra_dirs/services/00-base.xml
deleted file mode 100644
index a11e423b2..000000000
--- a/tests/dictionaries_old/80extra_services/extra_dirs/services/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
- pre
-
-
-
-
-
- non
- activer_ejabberd
- none
- daily
- extra.ejabberd.day
-
-
-
diff --git a/tests/dictionaries_old/80family_appendaccent/00-base.xml b/tests/dictionaries_old/80family_appendaccent/00-base.xml
deleted file mode 100644
index 4d4f6bda7..000000000
--- a/tests/dictionaries_old/80family_appendaccent/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- non
-
-
-
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80family_appendaccent/01-base.xml b/tests/dictionaries_old/80family_appendaccent/01-base.xml
deleted file mode 100644
index 470481fb5..000000000
--- a/tests/dictionaries_old/80family_appendaccent/01-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80family_appendaccent/02-base.xml b/tests/dictionaries_old/80family_appendaccent/02-base.xml
deleted file mode 100644
index a5fa78a92..000000000
--- a/tests/dictionaries_old/80family_appendaccent/02-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80family_appendaccent/__init__.py b/tests/dictionaries_old/80family_appendaccent/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_appendaccent/errno_76 b/tests/dictionaries_old/80family_appendaccent/errno_76
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_change/00-base.xml b/tests/dictionaries_old/80family_change/00-base.xml
deleted file mode 100644
index b98127645..000000000
--- a/tests/dictionaries_old/80family_change/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80family_change/01-base.xml b/tests/dictionaries_old/80family_change/01-base.xml
deleted file mode 100644
index 362cc6b4a..000000000
--- a/tests/dictionaries_old/80family_change/01-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80family_change/__init__.py b/tests/dictionaries_old/80family_change/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_change/errno_47 b/tests/dictionaries_old/80family_change/errno_47
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_dynamic_calc_invalid_suffix/00-base.xml b/tests/dictionaries_old/80family_dynamic_calc_invalid_suffix/00-base.xml
deleted file mode 100644
index 776efdf40..000000000
--- a/tests/dictionaries_old/80family_dynamic_calc_invalid_suffix/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- val1
- val2
-
-
-
-
- val
-
-
-
-
-
-
-
-
- unknown
- vardyn
-
-
-
diff --git a/tests/dictionaries_old/80family_dynamic_calc_invalid_suffix/__init__.py b/tests/dictionaries_old/80family_dynamic_calc_invalid_suffix/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_dynamic_calc_invalid_suffix/errno_28 b/tests/dictionaries_old/80family_dynamic_calc_invalid_suffix/errno_28
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_dynamic_check/00-base.xml b/tests/dictionaries_old/80family_dynamic_check/00-base.xml
deleted file mode 100644
index d27806e94..000000000
--- a/tests/dictionaries_old/80family_dynamic_check/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- val1
- val2
-
-
-
-
-
-
-
-
- 0
- 100
- vardynval1
-
-
-
diff --git a/tests/dictionaries_old/80family_dynamic_check/__init__.py b/tests/dictionaries_old/80family_dynamic_check/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_dynamic_check/errno_35 b/tests/dictionaries_old/80family_dynamic_check/errno_35
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_dynamic_not_multi/00-base.xml b/tests/dictionaries_old/80family_dynamic_not_multi/00-base.xml
deleted file mode 100644
index 2c2f7f2e7..000000000
--- a/tests/dictionaries_old/80family_dynamic_not_multi/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
- val1
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80family_dynamic_not_multi/__init__.py b/tests/dictionaries_old/80family_dynamic_not_multi/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_dynamic_not_multi/errno_16 b/tests/dictionaries_old/80family_dynamic_not_multi/errno_16
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_dynamic_with_family/00-base.xml b/tests/dictionaries_old/80family_dynamic_with_family/00-base.xml
deleted file mode 100644
index bd2842d62..000000000
--- a/tests/dictionaries_old/80family_dynamic_with_family/00-base.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- val1
- val2
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80family_dynamic_with_family/__init__.py b/tests/dictionaries_old/80family_dynamic_with_family/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_dynamic_with_family/errno_22 b/tests/dictionaries_old/80family_dynamic_with_family/errno_22
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_not_dynamic_calc_suffix/00-base.xml b/tests/dictionaries_old/80family_not_dynamic_calc_suffix/00-base.xml
deleted file mode 100644
index 25cc4f33d..000000000
--- a/tests/dictionaries_old/80family_not_dynamic_calc_suffix/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- val1
- val2
-
-
-
-
- val
-
-
-
-
-
-
-
-
-
- newvar
-
-
-
diff --git a/tests/dictionaries_old/80family_not_dynamic_calc_suffix/__init__.py b/tests/dictionaries_old/80family_not_dynamic_calc_suffix/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_not_dynamic_calc_suffix/errno_53 b/tests/dictionaries_old/80family_not_dynamic_calc_suffix/errno_53
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_only_on_suffix/00-base.xml b/tests/dictionaries_old/80family_only_on_suffix/00-base.xml
deleted file mode 100644
index 7c16afaba..000000000
--- a/tests/dictionaries_old/80family_only_on_suffix/00-base.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- val1
- val2
-
-
-
-
-
-
-
-
- value
- vardynval1
-
-
-
diff --git a/tests/dictionaries_old/80family_only_on_suffix/__init__.py b/tests/dictionaries_old/80family_only_on_suffix/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_only_on_suffix/errno_35 b/tests/dictionaries_old/80family_only_on_suffix/errno_35
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_several/00-base.xml b/tests/dictionaries_old/80family_several/00-base.xml
deleted file mode 100644
index f2d390cdb..000000000
--- a/tests/dictionaries_old/80family_several/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/80family_several/__init__.py b/tests/dictionaries_old/80family_several/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_several/errno_44 b/tests/dictionaries_old/80family_several/errno_44
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_unique/00-base.xml b/tests/dictionaries_old/80family_unique/00-base.xml
deleted file mode 100644
index 6c84ee8b3..000000000
--- a/tests/dictionaries_old/80family_unique/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80family_unique/__init__.py b/tests/dictionaries_old/80family_unique/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_unique/errno_55 b/tests/dictionaries_old/80family_unique/errno_55
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_variable_not_same_name/00-base.xml b/tests/dictionaries_old/80family_variable_not_same_name/00-base.xml
deleted file mode 100644
index 1e3b51350..000000000
--- a/tests/dictionaries_old/80family_variable_not_same_name/00-base.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80family_variable_not_same_name/__init__.py b/tests/dictionaries_old/80family_variable_not_same_name/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80family_variable_not_same_name/errno_57 b/tests/dictionaries_old/80family_variable_not_same_name/errno_57
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80familyaction_accent/00-base.xml b/tests/dictionaries_old/80familyaction_accent/00-base.xml
deleted file mode 100644
index af8b3e8b7..000000000
--- a/tests/dictionaries_old/80familyaction_accent/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80familyaction_accent/__init__.py b/tests/dictionaries_old/80familyaction_accent/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80familyaction_accent/errno_76 b/tests/dictionaries_old/80familyaction_accent/errno_76
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80familyaction_accent/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/80familyaction_accent/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 9fcc64782..000000000
--- a/tests/dictionaries_old/80familyaction_accent/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- 0
-
-
-
-
diff --git a/tests/dictionaries_old/80file_wrong_type/00-base.xml b/tests/dictionaries_old/80file_wrong_type/00-base.xml
deleted file mode 100644
index 951c7b558..000000000
--- a/tests/dictionaries_old/80file_wrong_type/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- file_name
-
-
-
-
- /etc/mailname
-
-
-
diff --git a/tests/dictionaries_old/80file_wrong_type/__init__.py b/tests/dictionaries_old/80file_wrong_type/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80file_wrong_type/errno_58 b/tests/dictionaries_old/80file_wrong_type/errno_58
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80fill_baseaccent/00-base.xml b/tests/dictionaries_old/80fill_baseaccent/00-base.xml
deleted file mode 100644
index c7e307fb6..000000000
--- a/tests/dictionaries_old/80fill_baseaccent/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80fill_baseaccent/__init__.py b/tests/dictionaries_old/80fill_baseaccent/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80fill_baseaccent/errno_76 b/tests/dictionaries_old/80fill_baseaccent/errno_76
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80fill_error/00-base.xml b/tests/dictionaries_old/80fill_error/00-base.xml
deleted file mode 100644
index 211dd395f..000000000
--- a/tests/dictionaries_old/80fill_error/00-base.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
- valeur
- mode_conteneur_actif
-
-
- valeur2
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80fill_error/__init__.py b/tests/dictionaries_old/80fill_error/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80fill_error/errno_24 b/tests/dictionaries_old/80fill_error/errno_24
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80fill_multi/00-base.xml b/tests/dictionaries_old/80fill_multi/00-base.xml
deleted file mode 100644
index 64dc527aa..000000000
--- a/tests/dictionaries_old/80fill_multi/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- value
- mode_conteneur_actif
-
-
- mode_conteneur_actif1
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80fill_multi/__init__.py b/tests/dictionaries_old/80fill_multi/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80fill_multi/errno_24 b/tests/dictionaries_old/80fill_multi/errno_24
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80fill_not_exists/00-base.xml b/tests/dictionaries_old/80fill_not_exists/00-base.xml
deleted file mode 100644
index fdbb69388..000000000
--- a/tests/dictionaries_old/80fill_not_exists/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- mode_conteneur_actif4
- mode_conteneur_actif1
- mode_conteneur_actif3
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80fill_not_exists/__init__.py b/tests/dictionaries_old/80fill_not_exists/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80fill_not_exists/errno_42 b/tests/dictionaries_old/80fill_not_exists/errno_42
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80fill_unknown_function/00-base.xml b/tests/dictionaries_old/80fill_unknown_function/00-base.xml
deleted file mode 100644
index be0452e30..000000000
--- a/tests/dictionaries_old/80fill_unknown_function/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
-
- mode_conteneur_actif1
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80fill_unknown_function/__init__.py b/tests/dictionaries_old/80fill_unknown_function/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80fill_unknown_function/errno_25 b/tests/dictionaries_old/80fill_unknown_function/errno_25
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80frozenifin_unknown/00-base.xml b/tests/dictionaries_old/80frozenifin_unknown/00-base.xml
deleted file mode 100644
index c0ffcee98..000000000
--- a/tests/dictionaries_old/80frozenifin_unknown/00-base.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
- 1
- 2
- 3
- enumvar
-
-
- 4
- test_variable
-
-
-
diff --git a/tests/dictionaries_old/80frozenifin_unknown/__init__.py b/tests/dictionaries_old/80frozenifin_unknown/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80frozenifin_unknown/errno_23 b/tests/dictionaries_old/80frozenifin_unknown/errno_23
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80hidden_if_in_dynamic/00-base.xml b/tests/dictionaries_old/80hidden_if_in_dynamic/00-base.xml
deleted file mode 100644
index dd21c18bf..000000000
--- a/tests/dictionaries_old/80hidden_if_in_dynamic/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- val1
- val2
-
-
-
-
- val
-
-
-
-
-
-
-
-
- non
- new
-
-
-
diff --git a/tests/dictionaries_old/80hidden_if_in_dynamic/__init__.py b/tests/dictionaries_old/80hidden_if_in_dynamic/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80hidden_if_in_dynamic/errno_20 b/tests/dictionaries_old/80hidden_if_in_dynamic/errno_20
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80hidden_if_in_filelist/00-base.xml b/tests/dictionaries_old/80hidden_if_in_filelist/00-base.xml
deleted file mode 100644
index c7bd8f789..000000000
--- a/tests/dictionaries_old/80hidden_if_in_filelist/00-base.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
- /tmp/file1
-
-
-
-
-
- non
-
-
- non
-
-
-
-
-
- non
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/80hidden_if_in_filelist/__init__.py b/tests/dictionaries_old/80hidden_if_in_filelist/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80hidden_if_in_filelist/errno_10 b/tests/dictionaries_old/80hidden_if_in_filelist/errno_10
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80invalid_dtd/00_base.xml b/tests/dictionaries_old/80invalid_dtd/00_base.xml
deleted file mode 100644
index 9ffb9deec..000000000
--- a/tests/dictionaries_old/80invalid_dtd/00_base.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80invalid_dtd/__init__.py b/tests/dictionaries_old/80invalid_dtd/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80invalid_dtd/errno_43 b/tests/dictionaries_old/80invalid_dtd/errno_43
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80invalid_xml/00_base.xml b/tests/dictionaries_old/80invalid_xml/00_base.xml
deleted file mode 100644
index 129e01fa6..000000000
--- a/tests/dictionaries_old/80invalid_xml/00_base.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/tests/dictionaries_old/80invalid_xml/__init__.py b/tests/dictionaries_old/80invalid_xml/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80invalid_xml/errno_52 b/tests/dictionaries_old/80invalid_xml/errno_52
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_accent/00-base.xml b/tests/dictionaries_old/80leadership_accent/00-base.xml
deleted file mode 100644
index c529e7c09..000000000
--- a/tests/dictionaries_old/80leadership_accent/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- Followér1
- follower2
-
-
- Followér1
- Followér2
-
-
-
diff --git a/tests/dictionaries_old/80leadership_accent/__init__.py b/tests/dictionaries_old/80leadership_accent/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_accent/errno_76 b/tests/dictionaries_old/80leadership_accent/errno_76
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_accent_leader/00-base.xml b/tests/dictionaries_old/80leadership_accent_leader/00-base.xml
deleted file mode 100644
index 6f2d7f4c0..000000000
--- a/tests/dictionaries_old/80leadership_accent_leader/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/80leadership_accent_leader/__init__.py b/tests/dictionaries_old/80leadership_accent_leader/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_accent_leader/errno_76 b/tests/dictionaries_old/80leadership_accent_leader/errno_76
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_auto_save/00-base.xml b/tests/dictionaries_old/80leadership_auto_save/00-base.xml
deleted file mode 100644
index ac6ebb0be..000000000
--- a/tests/dictionaries_old/80leadership_auto_save/00-base.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/80leadership_auto_save/__init__.py b/tests/dictionaries_old/80leadership_auto_save/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_auto_save/errno_29 b/tests/dictionaries_old/80leadership_auto_save/errno_29
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_autofreeze/00-base.xml b/tests/dictionaries_old/80leadership_autofreeze/00-base.xml
deleted file mode 100644
index c56dc7adf..000000000
--- a/tests/dictionaries_old/80leadership_autofreeze/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/80leadership_autofreeze/__init__.py b/tests/dictionaries_old/80leadership_autofreeze/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_autofreeze/errno_30 b/tests/dictionaries_old/80leadership_autofreeze/errno_30
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_familyaccent/00-base.xml b/tests/dictionaries_old/80leadership_familyaccent/00-base.xml
deleted file mode 100644
index 59563c889..000000000
--- a/tests/dictionaries_old/80leadership_familyaccent/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- valfill
- follower1
-
-
- follower1
- follower2
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/80leadership_familyaccent/__init__.py b/tests/dictionaries_old/80leadership_familyaccent/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_familyaccent/errno_76 b/tests/dictionaries_old/80leadership_familyaccent/errno_76
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_leader_not_multi/00-base.xml b/tests/dictionaries_old/80leadership_leader_not_multi/00-base.xml
deleted file mode 100644
index c666b05dc..000000000
--- a/tests/dictionaries_old/80leadership_leader_not_multi/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/80leadership_leader_not_multi/__init__.py b/tests/dictionaries_old/80leadership_leader_not_multi/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80leadership_leader_not_multi/errno_32 b/tests/dictionaries_old/80leadership_leader_not_multi/errno_32
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80load_disabled_if_inaccent_family/00-base.xml b/tests/dictionaries_old/80load_disabled_if_inaccent_family/00-base.xml
deleted file mode 100644
index 80b22b7d2..000000000
--- a/tests/dictionaries_old/80load_disabled_if_inaccent_family/00-base.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
- non
-
-
-
-
-
- oui
- mode_conteneur_actif
- mode_conteneur_actif2
- Général2
-
-
-
diff --git a/tests/dictionaries_old/80load_disabled_if_inaccent_family/__init__.py b/tests/dictionaries_old/80load_disabled_if_inaccent_family/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80load_disabled_if_inaccent_family/errno_76 b/tests/dictionaries_old/80load_disabled_if_inaccent_family/errno_76
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80load_leadership_normalize_family/00-base.xml b/tests/dictionaries_old/80load_leadership_normalize_family/00-base.xml
deleted file mode 100644
index bfd56a01b..000000000
--- a/tests/dictionaries_old/80load_leadership_normalize_family/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/80load_leadership_normalize_family/01-base.xml b/tests/dictionaries_old/80load_leadership_normalize_family/01-base.xml
deleted file mode 100644
index 568a8bc31..000000000
--- a/tests/dictionaries_old/80load_leadership_normalize_family/01-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80load_leadership_normalize_family/__init__.py b/tests/dictionaries_old/80load_leadership_normalize_family/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80load_leadership_normalize_family/errno_76 b/tests/dictionaries_old/80load_leadership_normalize_family/errno_76
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80load_mandatoryifin_family/00-base.xml b/tests/dictionaries_old/80load_mandatoryifin_family/00-base.xml
deleted file mode 100644
index f0098ec19..000000000
--- a/tests/dictionaries_old/80load_mandatoryifin_family/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- oui
- general2
-
-
-
diff --git a/tests/dictionaries_old/80load_mandatoryifin_family/__init__.py b/tests/dictionaries_old/80load_mandatoryifin_family/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80load_mandatoryifin_family/errno_51 b/tests/dictionaries_old/80load_mandatoryifin_family/errno_51
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80mode_conflict/00-base.xml b/tests/dictionaries_old/80mode_conflict/00-base.xml
deleted file mode 100644
index be7c99e03..000000000
--- a/tests/dictionaries_old/80mode_conflict/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80mode_conflict/__init__.py b/tests/dictionaries_old/80mode_conflict/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80mode_conflict/errno_62 b/tests/dictionaries_old/80mode_conflict/errno_62
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80mode_leadership_conflict/00-base.xml b/tests/dictionaries_old/80mode_leadership_conflict/00-base.xml
deleted file mode 100644
index cc72e7b49..000000000
--- a/tests/dictionaries_old/80mode_leadership_conflict/00-base.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
-
- valfill
- leader
-
-
- follower1
- follower2
-
-
-
diff --git a/tests/dictionaries_old/80mode_leadership_conflict/__init__.py b/tests/dictionaries_old/80mode_leadership_conflict/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80mode_leadership_conflict/errno_63 b/tests/dictionaries_old/80mode_leadership_conflict/errno_63
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80multi_family_mode_conflict/00-base.xml b/tests/dictionaries_old/80multi_family_mode_conflict/00-base.xml
deleted file mode 100644
index 1ef22d25a..000000000
--- a/tests/dictionaries_old/80multi_family_mode_conflict/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80multi_family_mode_conflict/__init__.py b/tests/dictionaries_old/80multi_family_mode_conflict/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80multi_family_mode_conflict/errno_61 b/tests/dictionaries_old/80multi_family_mode_conflict/errno_61
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80nil_with_value/00-base.xml b/tests/dictionaries_old/80nil_with_value/00-base.xml
deleted file mode 100644
index 0d361343c..000000000
--- a/tests/dictionaries_old/80nil_with_value/00-base.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
- non
-
-
- non
-
-
- non
-
-
-
-
-
- value
- mode_conteneur_actif
- mode_conteneur_actif2
- afilllist
-
-
-
diff --git a/tests/dictionaries_old/80nil_with_value/__init__.py b/tests/dictionaries_old/80nil_with_value/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80nil_with_value/errno_40 b/tests/dictionaries_old/80nil_with_value/errno_40
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80no_leadership_index/00-base.xml b/tests/dictionaries_old/80no_leadership_index/00-base.xml
deleted file mode 100644
index 3f0131b12..000000000
--- a/tests/dictionaries_old/80no_leadership_index/00-base.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
- my_variable
-
-
-
diff --git a/tests/dictionaries_old/80no_leadership_index/__init__.py b/tests/dictionaries_old/80no_leadership_index/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80no_leadership_index/errno_60 b/tests/dictionaries_old/80no_leadership_index/errno_60
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80override_twice/00-base.xml b/tests/dictionaries_old/80override_twice/00-base.xml
deleted file mode 100644
index 5114fca26..000000000
--- a/tests/dictionaries_old/80override_twice/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80override_twice/__init__.py b/tests/dictionaries_old/80override_twice/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80override_twice/errno_69 b/tests/dictionaries_old/80override_twice/errno_69
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80redefine_double_error/00-base.xml b/tests/dictionaries_old/80redefine_double_error/00-base.xml
deleted file mode 100644
index 8c9d801f9..000000000
--- a/tests/dictionaries_old/80redefine_double_error/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80redefine_double_error/01-base.xml b/tests/dictionaries_old/80redefine_double_error/01-base.xml
deleted file mode 100644
index 9488593c2..000000000
--- a/tests/dictionaries_old/80redefine_double_error/01-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80redefine_double_error/02-base.xml b/tests/dictionaries_old/80redefine_double_error/02-base.xml
deleted file mode 100644
index 5f50358e4..000000000
--- a/tests/dictionaries_old/80redefine_double_error/02-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80redefine_double_error/__init__.py b/tests/dictionaries_old/80redefine_double_error/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80redefine_double_error/errno_48 b/tests/dictionaries_old/80redefine_double_error/errno_48
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80redefine_error/00-base.xml b/tests/dictionaries_old/80redefine_error/00-base.xml
deleted file mode 100644
index 8c9d801f9..000000000
--- a/tests/dictionaries_old/80redefine_error/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80redefine_error/01-redefine.xml b/tests/dictionaries_old/80redefine_error/01-redefine.xml
deleted file mode 100644
index 8c9d801f9..000000000
--- a/tests/dictionaries_old/80redefine_error/01-redefine.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80redefine_error/__init__.py b/tests/dictionaries_old/80redefine_error/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80redefine_error/errno_45 b/tests/dictionaries_old/80redefine_error/errno_45
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80redefine_fillerror/00-base.xml b/tests/dictionaries_old/80redefine_fillerror/00-base.xml
deleted file mode 100644
index 474e77565..000000000
--- a/tests/dictionaries_old/80redefine_fillerror/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
- valeur
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80redefine_fillerror/01-base.xml b/tests/dictionaries_old/80redefine_fillerror/01-base.xml
deleted file mode 100644
index bc69cd752..000000000
--- a/tests/dictionaries_old/80redefine_fillerror/01-base.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- valeur
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80redefine_fillerror/__init__.py b/tests/dictionaries_old/80redefine_fillerror/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80redefine_fillerror/errno_24 b/tests/dictionaries_old/80redefine_fillerror/errno_24
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80redefine_notexists/00-base.xml b/tests/dictionaries_old/80redefine_notexists/00-base.xml
deleted file mode 100644
index 8c9d801f9..000000000
--- a/tests/dictionaries_old/80redefine_notexists/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80redefine_notexists/01-redefine.xml b/tests/dictionaries_old/80redefine_notexists/01-redefine.xml
deleted file mode 100644
index 887508846..000000000
--- a/tests/dictionaries_old/80redefine_notexists/01-redefine.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80redefine_notexists/__init__.py b/tests/dictionaries_old/80redefine_notexists/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80redefine_notexists/errno_46 b/tests/dictionaries_old/80redefine_notexists/errno_46
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80service_not_managed_overrides/00-base.xml b/tests/dictionaries_old/80service_not_managed_overrides/00-base.xml
deleted file mode 100644
index 4ab31bf6d..000000000
--- a/tests/dictionaries_old/80service_not_managed_overrides/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
- mailname
-
-
-
diff --git a/tests/dictionaries_old/80service_not_managed_overrides/__init__.py b/tests/dictionaries_old/80service_not_managed_overrides/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80service_not_managed_overrides/errno_66 b/tests/dictionaries_old/80service_not_managed_overrides/errno_66
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80services_ip_cidr_netmask/00-base.xml b/tests/dictionaries_old/80services_ip_cidr_netmask/00-base.xml
deleted file mode 100644
index 7bb0cce05..000000000
--- a/tests/dictionaries_old/80services_ip_cidr_netmask/00-base.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80services_ip_cidr_netmask/__init__.py b/tests/dictionaries_old/80services_ip_cidr_netmask/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80services_ip_cidr_netmask/errno_59 b/tests/dictionaries_old/80services_ip_cidr_netmask/errno_59
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80services_ip_netmask/00-base.xml b/tests/dictionaries_old/80services_ip_netmask/00-base.xml
deleted file mode 100644
index cc58453fd..000000000
--- a/tests/dictionaries_old/80services_ip_netmask/00-base.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80services_ip_netmask/__init__.py b/tests/dictionaries_old/80services_ip_netmask/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80services_ip_netmask/errno_59 b/tests/dictionaries_old/80services_ip_netmask/errno_59
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80services_ip_network_no_netmask/00-base.xml b/tests/dictionaries_old/80services_ip_network_no_netmask/00-base.xml
deleted file mode 100644
index 4d7db9610..000000000
--- a/tests/dictionaries_old/80services_ip_network_no_netmask/00-base.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80services_ip_network_no_netmask/__init__.py b/tests/dictionaries_old/80services_ip_network_no_netmask/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80services_ip_network_no_netmask/errno_64 b/tests/dictionaries_old/80services_ip_network_no_netmask/errno_64
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80services_ip_not_netmask/00-base.xml b/tests/dictionaries_old/80services_ip_not_netmask/00-base.xml
deleted file mode 100644
index fb6c6ddac..000000000
--- a/tests/dictionaries_old/80services_ip_not_netmask/00-base.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80services_ip_not_netmask/__init__.py b/tests/dictionaries_old/80services_ip_not_netmask/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80services_ip_not_netmask/errno_65 b/tests/dictionaries_old/80services_ip_not_netmask/errno_65
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80services_ip_wrong_type/00-base.xml b/tests/dictionaries_old/80services_ip_wrong_type/00-base.xml
deleted file mode 100644
index 4a32f9bd4..000000000
--- a/tests/dictionaries_old/80services_ip_wrong_type/00-base.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- nut_monitor_host
-
-
-
-
- 192.168.0.1
-
-
-
diff --git a/tests/dictionaries_old/80services_ip_wrong_type/__init__.py b/tests/dictionaries_old/80services_ip_wrong_type/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80services_ip_wrong_type/errno_70 b/tests/dictionaries_old/80services_ip_wrong_type/errno_70
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80target_list_unknown/00-base.xml b/tests/dictionaries_old/80target_list_unknown/00-base.xml
deleted file mode 100644
index 16a3d95a6..000000000
--- a/tests/dictionaries_old/80target_list_unknown/00-base.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
- True
- unknown
-
-
-
diff --git a/tests/dictionaries_old/80target_list_unknown/__init__.py b/tests/dictionaries_old/80target_list_unknown/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80target_list_unknown/errno_2 b/tests/dictionaries_old/80target_list_unknown/errno_2
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80unknown_type/00-base.xml b/tests/dictionaries_old/80unknown_type/00-base.xml
deleted file mode 100644
index cb8d20a56..000000000
--- a/tests/dictionaries_old/80unknown_type/00-base.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80unknown_type/__init__.py b/tests/dictionaries_old/80unknown_type/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80unknown_type/errno_43 b/tests/dictionaries_old/80unknown_type/errno_43
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_entier_invalid_param/00-base.xml b/tests/dictionaries_old/80valid_entier_invalid_param/00-base.xml
deleted file mode 100644
index 7a3086561..000000000
--- a/tests/dictionaries_old/80valid_entier_invalid_param/00-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- b
-
-
-
-
-
-
- 0
- int
-
-
-
diff --git a/tests/dictionaries_old/80valid_entier_invalid_param/__init__.py b/tests/dictionaries_old/80valid_entier_invalid_param/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_entier_invalid_param/errno_19 b/tests/dictionaries_old/80valid_entier_invalid_param/errno_19
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_entier_not_number/00-base.xml b/tests/dictionaries_old/80valid_entier_not_number/00-base.xml
deleted file mode 100644
index 90129a8e3..000000000
--- a/tests/dictionaries_old/80valid_entier_not_number/00-base.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- b
-
-
-
-
-
-
- 0
- 100
- int
-
-
-
diff --git a/tests/dictionaries_old/80valid_entier_not_number/__init__.py b/tests/dictionaries_old/80valid_entier_not_number/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_entier_not_number/errno_18 b/tests/dictionaries_old/80valid_entier_not_number/errno_18
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_entier_without_param/00-base.xml b/tests/dictionaries_old/80valid_entier_without_param/00-base.xml
deleted file mode 100644
index c059b4108..000000000
--- a/tests/dictionaries_old/80valid_entier_without_param/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- b
-
-
-
-
-
-
- int
-
-
-
diff --git a/tests/dictionaries_old/80valid_entier_without_param/__init__.py b/tests/dictionaries_old/80valid_entier_without_param/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_entier_without_param/errno_17 b/tests/dictionaries_old/80valid_entier_without_param/errno_17
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_base_redefine/00-base.xml b/tests/dictionaries_old/80valid_enum_base_redefine/00-base.xml
deleted file mode 100644
index 2f2b57b90..000000000
--- a/tests/dictionaries_old/80valid_enum_base_redefine/00-base.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- c
-
-
- c
-
-
-
-
-
- a
- b
- c
- enumvar
-
-
- a
- b
- c
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/80valid_enum_base_redefine/01-base.xml b/tests/dictionaries_old/80valid_enum_base_redefine/01-base.xml
deleted file mode 100644
index 64ff8015f..000000000
--- a/tests/dictionaries_old/80valid_enum_base_redefine/01-base.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- c
-
-
-
-
-
- a
- c
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/80valid_enum_base_redefine/__init__.py b/tests/dictionaries_old/80valid_enum_base_redefine/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_base_redefine/errno_3 b/tests/dictionaries_old/80valid_enum_base_redefine/errno_3
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_multi_param/00-base.xml b/tests/dictionaries_old/80valid_enum_multi_param/00-base.xml
deleted file mode 100644
index c427f211d..000000000
--- a/tests/dictionaries_old/80valid_enum_multi_param/00-base.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
- a
-
-
- a
- b
- c
-
-
-
-
-
- var
- d
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80valid_enum_multi_param/__init__.py b/tests/dictionaries_old/80valid_enum_multi_param/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_multi_param/errno_5 b/tests/dictionaries_old/80valid_enum_multi_param/errno_5
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_multi_variable/00-base.xml b/tests/dictionaries_old/80valid_enum_multi_variable/00-base.xml
deleted file mode 100644
index 292c60260..000000000
--- a/tests/dictionaries_old/80valid_enum_multi_variable/00-base.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- a
-
-
- a
- b
- c
-
-
- a
- b
- c
-
-
-
-
-
- var
- var2
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80valid_enum_multi_variable/__init__.py b/tests/dictionaries_old/80valid_enum_multi_variable/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_multi_variable/errno_5 b/tests/dictionaries_old/80valid_enum_multi_variable/errno_5
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_no_param/00-base.xml b/tests/dictionaries_old/80valid_enum_no_param/00-base.xml
deleted file mode 100644
index 6a067d777..000000000
--- a/tests/dictionaries_old/80valid_enum_no_param/00-base.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- c
-
-
-
-
-
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/80valid_enum_no_param/__init__.py b/tests/dictionaries_old/80valid_enum_no_param/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_no_param/errno_4 b/tests/dictionaries_old/80valid_enum_no_param/errno_4
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_none_multi_variable/00-base.xml b/tests/dictionaries_old/80valid_enum_none_multi_variable/00-base.xml
deleted file mode 100644
index 76c6a85e5..000000000
--- a/tests/dictionaries_old/80valid_enum_none_multi_variable/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- a
-
-
- a
-
-
-
-
-
- var
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80valid_enum_none_multi_variable/__init__.py b/tests/dictionaries_old/80valid_enum_none_multi_variable/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_none_multi_variable/errno_6 b/tests/dictionaries_old/80valid_enum_none_multi_variable/errno_6
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_number_without_value/00-base.xml b/tests/dictionaries_old/80valid_enum_number_without_value/00-base.xml
deleted file mode 100644
index d0ed36d9f..000000000
--- a/tests/dictionaries_old/80valid_enum_number_without_value/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
-
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/80valid_enum_number_without_value/__init__.py b/tests/dictionaries_old/80valid_enum_number_without_value/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80valid_enum_number_without_value/errno_27 b/tests/dictionaries_old/80valid_enum_number_without_value/errno_27
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80value_not_multi/00-base.xml b/tests/dictionaries_old/80value_not_multi/00-base.xml
deleted file mode 100644
index 2e3d57be5..000000000
--- a/tests/dictionaries_old/80value_not_multi/00-base.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- 192.168.0.1
- 192.168.0.2
-
-
-
diff --git a/tests/dictionaries_old/80value_not_multi/__init__.py b/tests/dictionaries_old/80value_not_multi/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80value_not_multi/errno_68 b/tests/dictionaries_old/80value_not_multi/errno_68
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80variable_accent/00-base.xml b/tests/dictionaries_old/80variable_accent/00-base.xml
deleted file mode 100644
index 91c184e77..000000000
--- a/tests/dictionaries_old/80variable_accent/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- non
-
-
-
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80variable_accent/01-base.xml b/tests/dictionaries_old/80variable_accent/01-base.xml
deleted file mode 100644
index 470481fb5..000000000
--- a/tests/dictionaries_old/80variable_accent/01-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80variable_accent/02-base.xml b/tests/dictionaries_old/80variable_accent/02-base.xml
deleted file mode 100644
index a5fa78a92..000000000
--- a/tests/dictionaries_old/80variable_accent/02-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/80variable_accent/__init__.py b/tests/dictionaries_old/80variable_accent/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80variable_accent/errno_76 b/tests/dictionaries_old/80variable_accent/errno_76
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80variable_extra/00-base.xml b/tests/dictionaries_old/80variable_extra/00-base.xml
deleted file mode 100644
index 1b43cfb79..000000000
--- a/tests/dictionaries_old/80variable_extra/00-base.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80variable_extra/__init__.py b/tests/dictionaries_old/80variable_extra/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80variable_extra/errno_54 b/tests/dictionaries_old/80variable_extra/errno_54
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80variable_extra/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/80variable_extra/extra_dirs/extra/00-base.xml
deleted file mode 100644
index 01bb05214..000000000
--- a/tests/dictionaries_old/80variable_extra/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80variable_family_not_same_name/00-base.xml b/tests/dictionaries_old/80variable_family_not_same_name/00-base.xml
deleted file mode 100644
index 699d22928..000000000
--- a/tests/dictionaries_old/80variable_family_not_same_name/00-base.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80variable_family_not_same_name/__init__.py b/tests/dictionaries_old/80variable_family_not_same_name/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80variable_family_not_same_name/errno_56 b/tests/dictionaries_old/80variable_family_not_same_name/errno_56
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80variable_rougail/00-base.xml b/tests/dictionaries_old/80variable_rougail/00-base.xml
deleted file mode 100644
index 821d6eec2..000000000
--- a/tests/dictionaries_old/80variable_rougail/00-base.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/80variable_rougail/__init__.py b/tests/dictionaries_old/80variable_rougail/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80variable_rougail/errno_54 b/tests/dictionaries_old/80variable_rougail/errno_54
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80variable_up/00-base.xml b/tests/dictionaries_old/80variable_up/00-base.xml
deleted file mode 100644
index 6a17ac959..000000000
--- a/tests/dictionaries_old/80variable_up/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- non
-
-
-
-
-
- non
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/80variable_up/__init__.py b/tests/dictionaries_old/80variable_up/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/80variable_up/errno_76 b/tests/dictionaries_old/80variable_up/errno_76
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/81extra_externalspace/00-base.xml b/tests/dictionaries_old/81extra_externalspace/00-base.xml
deleted file mode 100644
index 0747d4f41..000000000
--- a/tests/dictionaries_old/81extra_externalspace/00-base.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
diff --git a/tests/dictionaries_old/81extra_externalspace/__init__.py b/tests/dictionaries_old/81extra_externalspace/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/81extra_externalspace/errno_41 b/tests/dictionaries_old/81extra_externalspace/errno_41
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/81extra_externalspace/extra_dirs/extra/00-base.xml b/tests/dictionaries_old/81extra_externalspace/extra_dirs/extra/00-base.xml
deleted file mode 100644
index e5eb20f02..000000000
--- a/tests/dictionaries_old/81extra_externalspace/extra_dirs/extra/00-base.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- Exportation de la base de ejabberd
-
-
-
- pre
-
-
-
-
-
-
diff --git a/tests/dictionaries_old/81extra_externalspace/extra_dirs/extra1/00-base.xml b/tests/dictionaries_old/81extra_externalspace/extra_dirs/extra1/00-base.xml
deleted file mode 100644
index 50b1055af..000000000
--- a/tests/dictionaries_old/81extra_externalspace/extra_dirs/extra1/00-base.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
- test
-
-
-
-
-
- non
- activer_ejabberd
- none
- daily
- extra.ejabberd.day
-
-
-
diff --git a/tests/dictionaries_old/88valid_enum_not_number/00-base.xml b/tests/dictionaries_old/88valid_enum_not_number/00-base.xml
deleted file mode 100644
index 7e12737a0..000000000
--- a/tests/dictionaries_old/88valid_enum_not_number/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
-
-
-
-
- a
- b
- c
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/88valid_enum_not_number/__init__.py b/tests/dictionaries_old/88valid_enum_not_number/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/88valid_enum_not_number/errno_13 b/tests/dictionaries_old/88valid_enum_not_number/errno_13
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/88valid_enum_not_number2/00-base.xml b/tests/dictionaries_old/88valid_enum_not_number2/00-base.xml
deleted file mode 100644
index 48645ca0a..000000000
--- a/tests/dictionaries_old/88valid_enum_not_number2/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- non
-
-
-
-
-
- 1
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/88valid_enum_not_number2/__init__.py b/tests/dictionaries_old/88valid_enum_not_number2/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/88valid_enum_not_number2/errno_7 b/tests/dictionaries_old/88valid_enum_not_number2/errno_7
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/88valid_enum_not_number_variable/00-base.xml b/tests/dictionaries_old/88valid_enum_not_number_variable/00-base.xml
deleted file mode 100644
index b5bd54015..000000000
--- a/tests/dictionaries_old/88valid_enum_not_number_variable/00-base.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- str
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/88valid_enum_not_number_variable/__init__.py b/tests/dictionaries_old/88valid_enum_not_number_variable/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/88valid_enum_not_number_variable/errno_26 b/tests/dictionaries_old/88valid_enum_not_number_variable/errno_26
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/88valid_enum_numberdefaultstring/00-base.xml b/tests/dictionaries_old/88valid_enum_numberdefaultstring/00-base.xml
deleted file mode 100644
index b8921bb4e..000000000
--- a/tests/dictionaries_old/88valid_enum_numberdefaultstring/00-base.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
- non
-
-
-
-
- a
-
-
-
-
-
- 1
- 2
- 3
- enumvar
-
-
-
diff --git a/tests/dictionaries_old/88valid_enum_numberdefaultstring/__init__.py b/tests/dictionaries_old/88valid_enum_numberdefaultstring/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/88valid_enum_numberdefaultstring/errno_15 b/tests/dictionaries_old/88valid_enum_numberdefaultstring/errno_15
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/88valid_enum_variable_optional/00-base.xml b/tests/dictionaries_old/88valid_enum_variable_optional/00-base.xml
deleted file mode 100644
index 456c870f8..000000000
--- a/tests/dictionaries_old/88valid_enum_variable_optional/00-base.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- a
-
-
- a
- b
- c
-
-
-
-
-
- var
- mode_conteneur_actif
-
-
-
diff --git a/tests/dictionaries_old/88valid_enum_variable_optional/__init__.py b/tests/dictionaries_old/88valid_enum_variable_optional/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/dictionaries_old/88valid_enum_variable_optional/errno_14 b/tests/dictionaries_old/88valid_enum_variable_optional/errno_14
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/eosfunc/test.py b/tests/eosfunc/test.py
index eec726c31..d45393e78 100644
--- a/tests/eosfunc/test.py
+++ b/tests/eosfunc/test.py
@@ -69,3 +69,11 @@ def calc_list(*args, **kwargs):
def test_index(index):
return index
+
+
+def return_no():
+ return 'no'
+
+
+def return_yes():
+ return 'yes'
diff --git a/tests/test_1_flattener.py b/tests/test_1_flattener.py
index 0edcda80f..66a85ae3c 100644
--- a/tests/test_1_flattener.py
+++ b/tests/test_1_flattener.py
@@ -1,14 +1,11 @@
-from os import getcwd
-from os.path import isfile, join, isdir
from pytest import fixture, raises
-from os import listdir, environ, makedirs
-from json import load, dumps, loads
-from yaml import dump as ydump
-from shutil import rmtree
+from os import getcwd, listdir, environ, makedirs
+from os.path import isfile, join, isdir, dirname
+from shutil import rmtree, copyfile
environ['TIRAMISU_LOCALE'] = 'en'
-from rougail import RougailConvert, RougailConfig
+from rougail import Rougail, RougailConfig
from rougail.error import DictConsistencyError
@@ -32,10 +29,11 @@ for test in listdir(dico_dirs):
test_raise.add(test)
excludes = set([])
-#excludes = set(['45multi_family_order'])
+print('FIXME')
+excludes = set(['00load_subfolder'])
test_ok -= excludes
test_raise -= excludes
-#test_ok = ['01base_file_mode']
+# test_ok = ['10load_disabled_if_in_fill']
#test_ok = []
#test_raise = ['80auto_autofreeze']
#test_raise = []
@@ -50,232 +48,110 @@ test_raise = list(test_raise)
test_ok.sort()
test_raise.sort()
-test_dirs = []
-for ext in ['xml', 'yml']:
- for val in test_ok:
- test_dirs.append((ext, val))
-@fixture(scope="module", params=test_dirs)
+@fixture(scope="module", params=test_ok)
def test_dir(request):
return request.param
-test_err_dirs = []
-for ext in ['xml', 'yml']:
- for val in test_raise:
- test_err_dirs.append((ext, val))
-@fixture(scope="module", params=test_err_dirs)
+@fixture(scope="module", params=test_raise)
def test_dir_error(request):
return request.param
-def xml_to_yaml(filename, destfilename):
- import xmltodict
- def reorganize_variable(value, level):
- move = None
- new_value = []
- for type_ in ['variable', 'family']:
- if type_ in value:
- subvalue = value[type_]
- if isinstance(subvalue, list):
- values = []
- for val in subvalue:
- if 'variable' in val or 'family' in val:
- move_, val = reorganize_variable(val, level + 1)
- if move_:
- move = move_
- if filename == 'tests/dictionaries/45multi_family_order/xml/00-base.xml' and \
- val['@name'] == 'variable4':
- #hack
- move = val
- else:
- values.append(val)
- if values:
- new_value.append({type_: values})
- else:
- if 'variable' in subvalue or 'family' in subvalue:
- move_, subvalue = reorganize_variable(subvalue, level + 1)
- if move_:
- move = move_
- new_value.append({type_: [subvalue]})
- if level == 0:
- return new_value
- if level == 1 and move:
- new_value.append({'variable': [move]})
- dico = {k: v for k, v in value.items() if k not in ['variable', 'family']}
- dico['variables'] = new_value
- return move, dico
-
- def _xml_to_yaml(dico, root=False):
- for key, value in dict(dico).items():
- del dico[key]
- if root and key == 'variables':
- value = reorganize_variable(value, 0)
- if isinstance(value, dict):
- _xml_to_yaml(value)
- if isinstance(value, list):
- dico[key] = value
- for idx, val in enumerate(value):
- if isinstance(val, dict):
- _xml_to_yaml(val)
- elif isinstance(val, (str, bool)):
- dico[key][idx] = {'text': val}
- else:
- if value == 'True':
- value = True
- elif value == 'False':
- value = False
- else:
- converted = False
- try:
- # if it's a number
- nvalue = int(value)
- assert str(nvalue) == value
- value = nvalue
- converted = True
- except:
- pass
- if not converted:
- try:
- # if it's a number
- nvalue = float(value)
- assert str(nvalue) == value
- value = nvalue
- converted = True
- except:
- pass
- if key.startswith('@'):
- # remove @
- dico[key[1:]] = value
- elif key.startswith('#'):
- dico[key[1:]] = value
- else:
- if key not in ['variable', 'family'] and not isinstance(value, list):
- if not value:
- if key == 'override':
- dico[key] = value
- elif key == 'value':
- dico[key] = [{'text': value}]
- elif isinstance(value, (str, bool, int, float)):
- dico[key] = [{'text': value}]
- else:
- dico[key] = [value]
- else:
- dico[key] = value
- with open(filename, 'rb') as fh:
- dico = loads(dumps(xmltodict.parse(fh)['rougail'])) # , attr_prefix="")
- _xml_to_yaml(dico, root=True)
- with open(destfilename, 'w') as fh:
- ydump(dico, fh, sort_keys=False)
+def get_tiramisu_filename(test_dir, subdir, multi):
+ if not multi:
+ filename = 'base.py'
+ else:
+ filename = 'multi.py'
+ return join(test_dir, subdir, filename)
-def build_yml(test_dir, dirname):
- makedirs(dirname)
- for filename in listdir(join(test_dir, 'xml')):
- if not isfile(join(test_dir, 'xml', filename)):
- continue
- xml_to_yaml(join(test_dir, 'xml', filename), join(dirname, filename[:-4] + '.yml'))
- if isdir(join(test_dir, 'xml', 'subfolder')):
- makedirs(join(dirname, 'subfolder'))
- for filename in listdir(join(test_dir, 'xml', 'subfolder')):
- xml_to_yaml(join(test_dir, 'xml', 'subfolder', filename), join(dirname, 'subfolder', filename[:-4] + '.yml'))
- if isdir(join(test_dir, 'xml', 'extra_dirs')):
- makedirs(join(dirname, 'extra_dirs'))
- for extra in listdir(join(test_dir, 'xml', 'extra_dirs')):
- subfolder = join(test_dir, 'xml', 'extra_dirs', extra)
- if not isdir(subfolder):
- continue
- makedirs(join(dirname, 'extra_dirs', extra))
- for filename in listdir(subfolder):
- xml_to_yaml(join(test_dir, 'xml', 'extra_dirs', extra, filename), join(dirname, 'extra_dirs', extra, filename[:-4] + '.yml'))
-
-
-def load_rougail_object(test_dir, ext):
- if isfile(join(test_dir, f'no_{ext}')):
- return
+def load_rougail_object(test_dir, multi=False):
rougailconfig = RougailConfig.copy()
rougailconfig['functions_file'] = join(dico_dirs, '../eosfunc/test.py')
- dirs = [join(test_dir, ext)]
- if ext == 'yml' and not isdir(dirs[0]):
- build_yml(test_dir, dirs[0])
- subfolder = join(test_dir, ext, 'subfolder')
- if isdir(subfolder):
- dirs.append(subfolder)
+ dirs = [join(test_dir, 'dictionaries', 'rougail')]
+# subfolder = join(test_dir, 'dictionaries', 'subfolder')
+# if isdir(subfolder):
+# dirs.append(subfolder)
rougailconfig['dictionaries_dir'] = dirs
rougailconfig['extra_dictionaries'] = {}
- if isdir(join(test_dir, ext, 'extra_dirs')):
- extras = listdir(join(test_dir, ext, 'extra_dirs'))
- extras.sort()
- for extra in extras:
- subfolder = join(test_dir, ext, 'extra_dirs', extra)
- if isdir(subfolder):
- rougailconfig['extra_dictionaries'][extra] = [subfolder]
- return RougailConvert(rougailconfig)
+ extras = listdir(join(test_dir, 'dictionaries'))
+ extras.sort()
+ for extra in extras:
+ if extra == 'services':
+ raise Exception('pfff')
+ if extra == 'rougail':
+ continue
+ subfolder = join(test_dir, 'dictionaries', extra)
+ if isdir(subfolder):
+ rougailconfig['extra_dictionaries'][extra] = [subfolder]
+ rougailconfig['tiramisu_cache'] = get_tiramisu_filename(test_dir, 'tmp', multi)
+ return Rougail(rougailconfig)
-def launch_flattener(eolobj, path_prefix=None):
- eolobj.load_dictionaries(path_prefix=path_prefix)
+#def launch_flattener(eolobj, path_prefix=None):
+# eolobj.load_dictionaries(path_prefix=path_prefix)
def save(test_dir, eolobj, multi=False):
- tiramisu_objects = eolobj.save(None)
- if 'children=[]' in tiramisu_objects.split('\n')[-2]:
- raise Exception('empty tiramisu object?')
- tiramisu_dir = join(test_dir, 'tiramisu')
+ tiramisu_tmp = get_tiramisu_filename(test_dir, 'tmp', multi)
+ tiramisu_tmp_dir = dirname(tiramisu_tmp)
+ if isdir(tiramisu_tmp_dir):
+ rmtree(tiramisu_tmp_dir)
+ makedirs(tiramisu_tmp_dir)
+ tiramisu_objects = eolobj.get_config()
+ tiramisu_file = get_tiramisu_filename(test_dir, 'tiramisu', multi)
+ tiramisu_dir = dirname(tiramisu_file)
if isdir(tiramisu_dir):
- if not multi:
- filename = 'base.py'
- else:
- filename = 'multi.py'
- tiramisu_file = join(tiramisu_dir, filename)
if not isfile(tiramisu_file) or debug:
- with open(tiramisu_file, 'w') as fh:
- fh.write(tiramisu_objects)
+ copyfile(tiramisu_tmp, tiramisu_file)
+ with open(tiramisu_tmp, 'r') as fh:
+ tiramisu_objects = fh.read()
with open(tiramisu_file, 'r') as fh:
tiramisu_objects_ori = fh.read()
assert tiramisu_objects == tiramisu_objects_ori
+ if isdir(tiramisu_tmp_dir):
+ rmtree(tiramisu_tmp_dir)
def test_dictionary(test_dir):
- ext, test_dir_ = test_dir
assert getcwd() == ORI_DIR
- test_dir_ = join(dico_dirs, test_dir_)
- eolobj = load_rougail_object(test_dir_, ext)
+ test_dir_ = join(dico_dirs, test_dir)
+ eolobj = load_rougail_object(test_dir_)
if not eolobj:
return
- launch_flattener(eolobj)
+ #launch_flattener(eolobj)
save(test_dir_, eolobj)
assert getcwd() == ORI_DIR
-def test_dictionary_multi(test_dir):
- ext, test_dir_ = test_dir
- assert getcwd() == ORI_DIR
- test_dir_ = join(dico_dirs, test_dir_)
- eolobj = load_rougail_object(test_dir_, ext)
- if not eolobj:
- return
- launch_flattener(eolobj, path_prefix='1')
- launch_flattener(eolobj, path_prefix='2')
- save(test_dir_, eolobj, multi=True)
- assert getcwd() == ORI_DIR
-
-
-def test_error_dictionary(test_dir_error):
- ext, test_dir = test_dir_error
- assert getcwd() == ORI_DIR
- test_dir = join(dico_dirs, test_dir)
- errno = []
- eolobj = load_rougail_object(test_dir, ext)
- if eolobj is None:
- return
- for i in listdir(test_dir):
- if i.startswith('errno_'):
- errno.append(int(i.split('_')[1]))
- if not errno:
- errno.append(0)
- with raises(DictConsistencyError) as err:
- launch_flattener(eolobj)
- save(test_dir, eolobj)
- msg = str(err)
- assert err.value.errno in errno, f'expected errno: {errno}, errno: {err.value.errno}, msg: {err}'
- assert getcwd() == ORI_DIR
+#def test_dictionary_multi(test_dir):
+# assert getcwd() == ORI_DIR
+# test_dir_ = join(dico_dirs, test_dir)
+# eolobj = load_rougail_object(test_dir_, multi=True)
+# if not eolobj:
+# return
+# #launch_flattener(eolobj, path_prefix='1')
+# #launch_flattener(eolobj, path_prefix='2')
+# save(test_dir_, eolobj, multi=True)
+# assert getcwd() == ORI_DIR
+#
+#
+#def test_error_dictionary(test_dir_error):
+# assert getcwd() == ORI_DIR
+# test_dir = join(dico_dirs, test_dir_error)
+# errno = []
+# eolobj = load_rougail_object(test_dir)
+# if eolobj is None:
+# return
+# for i in listdir(test_dir):
+# if i.startswith('errno_'):
+# errno.append(int(i.split('_')[1]))
+# if not errno:
+# errno.append(0)
+# with raises(DictConsistencyError) as err:
+# launch_flattener(eolobj)
+# save(test_dir, eolobj)
+# msg = str(err)
+# assert err.value.errno in errno, f'expected errno: {errno}, errno: {err.value.errno}, msg: {err}'
+# assert getcwd() == ORI_DIR
diff --git a/tests/test_doc.py b/tests/test_doc.py
new file mode 100644
index 000000000..4405b0dd7
--- /dev/null
+++ b/tests/test_doc.py
@@ -0,0 +1,61 @@
+from pathlib import Path
+from pytest import fixture, raises
+from shutil import rmtree
+from rougail import Rougail, RougailConfig
+
+doc = Path('doc')
+tests = Path('tests')
+tmp = tests / 'tmp'
+RougailConfig['dictionaries_dir'] = [str(tmp)]
+RougailConfig['functions_file'] = str(tests / 'eosfunc' / 'test.py')
+
+
+scripts = {}
+for filename in doc.glob('*/*.md'):
+ filename = str(filename)
+ with open(filename) as fh:
+ yaml = False
+ redefine = False
+ new_script = ''
+ for line in fh.readlines():
+ if new_script and line == '```\n':
+ scripts.setdefault(filename, [])
+ if redefine:
+ scripts[filename][-1].append(new_script)
+ else:
+ scripts[filename].append([new_script])
+ yaml = False
+ redefine = False
+ if yaml:
+ if line.strip() == 'redefine: true':
+ redefine = True
+ new_script += line
+ if line == '```yml\n':
+ yaml = True
+ new_script = ''
+scripts_list = [(filename, script) for filename, scripts_ in scripts.items() for script in scripts_]
+
+
+@fixture(scope="module", params=scripts_list)
+def test_dir(request):
+ return request.param
+
+
+def test_scripts(test_dir):
+ if tmp.is_dir():
+ rmtree(tmp)
+ tmp.mkdir()
+ for idx, content in enumerate(test_dir[1]):
+ if not content.startswith('---'):
+ raise Exception(f'not a valid template in {test_dir[0]}')
+ filename = tmp / f'0{idx}-base.yml'
+ with open(filename, 'w') as fh:
+ fh.write(content)
+ rougail = Rougail()
+ try:
+ config = rougail.get_config()
+ config.value.dict()
+ except Exception as err:
+ #rmtree(tmp)
+ raise Exception(f'error in {test_dir[0]}: {err}') from err
+ rmtree(tmp)
diff --git a/tests/test_upgrade.py b/tests/test_upgrade.py
index d1535edff..8715bd3ca 100644
--- a/tests/test_upgrade.py
+++ b/tests/test_upgrade.py
@@ -1,4 +1,4 @@
-from shutil import rmtree, copyfile, copytree
+from shutil import rmtree #, copyfile, copytree
from os import getcwd, makedirs
from os.path import isfile, join, isdir
from pytest import fixture, raises
@@ -8,6 +8,11 @@ from json import load
from rougail import RougailUpgrade, RougailConfig
from rougail.error import DictConsistencyError
+#================================================
+class Variable:
+ description: str
+#================================================
+#================================================
dico_dirs = 'tests/dictionaries_old'
@@ -21,10 +26,8 @@ for test in listdir(dico_dirs):
test_ok.add(test)
excludes = set([])
-#excludes = set(['01base_file_utfchar'])
test_ok -= excludes
-#test_ok = ['00load_autofreeze']
-#test_ok = []
+test_ok = ['10load_disabled_if_in_fill']
ORI_DIR = getcwd()
@@ -36,7 +39,7 @@ test_ok.sort()
if isdir(dest_dir):
rmtree(dest_dir)
makedirs(dest_dir)
-copyfile(join(dico_dirs, '__init__.py'), join(dest_dir, '__init__.py'))
+#copyfile(join(dico_dirs, '__init__.py'), join(dest_dir, '__init__.py'))
#RougailConfig['variable_namespace'] = 'configuration'
@@ -45,44 +48,76 @@ def test_dir(request):
return request.param
-def launch_test(test_dir):
- new_dest_dir = join(dest_dir, test_dir.rsplit('/', 1)[1])
- makedirs(new_dest_dir)
- upgrade = RougailUpgrade()
- try:
- upgrade.load_xml_from_folders(join(test_dir, 'xml'), new_dest_dir, RougailConfig['variable_namespace'], display=False)
- except Exception as err:
- # import traceback
- # traceback.print_exc()
- # print(f'cannot convert {test_dir}: {err}')
+def launch_test(test_dir, ext):
+ result_dest_dir = join(dico_dirs, test_dir.rsplit('/', 1)[1], 'result')
+ new_dest_dir = join(dico_dirs, test_dir.rsplit('/', 1)[1], dest_dir)
+ #FIXME
+ if isdir(new_dest_dir):
rmtree(new_dest_dir)
- copytree(test_dir, new_dest_dir)
- return
- subfolder = join(test_dir, 'subfolder')
- if isdir(subfolder):
- makedirs(join(new_dest_dir, 'subfolder'))
- upgrade.load_xml_from_folders(subfolder, join(new_dest_dir, 'subfolder'), RougailConfig['variable_namespace'], display=False)
- if isdir(join(test_dir, 'xml', 'extra_dirs')):
- extras = listdir(join(test_dir, 'extra_dirs'))
+ rougailconfig = RougailConfig.copy()
+ rougailconfig_dest = RougailConfig.copy()
+ rougailconfig_dest['functions_file'] = join(dico_dirs, '../eosfunc/test.py')
+ rougailconfig['dictionaries_dir'] = join(test_dir, 'xml')
+ rougailconfig_dest['dictionaries_dir'] = join(new_dest_dir, 'rougail')
+ rougailconfig_dest['services_dir'] = join(new_dest_dir, 'services')
+ rougailconfig['extra_dictionaries'] = {}
+ rougailconfig_dest['extra_dictionaries'] = {}
+ if isdir(join(test_dir, ext, 'extra_dirs')):
+ extras = listdir(join(test_dir, ext, 'extra_dirs'))
extras.sort()
for extra in extras:
- subfolder = join(test_dir, 'extra_dirs', extra)
+ subfolder = join(test_dir, ext, 'extra_dirs', extra)
if isdir(subfolder):
- makedirs(join(new_dest_dir, 'extra_dirs', extra))
- upgrade.load_xml_from_folders(subfolder, join(new_dest_dir, 'extra_dirs', extra), extra, display=False)
- # copy others files
- for filename in listdir(test_dir):
- src_filename = join(test_dir, filename)
- dst_filename = join(new_dest_dir, filename)
- if filename.startswith('errno_') or filename in ['__init__.py']:
- copyfile(src_filename, dst_filename)
- elif filename in ['tmpl', 'makedict', 'tiramisu', 'result', 'patches']:
- copytree(src_filename, dst_filename, symlinks=True)
- rmtree(dest_dir)
+ rougailconfig['extra_dictionaries'][extra] = [subfolder]
+ rougailconfig_dest['extra_dictionaries'][extra] = [join(new_dest_dir, extra)]
+ upgrade = RougailUpgrade(rougailconfig=rougailconfig)
+ upgrade.load_dictionaries(join(new_dest_dir, 'rougail'),
+ extra_dstfolder=new_dest_dir,
+ services_dstfolder=join(new_dest_dir, 'services'),
+ )
+ ori_lists = set()
+ find_files(result_dest_dir,
+ [],
+ ori_lists,
+ )
+ new_lists = set()
+ find_files(new_dest_dir,
+ [],
+ new_lists,
+ )
+ assert ori_lists == new_lists
+ for file in ori_lists:
+ ori_filename = join(result_dest_dir, file)
+ src_filename = join(new_dest_dir, file)
+ with open(ori_filename) as fh:
+ ori_file = fh.read()
+ with open(src_filename) as fh:
+ src_file = fh.read()
+ assert ori_file == src_file, f'file {ori_filename} and {src_filename} are differents'
+ #
+ rmtree(new_dest_dir)
+
+
+def find_files(dirname: str,
+ root: list,
+ files: set,
+ ) -> None:
+ for filename in listdir(dirname):
+ abs_dirname = join(dirname, filename)
+ root_file = root + [filename]
+ if isdir(join(dirname, filename)):
+ find_files(abs_dirname,
+ root_file,
+ files,
+ )
+ else:
+ files.add(join(*root_file))
def test_dictionary(test_dir):
assert getcwd() == ORI_DIR
test_dir = join(dico_dirs, test_dir)
- launch_test(test_dir)
+# FIXME for ext in ['xml', 'yml']:
+# launch_test(test_dir, ext)
+ launch_test(test_dir, 'xml')
assert getcwd() == ORI_DIR