diff --git a/src/rougail/output_ansible/config.py b/src/rougail/output_ansible/config.py index 30518db..54972a7 100644 --- a/src/rougail/output_ansible/config.py +++ b/src/rougail/output_ansible/config.py @@ -40,6 +40,7 @@ json: disabled: jinja: |- {{{{ step.output is propertyerror or (step.output != 'json' and step.output != 'ansible') }}}} + return_type: boolean description: {_('if ansible or json are not set in "step.output"')} """, diff --git a/tests/results/test_namespace/00_9default_calculation.json b/tests/results/test_namespace/00_9default_calculation.json index 1afb0ee..857a469 100644 --- a/tests/results/test_namespace/00_9default_calculation.json +++ b/tests/results/test_namespace/00_9default_calculation.json @@ -4,31 +4,31 @@ "GROUP1_01": { "ansible_host": "group1.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "GROUP2_01": { "ansible_host": "group2.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "GROUP2_02": { "ansible_host": "group3.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "group4.net": { "ansible_host": "group4.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "group5.net": { "ansible_host": "group5.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } } } diff --git a/tests/results/test_namespace/20_7help_family.json b/tests/results/test_namespace/20_7help_family.json new file mode 100644 index 0000000..2b4e75b --- /dev/null +++ b/tests/results/test_namespace/20_7help_family.json @@ -0,0 +1,84 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace/60_5family_dynamic_calc_description.json b/tests/results/test_namespace/60_5family_dynamic_calc_description.json new file mode 100644 index 0000000..7bb9b6e --- /dev/null +++ b/tests/results/test_namespace/60_5family_dynamic_calc_description.json @@ -0,0 +1,109 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "dynval1": { + "var": "string1" + }, + "dynval2": { + "var": "string1" + }, + "var1": "string1", + "var2": [ + "string1", + "string1" + ] + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "dynval1": { + "var": "string1" + }, + "dynval2": { + "var": "string1" + }, + "var1": "string1", + "var2": [ + "string1", + "string1" + ] + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "dynval1": { + "var": "string1" + }, + "dynval2": { + "var": "string1" + }, + "var1": "string1", + "var2": [ + "string1", + "string1" + ] + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "dynval1": { + "var": "string1" + }, + "dynval2": { + "var": "string1" + }, + "var1": "string1", + "var2": [ + "string1", + "string1" + ] + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "dynval1": { + "var": "string1" + }, + "dynval2": { + "var": "string1" + }, + "var1": "string1", + "var2": [ + "string1", + "string1" + ] + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_mandatory/20_7help_family.json b/tests/results/test_namespace_mandatory/20_7help_family.json new file mode 100644 index 0000000..2b4e75b --- /dev/null +++ b/tests/results/test_namespace_mandatory/20_7help_family.json @@ -0,0 +1,84 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_read_write/00_9default_calculation.json b/tests/results/test_namespace_read_write/00_9default_calculation.json index 1afb0ee..857a469 100644 --- a/tests/results/test_namespace_read_write/00_9default_calculation.json +++ b/tests/results/test_namespace_read_write/00_9default_calculation.json @@ -4,31 +4,31 @@ "GROUP1_01": { "ansible_host": "group1.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "GROUP2_01": { "ansible_host": "group2.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "GROUP2_02": { "ansible_host": "group3.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "group4.net": { "ansible_host": "group4.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "group5.net": { "ansible_host": "group5.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } } } diff --git a/tests/results/test_namespace_read_write/20_7help_family.json b/tests/results/test_namespace_read_write/20_7help_family.json new file mode 100644 index 0000000..296e672 --- /dev/null +++ b/tests/results/test_namespace_read_write/20_7help_family.json @@ -0,0 +1,84 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "family1": { + "var": null + }, + "family2": { + "var": null + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "family1": { + "var": null + }, + "family2": { + "var": null + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "family1": { + "var": null + }, + "family2": { + "var": null + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "family1": { + "var": null + }, + "family2": { + "var": null + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "family1": { + "var": null + }, + "family2": { + "var": null + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_read_write_mandatory/20_7help_family.json b/tests/results/test_namespace_read_write_mandatory/20_7help_family.json new file mode 100644 index 0000000..2b4e75b --- /dev/null +++ b/tests/results/test_namespace_read_write_mandatory/20_7help_family.json @@ -0,0 +1,84 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "family1": { + "var": "string1" + }, + "family2": { + "var": "string1" + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_read_write_mandatory_errors/00_9default_calculation.json b/tests/results/test_namespace_read_write_mandatory_errors/00_9default_calculation.json index 1afb0ee..857a469 100644 --- a/tests/results/test_namespace_read_write_mandatory_errors/00_9default_calculation.json +++ b/tests/results/test_namespace_read_write_mandatory_errors/00_9default_calculation.json @@ -4,31 +4,31 @@ "GROUP1_01": { "ansible_host": "group1.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "GROUP2_01": { "ansible_host": "group2.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "GROUP2_02": { "ansible_host": "group3.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "group4.net": { "ansible_host": "group4.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } }, "group5.net": { "ansible_host": "group5.net", "rougail": { - "variable": "string_1_True_None" + "variable": "string_1_True_" } } } diff --git a/tests/results/test_namespace_read_write_mandatory_errors/20_7help_family.json b/tests/results/test_namespace_read_write_mandatory_errors/20_7help_family.json new file mode 100644 index 0000000..a6dba31 --- /dev/null +++ b/tests/results/test_namespace_read_write_mandatory_errors/20_7help_family.json @@ -0,0 +1,18 @@ +{ + "_meta": { + "hostvars": { + "localhost": { + "_errors": [ + "The following variables are mandatory but have no value:", + " - rougail.family1.var", + " - rougail.family2.var" + ] + } + } + }, + "ungrouped": { + "hosts": [ + "localhost" + ] + } +} \ No newline at end of file diff --git a/tests/test_load.py b/tests/test_load.py index dbcc40a..e727d98 100644 --- a/tests/test_load.py +++ b/tests/test_load.py @@ -19,7 +19,7 @@ excludes = [] #] test_ok = get_structures_list(excludes) -#test_ok = [Path('../rougail-tests/structures/00_0version_underscore')] +# test_ok = [Path('../rougail-tests/structures/40_0leadership')] def idfn(fixture_value): @@ -57,7 +57,7 @@ def _test_structural_files(test_dir, namespace, ext, *, read_write=True, mandato ################################## rougail = Rougail(rougailconfig) config = rougail.run() - config.information.set("description_type", "name_and_description") + config.information.set("description_type", "path_and_description") ################################## if do_calc and (mandatory or not read_write): if mandatory: @@ -116,7 +116,7 @@ def test_warnings(): rougail = Rougail(rougailconfig) config = rougail.run() generated_user_data = RougailUserDataYaml(config, rougailconfig=rougailconfig).run() - err_warn = rougail.user_datas(generated_user_data) + err_warn = rougail.user_data(generated_user_data) output = RougailOutput( config=config, rougailconfig=rougailconfig, @@ -212,7 +212,7 @@ def test_no_warnings(): rougail = Rougail(rougailconfig) config = rougail.run() generated_user_data = RougailUserDataYaml(config, rougailconfig=rougailconfig).run() - err_warn = rougail.user_datas(generated_user_data) + err_warn = rougail.user_data(generated_user_data) output = RougailOutput( config=config, rougailconfig=rougailconfig,