From 133a29acb4ab06ccc881dd851febfd426b17ead5 Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Fri, 12 Feb 2021 23:03:57 -0800 Subject: [PATCH] Add test to verify pkg_resources imports work. --- .../integration/targets/pkg_resources/aliases | 1 + .../lookup_plugins/check_pkg_resources.py | 23 +++++++++++++++++++ .../targets/pkg_resources/tasks/main.yml | 3 +++ 3 files changed, 27 insertions(+) create mode 100644 test/integration/targets/pkg_resources/aliases create mode 100644 test/integration/targets/pkg_resources/lookup_plugins/check_pkg_resources.py create mode 100644 test/integration/targets/pkg_resources/tasks/main.yml diff --git a/test/integration/targets/pkg_resources/aliases b/test/integration/targets/pkg_resources/aliases new file mode 100644 index 00000000000..a6dafcf8cd8 --- /dev/null +++ b/test/integration/targets/pkg_resources/aliases @@ -0,0 +1 @@ +shippable/posix/group1 diff --git a/test/integration/targets/pkg_resources/lookup_plugins/check_pkg_resources.py b/test/integration/targets/pkg_resources/lookup_plugins/check_pkg_resources.py new file mode 100644 index 00000000000..9f1c5c0b193 --- /dev/null +++ b/test/integration/targets/pkg_resources/lookup_plugins/check_pkg_resources.py @@ -0,0 +1,23 @@ +""" +This test case verifies that pkg_resources imports from ansible plugins are functional. + +If pkg_resources is not installed this test will succeed. +If pkg_resources is installed but is unable to function, this test will fail. + +One known failure case this test can detect is when ansible declares a __requires__ and then tests are run without an egg-info directory. +""" +from __future__ import absolute_import, division, print_function +__metaclass__ = type + +# noinspection PyUnresolvedReferences +try: + from pkg_resources import Requirement +except ImportError: + Requirement = None + +from ansible.plugins.lookup import LookupBase + + +class LookupModule(LookupBase): + def run(self, terms, variables=None, **kwargs): + return [] diff --git a/test/integration/targets/pkg_resources/tasks/main.yml b/test/integration/targets/pkg_resources/tasks/main.yml new file mode 100644 index 00000000000..b19d0ebd5ab --- /dev/null +++ b/test/integration/targets/pkg_resources/tasks/main.yml @@ -0,0 +1,3 @@ +- name: Verify that pkg_resources imports are functional + debug: + msg: "{{ lookup('check_pkg_resources') }}"