mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-06-10 10:45:55 +00:00
Until now ansible-freeipa repository only had playbook tests. This commit introduces the ability of creating TestCase classes connected to the master host. This connection can be used to run commands in the managed host after the ansible playbook execution is the allowing the verification of the machine state.
56 lines
1.4 KiB
YAML
56 lines
1.4 KiB
YAML
|
|
parameters:
|
|
- name: build_number
|
|
type: string
|
|
- name: scenario
|
|
type: string
|
|
- name: ansible_version
|
|
type: string
|
|
default: ">=2.9,<2.10"
|
|
- name: python_version
|
|
type: string
|
|
default: 3.6
|
|
|
|
jobs:
|
|
- job: Test_PyTests
|
|
displayName: Run pytests on ${{ parameters.scenario }}
|
|
timeoutInMinutes: 120
|
|
steps:
|
|
- task: UsePythonVersion@0
|
|
inputs:
|
|
versionSpec: '${{ parameters.python_version }}'
|
|
|
|
- script: |
|
|
pip install \
|
|
"molecule[docker]>=3" \
|
|
"ansible${{ parameters.ansible_version }}"
|
|
displayName: Install molecule and Ansible
|
|
|
|
- script: pip install -r requirements-tests.txt
|
|
displayName: Install dependencies
|
|
|
|
- script: |
|
|
mkdir -p ~/.ansible/roles ~/.ansible/library ~/.ansible/module_utils
|
|
cp -a roles/* ~/.ansible/roles
|
|
cp -a plugins/modules/* ~/.ansible/library
|
|
cp -a plugins/module_utils/* ~/.ansible/module_utils
|
|
molecule create -s ${{ parameters.scenario }}
|
|
displayName: Setup test container
|
|
|
|
- script: |
|
|
pytest \
|
|
-m "not playbook" \
|
|
--verbose \
|
|
--color=yes \
|
|
--junit-xml=TEST-results-pytests.xml
|
|
displayName: Run tests
|
|
env:
|
|
IPA_SERVER_HOST: ${{ parameters.scenario }}
|
|
RUN_TESTS_IN_DOCKER: true
|
|
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
mergeTestResults: true
|
|
testRunTitle: PlaybookTests-Build${{ parameters.build_number }}
|
|
condition: succeededOrFailed()
|