From 27a125488311cc9c0b32d12e2100724b1191f0ef Mon Sep 17 00:00:00 2001 From: Sarabraj Singh Date: Tue, 25 May 2021 16:14:25 -0400 Subject: [PATCH] fixed ansible-test sanity import tests; removed sanity-ignore files --- .../plugins/lookup/schedule_rrule.py | 35 ++++++++----------- awx_collection/tests/sanity/ignore-2.10.txt | 16 --------- awx_collection/tests/sanity/ignore-2.11.txt | 1 - awx_collection/tests/sanity/ignore-2.9.txt | 10 ------ 4 files changed, 15 insertions(+), 47 deletions(-) delete mode 100644 awx_collection/tests/sanity/ignore-2.10.txt delete mode 100644 awx_collection/tests/sanity/ignore-2.11.txt delete mode 100644 awx_collection/tests/sanity/ignore-2.9.txt diff --git a/awx_collection/plugins/lookup/schedule_rrule.py b/awx_collection/plugins/lookup/schedule_rrule.py index 4b5dd7fe73..2021195ec8 100644 --- a/awx_collection/plugins/lookup/schedule_rrule.py +++ b/awx_collection/plugins/lookup/schedule_rrule.py @@ -84,35 +84,22 @@ _raw: - String in the rrule format type: string """ +import re +from ansible.module_utils.six import raise_from from ansible.plugins.lookup import LookupBase from ansible.errors import AnsibleError from datetime import datetime -import re +from dateutil import rrule from distutils.version import LooseVersion -missing_modules = [] try: import pytz -except ImportError: - missing_modules.append('pytz') - -try: from dateutil import rrule -except ImportError: - missing_modules.append('python.dateutil') - -# Validate the version of python.dateutil -try: - import dateutil - - if LooseVersion(dateutil.__version__) < LooseVersion("2.7.0"): - raise Exception -except Exception: - missing_modules.append('python.dateutil>=2.7.0') - -if len(missing_modules) > 0: - raise AnsibleError('You are missing the modules {0}'.format(', '.join(missing_modules))) +except ImportError as imp_exc: + LIBRARY_IMPORT_ERROR = imp_exc +else: + LIBRARY_IMPORT_ERROR = None class LookupModule(LookupBase): @@ -143,6 +130,14 @@ class LookupModule(LookupBase): 'last': -1, } + # plugin constructor + def __init__(self): + if self.LIBRARY_IMPORT_ERROR: + raise_from( + AnsibleError('{0}'.format(LIBRARY_IMPORT_ERROR)), + LIBRARY_IMPORT_ERROR + ) + @staticmethod def parse_date_time(date_string): try: diff --git a/awx_collection/tests/sanity/ignore-2.10.txt b/awx_collection/tests/sanity/ignore-2.10.txt deleted file mode 100644 index b990470a8d..0000000000 --- a/awx_collection/tests/sanity/ignore-2.10.txt +++ /dev/null @@ -1,16 +0,0 @@ -plugins/modules/receive.py validate-modules:deprecation-mismatch -plugins/modules/send.py validate-modules:deprecation-mismatch -plugins/modules/workflow_template.py validate-modules:deprecation-mismatch -plugins/modules/credential.py pylint:wrong-collection-deprecated-version-tag -plugins/modules/job_wait.py pylint:wrong-collection-deprecated-version-tag -plugins/modules/notification_template.py pylint:wrong-collection-deprecated-version-tag -plugins/inventory/controller.py pylint:raise-missing-from -plugins/inventory/controller.py pylint:super-with-arguments -plugins/lookup/schedule_rrule.py pylint:raise-missing-from -plugins/module_utils/controller_api.py pylint:super-with-arguments -plugins/module_utils/awxkit.py pylint:super-with-arguments -plugins/module_utils/tower_legacy.py pylint:super-with-arguments -plugins/module_utils/controller_module.py pylint:super-with-arguments -plugins/module_utils/controller_module.py pylint:raise-missing-from -test/awx/conftest.py pylint:raise-missing-from -plugins/module_utils/controller_api.py pep8:E203 diff --git a/awx_collection/tests/sanity/ignore-2.11.txt b/awx_collection/tests/sanity/ignore-2.11.txt deleted file mode 100644 index 6964b9b84c..0000000000 --- a/awx_collection/tests/sanity/ignore-2.11.txt +++ /dev/null @@ -1 +0,0 @@ -plugins/module_utils/controller_api.py pep8:E203 diff --git a/awx_collection/tests/sanity/ignore-2.9.txt b/awx_collection/tests/sanity/ignore-2.9.txt deleted file mode 100644 index f5e44180b6..0000000000 --- a/awx_collection/tests/sanity/ignore-2.9.txt +++ /dev/null @@ -1,10 +0,0 @@ -plugins/inventory/controller.py pylint:raise-missing-from -plugins/inventory/controller.py pylint:super-with-arguments -plugins/lookup/schedule_rrule.py pylint:raise-missing-from -plugins/module_utils/controller_api.py pylint:super-with-arguments -plugins/module_utils/awxkit.py pylint:super-with-arguments -plugins/module_utils/tower_legacy.py pylint:super-with-arguments -plugins/module_utils/controller_module.py pylint:super-with-arguments -plugins/module_utils/controller_module.py pylint:raise-missing-from -test/awx/conftest.py pylint:raise-missing-from -plugins/module_utils/controller_api.py pep8:E203 \ No newline at end of file