c99c3b2b5d
* [GCP] Healthcheck module * fix return YAML block * removed update_ return value; removed python26 check; typos and docs updates * doc fix * Updated int test for no-update conditions * added filter_gcp_fields test * fixed bug in update where dictionary wasn't built correctly and port was not being set. * added default values to documentation block
176 lines
5.4 KiB
YAML
176 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'
|