You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/roles/test_jenkins_job/tasks/main.yml

173 lines
4.1 KiB
YAML

---
- name: setup
local_action:
module: jenkins_job
name: test.job
url: "{{ jenkins_url }}"
user: "{{ jenkins_user }}"
password: "{{ jenkins_password }}"
state: absent
register: result
- name: verify setup
assert:
that:
- result|success
- name: test fail on missing params
local_action:
module: jenkins_job
name: test.job
url: "{{ jenkins_url }}"
user: "{{ jenkins_user }}"
password: "{{ jenkins_password }}"
register: result
ignore_errors: true
- name: verify test fail on missing params
assert:
that:
- result|failed
- 'result.msg == "one of the following params is required on state=present: config,enabled"'
- name: test create a job
local_action:
module: jenkins_job
config: "{{ lookup('template', 'config.xml.j2') }}"
name: test.job
url: "{{ jenkins_url }}"
user: "{{ jenkins_user }}"
password: "{{ jenkins_password }}"
register: result
- name: verify test create a job
assert:
that:
- result|success
- result|changed
- result.enabled
- name: test create a job idempotence
local_action:
module: jenkins_job
config: "{{ lookup('template', 'config.xml.j2') }}"
name: test.job
url: "{{ jenkins_url }}"
user: "{{ jenkins_user }}"
password: "{{ jenkins_password }}"
register: result
- name: verify test create a job idempotence
assert:
that:
- result|success
- not result|changed
- result.enabled
- name: test create a enabled job idempotence
local_action:
module: jenkins_job
name: test.job
url: "{{ jenkins_url }}"
user: "{{ jenkins_user }}"
password: "{{ jenkins_password }}"
enabled: true
register: result
- name: verify test create a enabled job idempotence
assert:
that:
- result|success
- not result|changed
- result.enabled
- name: test update a job
local_action:
module: jenkins_job
config: "{{ lookup('template', 'config.xml.j2') }}"
name: test.job
url: "{{ jenkins_url }}"
user: "{{ jenkins_user }}"
password: "{{ jenkins_password }}"
register: result
vars:
jenkins_days_to_keep: 10
- name: verify test create a enabled job idempotence
assert:
that:
- result|success
- result|changed
- result.enabled
- name: test disable an exising job without config
local_action:
module: jenkins_job
name: test.job
url: "{{ jenkins_url }}"
user: "{{ jenkins_user }}"
password: "{{ jenkins_password }}"
enabled: false
register: result
- name: verify test disable an exising job without config
assert:
that:
- result|success
- result|changed
- not result.enabled
- name: test disable an exising job without config idempotence
local_action:
module: jenkins_job
name: test.job
url: "{{ jenkins_url }}"
user: "{{ jenkins_user }}"
password: "{{ jenkins_password }}"
enabled: false
register: result
- name: verify test disable an exising job without config idempotence
assert:
that:
- result|success
- not result|changed
- not result.enabled
- name: test reset to config job
local_action:
module: jenkins_job
config: "{{ lookup('template', 'config.xml.j2') }}"
name: test.job
url: "{{ jenkins_url }}"
user: "{{ jenkins_user }}"
password: "{{ jenkins_password }}"
register: result
- name: verify test reset to config job
assert:
that:
- result|success
- result|changed
- name: test remove job
local_action:
module: jenkins_job
name: test.job
url: "{{ jenkins_url }}"
user: "{{ jenkins_user }}"
password: "{{ jenkins_password }}"
state: absent
register: result
- name: verify test remove job
assert:
that:
- result|success
- result|changed
- name: test remove job idempotence
local_action:
module: jenkins_job
name: test.job
url: "{{ jenkins_url }}"
user: "{{ jenkins_user }}"
password: "{{ jenkins_password }}"
state: absent
register: result
- name: verify test remove job idempotence
assert:
that:
- result|success
- not result|changed