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/legacy/roles/test_gcp_healthcheck/tasks/main.yml

177 lines
5.4 KiB
YAML

# GCP Healthcheck Integration Tests.
######
# ============================================================
- name: param check
# ============================================================
gcp_healthcheck:
service_account_email: "{{ service_account_email }}"
credentials_file: "{{ credentials_file }}"
project_id: "{{ project_id }}"
healthcheck_name: "{{ http_healthcheck }}"
healthcheck_type: HTTP
host_header: my-host
request_path: /hc
check_interval: 10
timeout: 30
unhealthy_threshold: 2
healthy_threshold: 1
state: present
ignore_errors: True
register: result
- name: check interval
assert:
that:
'result.msg == "timeout (30) is greater than check_interval (10)"'
# ============================================================
- name: create "{{ http_healthcheck }}"
# ============================================================
gcp_healthcheck:
service_account_email: "{{ service_account_email }}"
credentials_file: "{{ credentials_file }}"
project_id: "{{ project_id }}"
healthcheck_name: "{{ http_healthcheck }}"
healthcheck_type: HTTP
host_header: my-host
request_path: /hc
check_interval: 5
timeout: 5
unhealthy_threshold: 2
healthy_threshold: 1
state: present
register: result
- name: assert create
assert:
that:
- 'result.state == "present"'
- 'result.changed'
# ============================================================
- name: "update {{ http_healthcheck }}, no change"
# ============================================================
gcp_healthcheck:
service_account_email: "{{ service_account_email }}"
credentials_file: "{{ credentials_file }}"
project_id: "{{ project_id }}"
healthcheck_name: "{{ http_healthcheck }}"
healthcheck_type: HTTP
host_header: my-host
request_path: /hc
check_interval: 5
timeout: 5
unhealthy_threshold: 2
healthy_threshold: 1
state: present
register: result
- name: assert update no change
assert:
that:
- 'result.state == "present"'
- 'not result.changed'
- 'result.port == 80'
# ============================================================
- name: create minimum "{{ https_healthcheck }}"
# ============================================================
gcp_healthcheck:
service_account_email: "{{ service_account_email }}"
credentials_file: "{{ credentials_file }}"
project_id: "{{ project_id }}"
healthcheck_name: "{{ https_healthcheck }}"
healthcheck_type: HTTPS
state: present
register: result
- name: assert create
assert:
that:
- 'result.state == "present"'
- 'result.changed'
# ============================================================
- name: "update {{ https_healthcheck }}, no change"
# ============================================================
gcp_healthcheck:
service_account_email: "{{ service_account_email }}"
credentials_file: "{{ credentials_file }}"
project_id: "{{ project_id }}"
healthcheck_name: "{{ https_healthcheck }}"
healthcheck_type: HTTPS
state: present
register: result
- name: assert not updated
assert:
that:
- 'result.state == "present"'
- 'result.port == 443'
- 'not result.changed'
# ============================================================
- name: update "{{ https_healthcheck }}"
# ============================================================
gcp_healthcheck:
service_account_email: "{{ service_account_email }}"
credentials_file: "{{ credentials_file }}"
project_id: "{{ project_id }}"
healthcheck_name: "{{ https_healthcheck }}"
healthcheck_type: HTTPS
host_header: my-host
request_path: /hc
check_interval: 5
timeout: 5
unhealthy_threshold: 2
healthy_threshold: 1
port: 444
state: present
register: result
- name: assert update "{{ https_healthcheck }}"
assert:
that:
- 'result.state == "present"'
- 'result.changed'
- 'result.port == 444'
# ============================================================
- pause: seconds=5
# ============================================================
- name: delete "{{ http_healthcheck }}"
# ============================================================
gcp_healthcheck:
service_account_email: "{{ service_account_email }}"
credentials_file: "{{ credentials_file }}"
project_id: "{{ project_id }}"
healthcheck_name: "{{ http_healthcheck }}"
healthcheck_type: HTTP
host_header: my-host
request_path: /hc
check_interval: 5
timeout: 5
unhealthy_threshold: 2
healthy_threshold: 1
state: absent
register: result
tags:
- delete
- name: assert absent
assert:
that:
- 'result.state == "absent"'
- 'result.changed'
# ============================================================
- name: delete "{{ https_healthcheck }}"
# ============================================================
gcp_healthcheck:
service_account_email: "{{ service_account_email }}"
credentials_file: "{{ credentials_file }}"
project_id: "{{ project_id }}"
healthcheck_name: "{{ https_healthcheck }}"
healthcheck_type: HTTPS
host_header: my-host
request_path: /hc
check_interval: 5
timeout: 5
unhealthy_threshold: 2
healthy_threshold: 1
state: absent
register: result
tags:
- delete
- name: assert absent
assert:
that:
- 'result.state == "absent"'
- 'result.changed'