summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/jinja_plugins
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/jinja_plugins')
-rw-r--r--test/integration/targets/jinja_plugins/aliases2
-rw-r--r--test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/bad_collection_filter.py11
-rw-r--r--test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/bad_collection_filter2.py10
-rw-r--r--test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/good_collection_filter.py13
-rw-r--r--test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/test/bad_collection_test.py11
-rw-r--r--test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/test/good_collection_test.py13
-rw-r--r--test/integration/targets/jinja_plugins/filter_plugins/bad_filter.py11
-rw-r--r--test/integration/targets/jinja_plugins/filter_plugins/good_filter.py13
-rw-r--r--test/integration/targets/jinja_plugins/playbook.yml10
-rw-r--r--test/integration/targets/jinja_plugins/tasks/main.yml23
-rw-r--r--test/integration/targets/jinja_plugins/test_plugins/bad_test.py11
-rw-r--r--test/integration/targets/jinja_plugins/test_plugins/good_test.py13
12 files changed, 141 insertions, 0 deletions
diff --git a/test/integration/targets/jinja_plugins/aliases b/test/integration/targets/jinja_plugins/aliases
new file mode 100644
index 0000000..498fedd
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/aliases
@@ -0,0 +1,2 @@
+shippable/posix/group4
+context/controller
diff --git a/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/bad_collection_filter.py b/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/bad_collection_filter.py
new file mode 100644
index 0000000..3666953
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/bad_collection_filter.py
@@ -0,0 +1,11 @@
+# Copyright (c) 2021 Matt Martz <matt@sivel.net>
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+
+class FilterModule:
+ def filters(self):
+ raise TypeError('bad_collection_filter')
diff --git a/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/bad_collection_filter2.py b/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/bad_collection_filter2.py
new file mode 100644
index 0000000..96e726a
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/bad_collection_filter2.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2021 Matt Martz <matt@sivel.net>
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+
+class FilterModule:
+ pass
diff --git a/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/good_collection_filter.py b/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/good_collection_filter.py
new file mode 100644
index 0000000..e2e7ffc
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/filter/good_collection_filter.py
@@ -0,0 +1,13 @@
+# Copyright (c) 2021 Matt Martz <matt@sivel.net>
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+
+class FilterModule:
+ def filters(self):
+ return {
+ 'hello': lambda x: 'Hello, %s!' % x,
+ }
diff --git a/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/test/bad_collection_test.py b/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/test/bad_collection_test.py
new file mode 100644
index 0000000..9fce558
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/test/bad_collection_test.py
@@ -0,0 +1,11 @@
+# Copyright (c) 2021 Matt Martz <matt@sivel.net>
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+
+class TestModule:
+ def tests(self):
+ raise TypeError('bad_collection_test')
diff --git a/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/test/good_collection_test.py b/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/test/good_collection_test.py
new file mode 100644
index 0000000..a4ca2ff
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/collections/ansible_collections/foo/bar/plugins/test/good_collection_test.py
@@ -0,0 +1,13 @@
+# Copyright (c) 2021 Matt Martz <matt@sivel.net>
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+
+class TestModule:
+ def tests(self):
+ return {
+ 'world': lambda x: x.lower() == 'world',
+ }
diff --git a/test/integration/targets/jinja_plugins/filter_plugins/bad_filter.py b/test/integration/targets/jinja_plugins/filter_plugins/bad_filter.py
new file mode 100644
index 0000000..eebf39c
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/filter_plugins/bad_filter.py
@@ -0,0 +1,11 @@
+# Copyright (c) 2021 Matt Martz <matt@sivel.net>
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+
+class FilterModule:
+ def filters(self):
+ raise TypeError('bad_filter')
diff --git a/test/integration/targets/jinja_plugins/filter_plugins/good_filter.py b/test/integration/targets/jinja_plugins/filter_plugins/good_filter.py
new file mode 100644
index 0000000..e2e7ffc
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/filter_plugins/good_filter.py
@@ -0,0 +1,13 @@
+# Copyright (c) 2021 Matt Martz <matt@sivel.net>
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+
+class FilterModule:
+ def filters(self):
+ return {
+ 'hello': lambda x: 'Hello, %s!' % x,
+ }
diff --git a/test/integration/targets/jinja_plugins/playbook.yml b/test/integration/targets/jinja_plugins/playbook.yml
new file mode 100644
index 0000000..789be65
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/playbook.yml
@@ -0,0 +1,10 @@
+- hosts: localhost
+ gather_facts: false
+ tasks:
+ - assert:
+ that:
+ - '"World"|hello == "Hello, World!"'
+ - '"World" is world'
+
+ - '"World"|foo.bar.hello == "Hello, World!"'
+ - '"World" is foo.bar.world'
diff --git a/test/integration/targets/jinja_plugins/tasks/main.yml b/test/integration/targets/jinja_plugins/tasks/main.yml
new file mode 100644
index 0000000..d3d6e2e
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/tasks/main.yml
@@ -0,0 +1,23 @@
+- shell: ansible-playbook {{ verbosity }} playbook.yml
+ environment:
+ ANSIBLE_FORCE_COLOR: no
+ args:
+ chdir: '{{ role_path }}'
+ vars:
+ verbosity: "{{ '' if not ansible_verbosity else '-' ~ ('v' * ansible_verbosity) }}"
+ register: result
+
+- debug:
+ var: result
+
+- set_fact:
+ # NOTE: This will cram words together that were manually wrapped, which should be OK for this test.
+ stderr: "{{ result.stderr | replace('\n', '') }}"
+
+- assert:
+ that:
+ - '"[WARNING]: Skipping filter plugin" in stderr'
+ - '"[WARNING]: Skipping test plugin" in stderr'
+ - stderr|regex_findall('bad_collection_filter')|length == 3
+ - stderr|regex_findall('bad_collection_filter2')|length == 1
+ - stderr|regex_findall('bad_collection_test')|length == 2
diff --git a/test/integration/targets/jinja_plugins/test_plugins/bad_test.py b/test/integration/targets/jinja_plugins/test_plugins/bad_test.py
new file mode 100644
index 0000000..0cc7a5a
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/test_plugins/bad_test.py
@@ -0,0 +1,11 @@
+# Copyright (c) 2021 Matt Martz <matt@sivel.net>
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+
+class TestModule:
+ def tests(self):
+ raise TypeError('bad_test')
diff --git a/test/integration/targets/jinja_plugins/test_plugins/good_test.py b/test/integration/targets/jinja_plugins/test_plugins/good_test.py
new file mode 100644
index 0000000..a4ca2ff
--- /dev/null
+++ b/test/integration/targets/jinja_plugins/test_plugins/good_test.py
@@ -0,0 +1,13 @@
+# Copyright (c) 2021 Matt Martz <matt@sivel.net>
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+
+class TestModule:
+ def tests(self):
+ return {
+ 'world': lambda x: x.lower() == 'world',
+ }