summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/module_defaults/test_action_groups.yml
diff options
context:
space:
mode:
authorSloane Hertel <19572925+s-hertel@users.noreply.github.com>2021-07-14 19:33:28 +0200
committerGitHub <noreply@github.com>2021-07-14 19:33:28 +0200
commit3b861abce13c541c1fc41e59d631e76d2564582a (patch)
treec60aa59565deaf77cca243aff3f784b6c08639c4 /test/integration/targets/module_defaults/test_action_groups.yml
parentfix option name for parsed (#75229) (diff)
downloadansible-3b861abce13c541c1fc41e59d631e76d2564582a.tar.xz
ansible-3b861abce13c541c1fc41e59d631e76d2564582a.zip
add action_groups support to collections (#74039)
* Canonicalize module_defaults actions and action_groups pre-fork and cache them on the play * Call get_action_args_with_defaults with the resolved FQCN plugin and don't pass the redirect list * Add validation for action_group metadata and a toggle to disable the warnings * Handle groups recursively referring to each other * Remove special-casing for non-fqcn actions in module_defaults groups * Error for actions and groups in module_defaults that can't be resolved * Error for fully templated module_defaults * Add integration tests for action_groups * Changelog
Diffstat (limited to 'test/integration/targets/module_defaults/test_action_groups.yml')
-rw-r--r--test/integration/targets/module_defaults/test_action_groups.yml132
1 files changed, 132 insertions, 0 deletions
diff --git a/test/integration/targets/module_defaults/test_action_groups.yml b/test/integration/targets/module_defaults/test_action_groups.yml
new file mode 100644
index 0000000000..33a3c9c5d9
--- /dev/null
+++ b/test/integration/targets/module_defaults/test_action_groups.yml
@@ -0,0 +1,132 @@
+---
+- hosts: localhost
+ gather_facts: no
+ tasks:
+ - name: test ansible.legacy short group name
+ module_defaults:
+ group/testgroup:
+ data: test
+ block:
+ - legacy_ping:
+ register: result
+ - assert:
+ that: "result.ping == 'pong'"
+
+ - ansible.legacy.legacy_ping:
+ register: result
+ - assert:
+ that: "result.ping == 'pong'"
+
+ - ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - ansible.legacy.ping: # resolves to ansible.builtin.ping
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - ansible.builtin.ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - formerly_core_ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - ansible.builtin.formerly_core_ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - name: test group that includes a legacy action
+ module_defaults:
+ # As of 2.12, legacy actions must be included in the action group definition
+ group/testlegacy:
+ data: test
+ block:
+ - legacy_ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - ansible.legacy.legacy_ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - name: test ansible.builtin fully qualified group name
+ module_defaults:
+ group/ansible.builtin.testgroup:
+ data: test
+ block:
+ # ansible.builtin does not contain ansible.legacy
+ - legacy_ping:
+ register: result
+ - assert:
+ that: "result.ping != 'test'"
+
+ # ansible.builtin does not contain ansible.legacy
+ - ansible.legacy.legacy_ping:
+ register: result
+ - assert:
+ that: "result.ping != 'test'"
+
+ - ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ # Resolves to ansible.builtin.ping
+ - ansible.legacy.ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - ansible.builtin.ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - formerly_core_ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - ansible.builtin.formerly_core_ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - name: test collection group name
+ module_defaults:
+ group/testns.testcoll.testgroup:
+ data: test
+ block:
+ # Plugin resolving to a different collection does not get the default
+ - ping:
+ register: result
+ - assert:
+ that: "result.ping != 'test'"
+
+ - formerly_core_ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - ansible.builtin.formerly_core_ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - testns.testcoll.ping:
+ register: result
+ - assert:
+ that: "result.ping == 'test'"
+
+ - metadata:
+ collections:
+ - testns.testcoll