summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/dict_transformations/tasks/test_convert_snake_case.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/dict_transformations/tasks/test_convert_snake_case.yml')
-rw-r--r--test/integration/targets/dict_transformations/tasks/test_convert_snake_case.yml35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/integration/targets/dict_transformations/tasks/test_convert_snake_case.yml b/test/integration/targets/dict_transformations/tasks/test_convert_snake_case.yml
new file mode 100644
index 0000000..cf700bc
--- /dev/null
+++ b/test/integration/targets/dict_transformations/tasks/test_convert_snake_case.yml
@@ -0,0 +1,35 @@
+- convert_snake_case:
+ data: {'TOPLevelKey': {'NESTEDKey': 'DoNotConvert'}}
+ register: result
+
+- assert:
+ that:
+ - "result.data == {'top_level_key': {'nested_key': 'DoNotConvert'}}"
+
+- convert_snake_case:
+ data: {'TOPLevelKey': {'NESTEDKey': 'DoNotConvert'}}
+ reversible: True
+ register: result
+
+- assert:
+ that:
+ - "result.data == {'t_o_p_level_key': {'n_e_s_t_e_d_key': 'DoNotConvert'}}"
+
+- convert_snake_case:
+ data: {'Results': [{'IAMUser': 'UserName', 'Tags': {'DoConvert': 'DoNotConvert'}}], 'Tags': {'DoNotConvert': 'DoNotConvert'}}
+ reversible: True
+ ignore_list: ['Tags'] # Ignore top level 'Tags' key if found
+ register: result
+
+- assert:
+ that:
+ - "result.data == {'results': [{'i_a_m_user': 'UserName', 'tags': {'do_convert': 'DoNotConvert'}}], 'tags': {'DoNotConvert': 'DoNotConvert'}}"
+
+- name: Test converting dict keys in lists within lists
+ convert_snake_case:
+ data: {'Results': [{'Changes': [{'DoConvert': 'DoNotConvert', 'Details': ['DoNotConvert']}]}]}
+ register: result
+
+- assert:
+ that:
+ - "result.data == {'results': [{'changes': [{'do_convert': 'DoNotConvert', 'details': ['DoNotConvert']}]}]}"