Skip to content

Commit 6d5e4c1

Browse files
committed
Add filter remove_keys integration test, fragment, and maintainer.
1 parent 0b004f1 commit 6d5e4c1

File tree

6 files changed

+95
-0
lines changed

6 files changed

+95
-0
lines changed

.github/BOTMETA.yml

+2
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,8 @@ files:
165165
maintainers: cfiehe
166166
$filters/lists_mergeby.py:
167167
maintainers: vbotka
168+
$filters/remove_keys.py:
169+
maintainers: vbotka
168170
$filters/lists_symmetric_difference.yml:
169171
maintainers: cfiehe
170172
$filters/lists_union.yml:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
major_changes:
2+
- New filter remove_keys.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) Ansible Project
2+
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
3+
# SPDX-License-Identifier: GPL-3.0-or-later
4+
5+
azp/posix/2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
# Copyright (c) Ansible Project
3+
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
4+
# SPDX-License-Identifier: GPL-3.0-or-later
5+
6+
- name: Test remove_keys
7+
import_tasks: remove_keys.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
# Copyright (c) Ansible Project
3+
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
4+
# SPDX-License-Identifier: GPL-3.0-or-later
5+
6+
- name: Debug ansible_version
7+
ansible.builtin.debug:
8+
var: ansible_version
9+
when: not quite_test | d(true) | bool
10+
tags: ansible_version
11+
12+
- name: Test remove keys equal (default)
13+
ansible.builtin.assert:
14+
that:
15+
- (rr | difference(result1) | length) == 0
16+
success_msg: |
17+
[OK] result:
18+
{{ rr | to_yaml }}
19+
fail_msg: |
20+
[ERR] result:
21+
{{ rr | to_yaml }}
22+
quiet: "{{ quite_test | d(true) | bool }}"
23+
vars:
24+
rr: "{{ list1 | community.general.remove_keys(target=tt) }}"
25+
tt: [k0_x0, k1_x1]
26+
tags: equal_default
27+
28+
- name: Test remove keys regex string
29+
ansible.builtin.assert:
30+
that:
31+
- (rr | difference(result1) | length) == 0
32+
success_msg: |
33+
[OK] result:
34+
{{ rr | to_yaml }}
35+
fail_msg: |
36+
[ERR] result:
37+
{{ rr | to_yaml }}
38+
quiet: "{{ quite_test | d(true) | bool }}"
39+
vars:
40+
rr: "{{ list1 | community.general.remove_keys(target=tt, matching_parameter=mp) }}"
41+
mp: regex
42+
tt: '^.*[01]_x.*$'
43+
tags: regex_string
44+
45+
- name: Test remove keys matching_parameter list
46+
ansible.builtin.assert:
47+
that:
48+
- (rr | difference(result1) | length) == 0
49+
success_msg: |
50+
[OK] result:
51+
{{ rr | to_yaml }}
52+
fail_msg: |
53+
[ERR] result:
54+
{{ rr | to_yaml }}
55+
quiet: "{{ quite_test | d(true) | bool }}"
56+
loop: "{{ targets }}"
57+
loop_control:
58+
label: "{{ item.mp }}: {{ item.tt }}"
59+
vars:
60+
rr: "{{ list1 | community.general.remove_keys(target=item.tt, matching_parameter=item.mp) }}"
61+
tags: matching_parameter lists
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
# Copyright (c) Ansible Project
3+
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
4+
# SPDX-License-Identifier: GPL-3.0-or-later
5+
6+
targets:
7+
- {mp: equal, tt: [k0_x0, k1_x1]}
8+
- {mp: starts_with, tt: [k0, k1]}
9+
- {mp: ends_with, tt: [x0, x1]}
10+
- {mp: regex, tt: ['^.*[01]_x.*$']}
11+
12+
list1:
13+
- {k0_x0: A0, k1_x1: B0, k2_x2: [C0], k3_x3: foo}
14+
- {k0_x0: A1, k1_x1: B1, k2_x2: [C1], k3_x3: bar}
15+
16+
result1:
17+
- {k2_x2: [C0], k3_x3: foo}
18+
- {k2_x2: [C1], k3_x3: bar}

0 commit comments

Comments
 (0)