mirror of
https://github.com/containers/ansible-podman-collections.git
synced 2026-02-04 07:11:49 +00:00
Add unittests for Ansible Podman modules (#504)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
This commit is contained in:
parent
9e92a6e90c
commit
c952149603
3 changed files with 82 additions and 0 deletions
59
.github/workflows/unittests.yml
vendored
Normal file
59
.github/workflows/unittests.yml
vendored
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
name: Unittests
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
schedule:
|
||||||
|
- cron: 3 0 * * * # Run daily at 0:03 UTC
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-collection-artifact:
|
||||||
|
name: Test
|
||||||
|
runs-on: ${{ matrix.runner-os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
runner-os:
|
||||||
|
- ubuntu-22.04
|
||||||
|
# ansible-version:
|
||||||
|
# - git+https://github.com/ansible/ansible.git@stable-2.13
|
||||||
|
runner-python-version:
|
||||||
|
- 3.9
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Check out ${{ github.repository }} on disk
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Python ${{ matrix.runner-python-version }}
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.runner-python-version }}
|
||||||
|
|
||||||
|
- name: Set up pip cache
|
||||||
|
uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ~/.cache/pip
|
||||||
|
key: ${{ runner.os }}-pip-${{ hashFiles('tests/sanity/requirements.txt') }}-${{ hashFiles('tests/unit/requirements.txt') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pip-
|
||||||
|
${{ runner.os }}-
|
||||||
|
|
||||||
|
- name: Install requirements for tests
|
||||||
|
run: >-
|
||||||
|
python -m pip install --user -r test-requirements.txt
|
||||||
|
|
||||||
|
- name: Build a collection tarball
|
||||||
|
run: >-
|
||||||
|
~/.local/bin/ansible-galaxy collection build --output-path
|
||||||
|
"${GITHUB_WORKSPACE}/.cache/collection-tarballs"
|
||||||
|
|
||||||
|
- name: Install the collection tarball
|
||||||
|
run: >-
|
||||||
|
~/.local/bin/ansible-galaxy collection install ${GITHUB_WORKSPACE}/.cache/collection-tarballs/*.tar.gz
|
||||||
|
|
||||||
|
- name: Run collection unit tests
|
||||||
|
run: >-
|
||||||
|
~/.local/bin/ansible-test units
|
||||||
|
--python "${{ matrix.runner-python-version }}" -vvv
|
||||||
|
tests/unit/plugins/modules/
|
||||||
|
working-directory: >-
|
||||||
|
/home/runner/.ansible/collections/ansible_collections/containers/podman
|
||||||
4
test-requirements.txt
Normal file
4
test-requirements.txt
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
ansible-core
|
||||||
|
pytest
|
||||||
|
pytest-forked
|
||||||
|
pytest-xdist
|
||||||
19
tests/unit/plugins/modules/test_common.py
Normal file
19
tests/unit/plugins/modules/test_common.py
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
from __future__ import (absolute_import, division, print_function)
|
||||||
|
__metaclass__ = type
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from ansible_collections.containers.podman.plugins.module_utils.podman.common import (
|
||||||
|
lower_keys,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('test_input, expected', [
|
||||||
|
(["AAA", "BBB"], ["AAA", "BBB"]),
|
||||||
|
("AAQQ", "AAQQ"),
|
||||||
|
({"AAA": "AaaAa", "11": 22, "AbCdEf": None, "bbb": "aaaAA"},
|
||||||
|
{"aaa": "AaaAa", "11": 22, "abcdef": None, "bbb": "aaaAA"})
|
||||||
|
])
|
||||||
|
def test_lower_keys(test_input, expected):
|
||||||
|
print(lower_keys.__code__.co_filename)
|
||||||
|
assert lower_keys(test_input) == expected
|
||||||
Loading…
Add table
Add a link
Reference in a new issue