summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/collections/test_task_resolved_plugin
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/collections/test_task_resolved_plugin')
-rw-r--r--test/integration/targets/collections/test_task_resolved_plugin/action_plugins/legacy_action.py14
-rw-r--r--test/integration/targets/collections/test_task_resolved_plugin/callback_plugins/display_resolved_action.py37
-rw-r--r--test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/meta/runtime.yml7
-rw-r--r--test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/plugins/action/collection_action.py14
-rw-r--r--test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/plugins/modules/collection_module.py29
-rw-r--r--test/integration/targets/collections/test_task_resolved_plugin/fqcn.yml14
-rw-r--r--test/integration/targets/collections/test_task_resolved_plugin/library/legacy_module.py29
-rw-r--r--test/integration/targets/collections/test_task_resolved_plugin/unqualified.yml8
-rw-r--r--test/integration/targets/collections/test_task_resolved_plugin/unqualified_and_collections_kw.yml14
9 files changed, 166 insertions, 0 deletions
diff --git a/test/integration/targets/collections/test_task_resolved_plugin/action_plugins/legacy_action.py b/test/integration/targets/collections/test_task_resolved_plugin/action_plugins/legacy_action.py
new file mode 100644
index 0000000..fa4d514
--- /dev/null
+++ b/test/integration/targets/collections/test_task_resolved_plugin/action_plugins/legacy_action.py
@@ -0,0 +1,14 @@
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+from ansible.plugins.action import ActionBase
+
+
+class ActionModule(ActionBase):
+ TRANSFERS_FILES = False
+ _VALID_ARGS = frozenset()
+
+ def run(self, tmp=None, task_vars=None):
+ return {'changed': False}
diff --git a/test/integration/targets/collections/test_task_resolved_plugin/callback_plugins/display_resolved_action.py b/test/integration/targets/collections/test_task_resolved_plugin/callback_plugins/display_resolved_action.py
new file mode 100644
index 0000000..23cce10
--- /dev/null
+++ b/test/integration/targets/collections/test_task_resolved_plugin/callback_plugins/display_resolved_action.py
@@ -0,0 +1,37 @@
+# (c) 2020 Ansible Project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+DOCUMENTATION = '''
+ name: display_resolved_action
+ type: aggregate
+ short_description: Displays the requested and resolved actions at the end of a playbook.
+ description:
+ - Displays the requested and resolved actions in the format "requested == resolved".
+ requirements:
+ - Enable in configuration.
+'''
+
+from ansible import constants as C
+from ansible.plugins.callback import CallbackBase
+
+
+class CallbackModule(CallbackBase):
+
+ CALLBACK_VERSION = 2.0
+ CALLBACK_TYPE = 'aggregate'
+ CALLBACK_NAME = 'display_resolved_action'
+ CALLBACK_NEEDS_ENABLED = True
+
+ def __init__(self, *args, **kwargs):
+ super(CallbackModule, self).__init__(*args, **kwargs)
+ self.requested_to_resolved = {}
+
+ def v2_playbook_on_task_start(self, task, is_conditional):
+ self.requested_to_resolved[task.action] = task.resolved_action
+
+ def v2_playbook_on_stats(self, stats):
+ for requested, resolved in self.requested_to_resolved.items():
+ self._display.display("%s == %s" % (requested, resolved), screen_only=True)
diff --git a/test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/meta/runtime.yml b/test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/meta/runtime.yml
new file mode 100644
index 0000000..8c27dba
--- /dev/null
+++ b/test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/meta/runtime.yml
@@ -0,0 +1,7 @@
+plugin_routing:
+ modules:
+ formerly_module:
+ redirect: test_ns.test_coll.collection_module
+ action:
+ formerly_action:
+ redirect: test_ns.test_coll.collection_action
diff --git a/test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/plugins/action/collection_action.py b/test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/plugins/action/collection_action.py
new file mode 100644
index 0000000..fa4d514
--- /dev/null
+++ b/test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/plugins/action/collection_action.py
@@ -0,0 +1,14 @@
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+from ansible.plugins.action import ActionBase
+
+
+class ActionModule(ActionBase):
+ TRANSFERS_FILES = False
+ _VALID_ARGS = frozenset()
+
+ def run(self, tmp=None, task_vars=None):
+ return {'changed': False}
diff --git a/test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/plugins/modules/collection_module.py b/test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/plugins/modules/collection_module.py
new file mode 100644
index 0000000..8f31226
--- /dev/null
+++ b/test/integration/targets/collections/test_task_resolved_plugin/collections/ansible_collections/test_ns/test_coll/plugins/modules/collection_module.py
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import absolute_import, division, print_function
+__metaclass__ = type
+
+DOCUMENTATION = '''
+---
+module: collection_module
+short_description: A module to test a task's resolved action name.
+description: A module to test a task's resolved action name.
+options: {}
+author: Ansible Core Team
+notes:
+ - Supports C(check_mode).
+'''
+
+from ansible.module_utils.basic import AnsibleModule
+
+
+def main():
+ module = AnsibleModule(supports_check_mode=True, argument_spec={})
+ module.exit_json(changed=False)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/test/integration/targets/collections/test_task_resolved_plugin/fqcn.yml b/test/integration/targets/collections/test_task_resolved_plugin/fqcn.yml
new file mode 100644
index 0000000..ab9e925
--- /dev/null
+++ b/test/integration/targets/collections/test_task_resolved_plugin/fqcn.yml
@@ -0,0 +1,14 @@
+---
+- hosts: localhost
+ gather_facts: no
+ tasks:
+ - ansible.legacy.legacy_action:
+ - ansible.legacy.legacy_module:
+ - ansible.legacy.debug:
+ - ansible.legacy.ping:
+ - ansible.builtin.debug:
+ - ansible.builtin.ping:
+ - test_ns.test_coll.collection_action:
+ - test_ns.test_coll.collection_module:
+ - test_ns.test_coll.formerly_action:
+ - test_ns.test_coll.formerly_module:
diff --git a/test/integration/targets/collections/test_task_resolved_plugin/library/legacy_module.py b/test/integration/targets/collections/test_task_resolved_plugin/library/legacy_module.py
new file mode 100644
index 0000000..4fd7587
--- /dev/null
+++ b/test/integration/targets/collections/test_task_resolved_plugin/library/legacy_module.py
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import absolute_import, division, print_function
+__metaclass__ = type
+
+DOCUMENTATION = '''
+---
+module: legacy_module
+short_description: A module to test a task's resolved action name.
+description: A module to test a task's resolved action name.
+options: {}
+author: Ansible Core Team
+notes:
+ - Supports C(check_mode).
+'''
+
+from ansible.module_utils.basic import AnsibleModule
+
+
+def main():
+ module = AnsibleModule(supports_check_mode=True, argument_spec={})
+ module.exit_json(changed=False)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/test/integration/targets/collections/test_task_resolved_plugin/unqualified.yml b/test/integration/targets/collections/test_task_resolved_plugin/unqualified.yml
new file mode 100644
index 0000000..076b8cc
--- /dev/null
+++ b/test/integration/targets/collections/test_task_resolved_plugin/unqualified.yml
@@ -0,0 +1,8 @@
+---
+- hosts: localhost
+ gather_facts: no
+ tasks:
+ - legacy_action:
+ - legacy_module:
+ - debug:
+ - ping:
diff --git a/test/integration/targets/collections/test_task_resolved_plugin/unqualified_and_collections_kw.yml b/test/integration/targets/collections/test_task_resolved_plugin/unqualified_and_collections_kw.yml
new file mode 100644
index 0000000..5af4eda
--- /dev/null
+++ b/test/integration/targets/collections/test_task_resolved_plugin/unqualified_and_collections_kw.yml
@@ -0,0 +1,14 @@
+---
+- hosts: localhost
+ gather_facts: no
+ collections:
+ - test_ns.test_coll
+ tasks:
+ - legacy_action:
+ - legacy_module:
+ - debug:
+ - ping:
+ - collection_action:
+ - collection_module:
+ - formerly_action:
+ - formerly_module: