diff options
Diffstat (limited to 'test/integration/targets/plugin_namespace')
5 files changed, 53 insertions, 0 deletions
diff --git a/test/integration/targets/plugin_namespace/aliases b/test/integration/targets/plugin_namespace/aliases new file mode 100644 index 0000000..8278ec8 --- /dev/null +++ b/test/integration/targets/plugin_namespace/aliases @@ -0,0 +1,2 @@ +shippable/posix/group3 +context/controller diff --git a/test/integration/targets/plugin_namespace/filter_plugins/test_filter.py b/test/integration/targets/plugin_namespace/filter_plugins/test_filter.py new file mode 100644 index 0000000..dca094b --- /dev/null +++ b/test/integration/targets/plugin_namespace/filter_plugins/test_filter.py @@ -0,0 +1,15 @@ +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + + +def filter_name(a): + return __name__ + + +class FilterModule(object): + def filters(self): + filters = { + 'filter_name': filter_name, + } + + return filters diff --git a/test/integration/targets/plugin_namespace/lookup_plugins/lookup_name.py b/test/integration/targets/plugin_namespace/lookup_plugins/lookup_name.py new file mode 100644 index 0000000..d0af703 --- /dev/null +++ b/test/integration/targets/plugin_namespace/lookup_plugins/lookup_name.py @@ -0,0 +1,9 @@ +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +from ansible.plugins.lookup import LookupBase + + +class LookupModule(LookupBase): + def run(self, terms, variables, **kwargs): + return [__name__] diff --git a/test/integration/targets/plugin_namespace/tasks/main.yml b/test/integration/targets/plugin_namespace/tasks/main.yml new file mode 100644 index 0000000..19bdd3a --- /dev/null +++ b/test/integration/targets/plugin_namespace/tasks/main.yml @@ -0,0 +1,11 @@ +- set_fact: + filter_name: "{{ 1 | filter_name }}" + lookup_name: "{{ lookup('lookup_name') }}" + test_name_ok: "{{ 1 is test_name_ok }}" + +- assert: + that: + # filter names are prefixed with a unique hash value to prevent shadowing of other plugins + - filter_name | regex_search('^ansible\.plugins\.filter\.[0-9]+_test_filter$') + - lookup_name == 'ansible.plugins.lookup.lookup_name' + - test_name_ok diff --git a/test/integration/targets/plugin_namespace/test_plugins/test_test.py b/test/integration/targets/plugin_namespace/test_plugins/test_test.py new file mode 100644 index 0000000..2a9d6ee --- /dev/null +++ b/test/integration/targets/plugin_namespace/test_plugins/test_test.py @@ -0,0 +1,16 @@ +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +import re + + +def test_name_ok(value): + # test names are prefixed with a unique hash value to prevent shadowing of other plugins + return bool(re.match(r'^ansible\.plugins\.test\.[0-9]+_test_test$', __name__)) + + +class TestModule: + def tests(self): + return { + 'test_name_ok': test_name_ok, + } |