--- - name: Generate names set_fact: project_name1: "AWX-Collection-tests-tower_project-project1-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}" project_name2: "AWX-Collection-tests-tower_project-project2-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}" project_name3: "AWX-Collection-tests-tower_project-project3-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}" jt1: "AWX-Collection-tests-tower_project-jt1-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}" scm_cred_name: "AWX-Collection-tests-tower_project-scm-cred-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}" org_name: "AWX-Collection-tests-tower_project-org-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}" cred_name: "AWX-Collection-tests-tower_project-cred-{{ lookup('password', '/dev/null chars=ascii_letters length=16') }}" - name: Create an SCM Credential tower_credential: name: "{{ scm_cred_name }}" organization: Default kind: scm register: result - assert: that: - result is changed - name: Create a git project without credentials without waiting tower_project: name: "{{ project_name1 }}" organization: Default scm_type: git scm_url: https://github.com/ansible/test-playbooks wait: false register: result - assert: that: - result is changed - name: Recreate the project to validate not changed tower_project: name: "{{ project_name1 }}" organization: Default scm_type: git scm_url: https://github.com/ansible/test-playbooks wait: true register: result - assert: that: - result is not changed - name: Create organizations tower_organization: name: "{{ org_name }}" register: result - assert: that: - result is changed - name: Create credential tower_credential: kind: scm name: "{{ cred_name }}" organization: "{{ org_name }}" register: result - assert: that: - result is changed - name: Create a new test project in check_mode tower_project: name: "{{ project_name2 }}" organization: "{{ org_name }}" scm_type: git scm_url: https://github.com/ansible/test-playbooks scm_credential: "{{ cred_name }}" check_mode: true - name: Create a new test project tower_project: name: "{{ project_name2 }}" organization: "{{ org_name }}" scm_type: git scm_url: https://github.com/ansible/test-playbooks scm_credential: "{{ cred_name }}" register: result # If this fails it may be because the check_mode task actually already created # the project, or it could be because the module actually failed somehow - assert: that: - "result is changed" - name: Check module fails with correct msg when given non-existing org as param tower_project: name: "{{ project_name2 }}" organization: Non_Existing_Org scm_type: git scm_url: https://github.com/ansible/test-playbooks scm_credential: "{{ cred_name }}" register: result ignore_errors: true - assert: that: - "result is failed" - "result is not changed" - "'Non_Existing_Org' in result.msg" - "result.total_results == 0" - name: Check module fails with correct msg when given non-existing credential as param tower_project: name: "{{ project_name2 }}" organization: "{{ org_name }}" scm_type: git scm_url: https://github.com/ansible/test-playbooks scm_credential: Non_Existing_Credential register: result ignore_errors: true - assert: that: - "result is failed" - "result is not changed" - "'Non_Existing_Credential' in result.msg" - "result.total_results == 0" - name: Create a git project without credentials without waiting tower_project: name: "{{ project_name3 }}" organization: Default scm_type: git scm_branch: empty_branch scm_url: https://github.com/ansible/test-playbooks allow_override: true register: result - assert: that: - result is changed - name: Create a job template that overrides the project scm_branch tower_job_template: name: "{{ jt1 }}" project: "{{ project_name3 }}" inventory: "Demo Inventory" scm_branch: master playbook: debug.yml - name: Launch "{{ jt1 }}" tower_job_launch: job_template: "{{ jt1 }}" register: result - assert: that: - result is changed - name: "wait for job {{ result.id }}" tower_job_wait: job_id: "{{ result.id }}" register: job - assert: that: - job is successful - name: Delete the test job_template tower_job_template: name: "{{ jt1 }}" project: "{{ project_name3 }}" inventory: "Demo Inventory" state: absent - name: Delete the test project 3 tower_project: name: "{{ project_name3 }}" organization: Default state: absent - name: Delete the test project 2 tower_project: name: "{{ project_name2 }}" organization: "{{ org_name }}" state: absent - name: Delete the SCM Credential tower_credential: name: "{{ scm_cred_name }}" organization: Default kind: scm state: absent register: result - assert: that: - result is changed - name: Delete the test project 1 tower_project: name: "{{ project_name1 }}" organization: Default state: absent register: result - assert: that: - result is changed - name: Delete credential tower_credential: kind: scm name: "{{ cred_name }}" organization: "{{ org_name }}" state: absent register: result - assert: that: - result is changed - name: Delete the organization tower_organization: name: "{{ org_name }}" state: absent register: result - assert: that: - result is changed