diff options
author | Alex Stephen <alexstephen@google.com> | 2018-05-17 22:42:19 +0200 |
---|---|---|
committer | ansibot <ansibot@users.noreply.github.com> | 2018-05-17 22:42:19 +0200 |
commit | 6ac2045db8ff587a9b114902a824f21b198c09b0 (patch) | |
tree | 195f0894c9eacacda4bd6d65bff11ff9cce330fd /test | |
parent | Adding support for GCP Compute Target Tcp Proxys (#38624) (diff) | |
download | ansible-6ac2045db8ff587a9b114902a824f21b198c09b0.tar.xz ansible-6ac2045db8ff587a9b114902a824f21b198c09b0.zip |
Adding support for GCP Compute Target Http Proxys (#38622)
Diffstat (limited to 'test')
4 files changed, 220 insertions, 0 deletions
diff --git a/test/integration/targets/gcp_compute_target_http_proxy/aliases b/test/integration/targets/gcp_compute_target_http_proxy/aliases new file mode 100644 index 0000000000..9812f019ca --- /dev/null +++ b/test/integration/targets/gcp_compute_target_http_proxy/aliases @@ -0,0 +1,2 @@ +cloud/gcp +unsupported diff --git a/test/integration/targets/gcp_compute_target_http_proxy/defaults/main.yml b/test/integration/targets/gcp_compute_target_http_proxy/defaults/main.yml new file mode 100644 index 0000000000..aa87a2a8e0 --- /dev/null +++ b/test/integration/targets/gcp_compute_target_http_proxy/defaults/main.yml @@ -0,0 +1,3 @@ +--- +# defaults file +resource_name: '{{resource_prefix}}' diff --git a/test/integration/targets/gcp_compute_target_http_proxy/meta/main.yml b/test/integration/targets/gcp_compute_target_http_proxy/meta/main.yml new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/test/integration/targets/gcp_compute_target_http_proxy/meta/main.yml diff --git a/test/integration/targets/gcp_compute_target_http_proxy/tasks/main.yml b/test/integration/targets/gcp_compute_target_http_proxy/tasks/main.yml new file mode 100644 index 0000000000..c058709298 --- /dev/null +++ b/test/integration/targets/gcp_compute_target_http_proxy/tasks/main.yml @@ -0,0 +1,215 @@ +--- +# ---------------------------------------------------------------------------- +# +# *** AUTO GENERATED CODE *** AUTO GENERATED CODE *** +# +# ---------------------------------------------------------------------------- +# +# This file is automatically generated by Magic Modules and manual +# changes will be clobbered when the file is regenerated. +# +# Please read more about how to change this file at +# https://www.github.com/GoogleCloudPlatform/magic-modules +# +# ---------------------------------------------------------------------------- +# Pre-test setup +- name: create a instance group + gcp_compute_instance_group: + name: 'instancegroup-targethttpproxy' + zone: 'us-central1-a' + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: present + register: instancegroup +- name: create a http health check + gcp_compute_http_health_check: + name: 'httphealthcheck-targethttpproxy' + healthy_threshold: 10 + port: 8080 + timeout_sec: 2 + unhealthy_threshold: 5 + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: present + register: healthcheck +- name: create a backend service + gcp_compute_backend_service: + name: 'backendservice-targethttpproxy' + backends: + - group: "{{ instancegroup }}" + health_checks: + - "{{ healthcheck.selfLink }}" + enable_cdn: true + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: present + register: backendservice +- name: create a url map + gcp_compute_url_map: + name: 'urlmap-targethttpproxy' + default_service: "{{ backendservice }}" + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: present + register: urlmap +- name: delete a target http proxy + gcp_compute_target_http_proxy: + name: "{{ resource_name }}" + url_map: "{{ urlmap }}" + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: absent +#---------------------------------------------------------- +- name: create a target http proxy + gcp_compute_target_http_proxy: + name: "{{ resource_name }}" + url_map: "{{ urlmap }}" + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: present + register: result +- name: assert changed is true + assert: + that: + - result.changed == true + - "result.kind == 'compute#targetHttpProxy'" +- name: verify that target_http_proxy was created + shell: | + gcloud compute target-http-proxies describe --project="{{ gcp_project}}" "{{ resource_name }}" + register: results +- name: verify that command succeeded + assert: + that: + - results.rc == 0 +# ---------------------------------------------------------------------------- +- name: create a target http proxy that already exists + gcp_compute_target_http_proxy: + name: "{{ resource_name }}" + url_map: "{{ urlmap }}" + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: present + register: result +- name: assert changed is false + assert: + that: + - result.changed == false + - "result.kind == 'compute#targetHttpProxy'" +#---------------------------------------------------------- +- name: delete a target http proxy + gcp_compute_target_http_proxy: + name: "{{ resource_name }}" + url_map: "{{ urlmap }}" + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: absent + register: result +- name: assert changed is true + assert: + that: + - result.changed == true + - result.has_key('kind') == False +- name: verify that target_http_proxy was deleted + shell: | + gcloud compute target-http-proxies describe --project="{{ gcp_project}}" "{{ resource_name }}" + register: results + failed_when: results.rc == 0 +- name: verify that command succeeded + assert: + that: + - results.rc == 1 + - "\"'projects/{{ gcp_project }}/global/targetHttpProxies/{{ resource_name }}' was not found\" in results.stderr" +# ---------------------------------------------------------------------------- +- name: delete a target http proxy that does not exist + gcp_compute_target_http_proxy: + name: "{{ resource_name }}" + url_map: "{{ urlmap }}" + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: absent + register: result +- name: assert changed is false + assert: + that: + - result.changed == false + - result.has_key('kind') == False +#--------------------------------------------------------- +# Post-test teardown +- name: delete a url map + gcp_compute_url_map: + name: 'urlmap-targethttpproxy' + default_service: "{{ backendservice }}" + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: absent + register: urlmap +- name: delete a backend service + gcp_compute_backend_service: + name: 'backendservice-targethttpproxy' + backends: + - group: "{{ instancegroup }}" + health_checks: + - "{{ healthcheck.selfLink }}" + enable_cdn: true + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: absent + register: backendservice +- name: delete a http health check + gcp_compute_http_health_check: + name: 'httphealthcheck-targethttpproxy' + healthy_threshold: 10 + port: 8080 + timeout_sec: 2 + unhealthy_threshold: 5 + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: absent + register: healthcheck +- name: delete a instance group + gcp_compute_instance_group: + name: 'instancegroup-targethttpproxy' + zone: 'us-central1-a' + project: "{{ gcp_project }}" + auth_kind: "{{ gcp_cred_kind }}" + service_account_file: "{{ gcp_cred_file }}" + scopes: + - https://www.googleapis.com/auth/compute + state: absent + register: instancegroup |