Blob Blame History Raw

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()