Skip to content

Commit 6c1c3a4

Browse files
vbotkaroverflowpre-commit-ci[bot]
authored
remove_keys: Add complex integration tests. (#204)
* remove_keys: Add complex integration tests. * Changelog * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix lint * fix more lint * rewrite test * fix lint * fix lint again * fix lint final * fix lint warnings * remove unnecessary file * fix spacing * added seprate file for vars * fix intergration tests --------- Co-authored-by: Vinay M <63404819+roverflow@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: roverflow <roverflow5@gmail.com>
1 parent 4133923 commit 6c1c3a4

File tree

3 files changed

+165
-0
lines changed

3 files changed

+165
-0
lines changed

changelogs/fragments/204.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
trivial:
3+
- Add integration tests for remove_keys
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
---
2+
- name: Include expected output data
3+
ansible.builtin.include_vars:
4+
file: complex.yaml
5+
6+
- name: Test for remove_keys
7+
vars:
8+
target:
9+
- { p3: a }
10+
- { p3: b }
11+
- { p3: c }
12+
tags: remove_keys
13+
block:
14+
- name: Test remove_keys debug
15+
ansible.builtin.debug:
16+
msg: "{{ l1 | ansible.utils.remove_keys(target=['p1', 'p2']) }}"
17+
register: result_l1
18+
- name: Test remove_keys assert
19+
ansible.builtin.assert:
20+
that:
21+
- result_l1["msg"] == target
22+
23+
- name: Test map remove_keys
24+
vars:
25+
target:
26+
- - { p3: a }
27+
- { p3: b }
28+
- { p3: c }
29+
- - { p3: a }
30+
- { p3: b }
31+
- { p3: c }
32+
- - { p3: a }
33+
- { p3: b }
34+
- { p3: c }
35+
tags: remove_keys
36+
block:
37+
- name: Test remove_keys map debug
38+
ansible.builtin.debug:
39+
msg: "{{ l2 | map('ansible.utils.remove_keys', target=['p1', 'p2']) | list }}"
40+
register: result_l2
41+
- name: Convert to yaml
42+
ansible.builtin.debug:
43+
var: result_l2|to_yaml
44+
when: debug_test|d(false)|bool
45+
- name: Test remove_keys map assert
46+
ansible.builtin.assert:
47+
that:
48+
- result_l2["msg"] == target
49+
50+
- name: Test remove_keys starts_with
51+
vars:
52+
target:
53+
- { p3: a }
54+
- { p3: b }
55+
- { p3: c }
56+
tags: remove_keys_starts_with_2
57+
block:
58+
- name: Test remove_keys starts_with debug msg
59+
ansible.builtin.debug:
60+
msg: "{{ l1 | ansible.utils.remove_keys(target=['p1', 'p2'], matching_parameter='starts_with') }}"
61+
register: result_3
62+
- name: Test remove_keys starts_with convert to yaml
63+
ansible.builtin.debug:
64+
var: result_3|to_yaml
65+
when: debug_test|d(false)|bool
66+
- name: Test remove_keys assert
67+
ansible.builtin.assert:
68+
that: result_3["msg"] == target
69+
70+
- name: Test remove_keys starts_with 'p'
71+
tags: remove_keys_starts_with_1
72+
block:
73+
- name: Test remove_keys starts_with 'p' debug
74+
ansible.builtin.debug:
75+
msg: "{{ l1 | ansible.utils.remove_keys(target=['p'], matching_parameter='starts_with') }}"
76+
register: result_4
77+
- name: Test remove_keys starts_with 'p' convert to yaml
78+
ansible.builtin.debug:
79+
var: result_4|to_yaml
80+
when: debug_test|d(false)|bool
81+
- name: Test remove_keys assert
82+
ansible.builtin.assert:
83+
that: result_4["msg"] == []
84+
85+
- name: Test remove_keys ends_with
86+
vars:
87+
target:
88+
- { p3: a }
89+
- { p3: b }
90+
- { p3: c }
91+
tags: remove_keys_ends_with_2
92+
block:
93+
- name: Test remove_keys ends_with
94+
ansible.builtin.debug:
95+
msg: "{{ l1 | ansible.utils.remove_keys(target=['p1', 'p2'], matching_parameter='ends_with') }}"
96+
register: result_5
97+
- name: Test remove_keys ends_with conver to yaml
98+
ansible.builtin.debug:
99+
var: result_5|to_yaml
100+
when: debug_test|d(false)|bool
101+
- name: Test remove_keys ends_with assert
102+
ansible.builtin.assert:
103+
that: result_5["msg"] == target
104+
105+
- name: Test remove_keys ends_with '2'
106+
vars:
107+
target:
108+
- { p1: a, p3: a }
109+
- { p1: b, p3: b }
110+
- { p1: c, p3: c }
111+
tags: remove_keys_ends_with_1
112+
block:
113+
- name: Test remove_keys ends_with '2' debug
114+
ansible.builtin.debug:
115+
msg: "{{ l1 | ansible.utils.remove_keys(target=['2'], matching_parameter='ends_with') }}"
116+
register: result_6
117+
- name: Test remove_keys ends_with '2' debug convert to yaml
118+
ansible.builtin.debug:
119+
var: result_6|to_yaml
120+
when: debug_test|d(false)|bool
121+
- name: Test remove_keys ends_with '2' assert
122+
ansible.builtin.assert:
123+
that: result_6["msg"] == target
124+
125+
- name: Test remove_keys regex
126+
vars:
127+
target:
128+
- { p3: a }
129+
- { p3: b }
130+
- { p3: c }
131+
tags: remove_keys_regex
132+
block:
133+
- name: Test remove_keys regex debug
134+
ansible.builtin.debug:
135+
msg: "{{ l1 | ansible.utils.remove_keys(target=['p1', 'p2'], matching_parameter='regex') }}"
136+
register: result_7
137+
- name: Test remove_keys regex debug conver to yaml
138+
ansible.builtin.debug:
139+
var: result_7|to_yaml
140+
when: debug_test|d(false)|bool
141+
- name: Test remove_keys regex assert
142+
ansible.builtin.assert:
143+
that: result_7["msg"] == target
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
l1:
3+
- { p1: a, p2: a, p3: a }
4+
- { p1: b, p2: b, p3: b }
5+
- { p1: c, p2: c, p3: c }
6+
l2:
7+
- - { p1: a, p2: a, p3: a }
8+
- { p1: b, p2: b, p3: b }
9+
- { p1: c, p2: c, p3: c }
10+
- - { p1: a, p2: a, p3: a }
11+
- { p1: b, p2: b, p3: b }
12+
- { p1: c, p2: c, p3: c }
13+
- - { p1: a, p2: a, p3: a }
14+
- { p1: b, p2: b, p3: b }
15+
- { p1: c, p2: c, p3: c }
16+
l3:
17+
- { p1_key_o1: a, p2_key_o2: a, p3_key_o3: a }
18+
- { p1_key_o4: b, p2_key_o5: b, p3_key_o6: b }
19+
- { p1_key_o7: c, p2_key_o8: c, p3_key_o9: c }

0 commit comments

Comments
 (0)