From e26d3e03e5ddc3d6066a20a76401d636376aab4d Mon Sep 17 00:00:00 2001 From: Jeenitkumar Khatri <58591067+JkhatriInfobox@users.noreply.github.com> Date: Mon, 4 Dec 2023 14:36:51 +0530 Subject: [PATCH] [FIX] CI-RUN and Unit test (#204) --- .github/workflows/ansible-test.yml | 28 +++++++++++++++------ tests/unit/plugins/module_utils/test_api.py | 6 +++-- tests/unit/plugins/modules/utils.py | 6 +++-- tests/unit/requirements.txt | 2 +- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ansible-test.yml b/.github/workflows/ansible-test.yml index 7ccd9f66..cf8353b8 100644 --- a/.github/workflows/ansible-test.yml +++ b/.github/workflows/ansible-test.yml @@ -49,12 +49,16 @@ jobs: fail-fast: false matrix: python-version: ['3.8', '3.9', '3.10', '3.11'] - ansible-version: [stable-2.13, stable-2.14, stable-2.15, devel] + ansible-version: [stable-2.13, stable-2.14, stable-2.15, stable-2.16, devel] exclude: - ansible-version: devel python-version: '3.8' - ansible-version: devel python-version: '3.9' + - ansible-version: stable-2.16 + python-version: '3.8' + - ansible-version: stable-2.16 + python-version: '3.9' - ansible-version: stable-2.15 python-version: '3.8' - ansible-version: stable-2.14 @@ -80,8 +84,8 @@ jobs: - name: Setup Unit test Pre-requisites run: | ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz - git clone https://github.com/ansible/ansible.git - cp -rf ansible/test/units/compat /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/ + git clone https://github.com/ansible/ansible.git -b ${{ matrix.ansible-version }} + if [ "${{ matrix.ansible-version }}" != "devel" ]; then cp -rf ansible/test/units/compat /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/; fi cp -rf ansible/test/units/modules/utils.py /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/ sed -i 's/units/ansible_collections.infoblox.nios_modules.tests.unit/' /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/utils.py if [ -f /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/requirements.txt ]; then pip install -r /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/requirements.txt; fi @@ -91,7 +95,13 @@ jobs: - name: Generate coverage report run: | - if [ "${{ matrix.ansible-version }}" == "stable-2.13" ]; then pip install coverage==4.5.4; fi + if [ "${{ matrix.ansible-version }}" == "stable-2.13" ]; then + pip install coverage==4.5.4; + elif [ "${{ matrix.ansible-version }}" == "stable-2.14" ]; then + pip install coverage==6.5.0; + elif [ "${{ matrix.ansible-version }}" == "stable-2.15" ]; then + pip install coverage==6.5.0; + fi ansible-test coverage xml -v --group-by command --group-by version working-directory: /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/ @@ -109,12 +119,16 @@ jobs: fail-fast: false matrix: python-version: ['3.8', '3.9', '3.10', '3.11'] - ansible-version: [stable-2.13, stable-2.14, stable-2.15, devel] + ansible-version: [stable-2.13, stable-2.14, stable-2.15, stable-2.16, devel] exclude: - ansible-version: devel python-version: '3.8' - ansible-version: devel python-version: '3.9' + - ansible-version: stable-2.16 + python-version: '3.8' + - ansible-version: stable-2.16 + python-version: '3.9' - ansible-version: stable-2.15 python-version: '3.8' - ansible-version: stable-2.14 @@ -153,7 +167,7 @@ jobs: echo $ANSIBLE_NIOSSIM_CONTAINER ansible-test integration -v --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python-version }} --docker --coverage env: - ANSIBLE_NIOSSIM_CONTAINER: quay.io/ansible/nios-test-container:2.0.0 + ANSIBLE_NIOSSIM_CONTAINER: quay.io/ansible/nios-test-container:3.0.0 working-directory: /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/ # ansible-test support producing code coverage date @@ -178,7 +192,7 @@ jobs: strategy: fail-fast: false matrix: - ansible-version: [stable-2.13, stable-2.14, stable-2.15, devel] + ansible-version: [stable-2.13, stable-2.14, stable-2.15, stable-2.16, devel] steps: - name: Set up Python 3.10 diff --git a/tests/unit/plugins/module_utils/test_api.py b/tests/unit/plugins/module_utils/test_api.py index 9636c05b..18d02faf 100644 --- a/tests/unit/plugins/module_utils/test_api.py +++ b/tests/unit/plugins/module_utils/test_api.py @@ -5,8 +5,10 @@ __metaclass__ = type import copy - -from ansible_collections.infoblox.nios_modules.tests.unit.compat import unittest +try: + from ansible_collections.infoblox.nios_modules.tests.unit.compat import unittest +except ImportError: + import unittest from ansible_collections.infoblox.nios_modules.tests.unit.compat.mock import patch, MagicMock, Mock from ansible_collections.infoblox.nios_modules.plugins.module_utils import api diff --git a/tests/unit/plugins/modules/utils.py b/tests/unit/plugins/modules/utils.py index 6a00fd25..15e7ec14 100644 --- a/tests/unit/plugins/modules/utils.py +++ b/tests/unit/plugins/modules/utils.py @@ -4,8 +4,10 @@ __metaclass__ = type import json - -from ansible_collections.community.general.tests.unit.compat import unittest +try: + from ansible_collections.community.general.tests.unit.compat import unittest +except ImportError: + import unittest from ansible_collections.community.general.tests.unit.compat.mock import patch from ansible.module_utils import basic from ansible.module_utils.common.text.converters import to_bytes diff --git a/tests/unit/requirements.txt b/tests/unit/requirements.txt index 883f6010..9fc06457 100644 --- a/tests/unit/requirements.txt +++ b/tests/unit/requirements.txt @@ -5,4 +5,4 @@ pytest-xdist mock pytest-mock pytest-cov -coverage==6.5.0 +coverage