diff options
author | René Moser <mail@renemoser.net> | 2016-08-30 21:48:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-30 21:48:28 +0200 |
commit | 26118a51f843cb6bde227d55ef0db9f2f6ac2dd2 (patch) | |
tree | 7670a384149314b5ecfac21f16b4f6bd79eb01c8 /test/integration | |
parent | e3f54cb7989d8af62097bb6657a010f49254420d (diff) | |
download | ansible-26118a51f843cb6bde227d55ef0db9f2f6ac2dd2.tar.gz |
exo_dns: new module utils and integration tests for exoscale DNS (#17230)
Diffstat (limited to 'test/integration')
-rw-r--r-- | test/integration/Makefile | 5 | ||||
-rw-r--r-- | test/integration/exoscale.yml | 5 | ||||
-rw-r--r-- | test/integration/roles/test_exoscale_dns/defaults/main.yml | 4 | ||||
-rw-r--r-- | test/integration/roles/test_exoscale_dns/tasks/main.yml | 399 |
4 files changed, 413 insertions, 0 deletions
diff --git a/test/integration/Makefile b/test/integration/Makefile index e4c3dcc446..99fc56a164 100644 --- a/test/integration/Makefile +++ b/test/integration/Makefile @@ -267,6 +267,11 @@ cloudstack: RC=$$? ; \ exit $$RC; +exoscale: + ansible-playbook exoscale.yml -i $(INVENTORY) -e @$(VARS_FILE) -v $(TEST_FLAGS) ; \ + RC=$$? ; \ + exit $$RC; + cloudflare: $(CREDENTIALS_FILE) ansible-playbook cloudflare.yml -i $(INVENTORY) -e @$(VARS_FILE) -e @$(CREDENTIALS_FILE) -e "resource_prefix=$(CLOUD_RESOURCE_PREFIX)" -v $(TEST_FLAGS) ; \ RC=$$? ; \ diff --git a/test/integration/exoscale.yml b/test/integration/exoscale.yml new file mode 100644 index 0000000000..a6f5621bd2 --- /dev/null +++ b/test/integration/exoscale.yml @@ -0,0 +1,5 @@ +--- +- hosts: localhost + gather_facts: no + roles: + - { role: test_exoscale_dns, tags: test_exoscale_dns } diff --git a/test/integration/roles/test_exoscale_dns/defaults/main.yml b/test/integration/roles/test_exoscale_dns/defaults/main.yml new file mode 100644 index 0000000000..a98c86904d --- /dev/null +++ b/test/integration/roles/test_exoscale_dns/defaults/main.yml @@ -0,0 +1,4 @@ +--- +exo_dns_domain_name: example.com +exo_dns_record_name_web: web +exo_dns_record_name_mx: mx diff --git a/test/integration/roles/test_exoscale_dns/tasks/main.yml b/test/integration/roles/test_exoscale_dns/tasks/main.yml new file mode 100644 index 0000000000..96e5da0f29 --- /dev/null +++ b/test/integration/roles/test_exoscale_dns/tasks/main.yml @@ -0,0 +1,399 @@ +--- +- name: setup + local_action: + module: exo_dns_domain + name: "{{ exo_dns_domain_name }}" + state: absent + register: result +- name: verify setup + assert: + that: + - result|success + +- name: test fail if missing name + local_action: + module: exo_dns_domain + register: result + ignore_errors: true +- name: verify results of fail if missing params + assert: + that: + - result|failed + - 'result.msg == "missing required arguments: name"' + +- name: test create a domain + local_action: + module: exo_dns_domain + name: "{{ exo_dns_domain_name }}" + register: result +- name: verify results of test create a domain + assert: + that: + - result|changed + - 'result.exo_dns_domain.name == "{{ exo_dns_domain_name }}"' + +- name: test create a domain idempotence + local_action: + module: exo_dns_domain + name: "{{ exo_dns_domain_name }}" + register: result +- name: verify results of test create a domain idempotence + assert: + that: + - not result|changed + - 'result.exo_dns_domain.name == "{{ exo_dns_domain_name }}"' + +- name: test fail if missing required params + local_action: + module: exo_dns_record + register: result + ignore_errors: true +- name: verify results of test fail if missing required params + assert: + that: + - result|failed + - 'result.msg == "missing required arguments: domain"' + +- name: test fail if missing required params + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + state: absent + register: result + ignore_errors: true +- name: verify results of test fail if missing required params + assert: + that: + - result|failed + - 'result.msg == "name is but the following are missing: content"' + +- name: test fail if missing required params state=present + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "" + register: result + ignore_errors: true +- name: verify results of test fail if missing required params state=present + assert: + that: + - result|failed + - 'result.msg == "state is present but the following are missing: content"' + +- name: test fail if missing required params state=absent + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "" + state: absent + register: result + ignore_errors: true +- name: verify results of test fail if missing required params state=absent + assert: + that: + - result|failed + - 'result.msg == "name is but the following are missing: content"' + +- name: test create a record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + content: 1.2.3.4 + register: result +- name: verify results of test create a record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == "{{ exo_dns_record_name_web }}"' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "1.2.3.4"' + +- name: test create a record idempotence + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + content: 1.2.3.4 + register: result +- name: verify results of test create a record + assert: + that: + - not result|changed + - 'result.exo_dns_record.name == "{{ exo_dns_record_name_web }}"' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "1.2.3.4"' + +- name: test update a record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + content: 1.2.3.5 + ttl: 7200 + register: result +- name: verify results of test update a record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == "{{ exo_dns_record_name_web }}"' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "1.2.3.5"' + - 'result.exo_dns_record.ttl == 7200' + +- name: test update a record idempotence + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + content: 1.2.3.5 + ttl: 7200 + register: result +- name: verify results of test update a record idempotence + assert: + that: + - not result|changed + - 'result.exo_dns_record.name == "{{ exo_dns_record_name_web }}"' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "1.2.3.5"' + - 'result.exo_dns_record.ttl == 7200' + +- name: test delete a record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + state: absent + register: result +- name: verify results of test create a record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == "{{ exo_dns_record_name_web }}"' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "1.2.3.5"' + - 'result.exo_dns_record.ttl == 7200' + +- name: test delete a record idempotence + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + state: absent + register: result +- name: verify results of test create a record idempotence + assert: + that: + - not result|changed + +- name: setup an existing MX record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + record_type: MX + name: "" + content: "mx2.{{ exo_dns_domain_name }}" + prio: 10 + register: result +- name: verify results of test create a record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == ""' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "mx2.{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.prio == 10' + +- name: test create a MX record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + record_type: MX + name: "" + content: "mx1.{{ exo_dns_domain_name }}" + prio: 10 + register: result +- name: verify results of test create a record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == ""' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "mx1.{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.prio == 10' + +- name: test update a MX record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + record_type: MX + name: "" + content: "mx1.{{ exo_dns_domain_name }}" + prio: 20 + tags: foo + register: result +- name: verify results of test create a record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == ""' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "mx1.{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.prio == 20' + tags: foo + +- name: test delete a MX record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + record_type: MX + name: "" + content: "mx1.{{ exo_dns_domain_name }}" + state: absent + register: result +- name: verify results of test delete a MX record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == ""' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "mx1.{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.prio == 20' + +- name: test delete a MX record idempotence + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + record_type: MX + name: "" + content: "mx1.{{ exo_dns_domain_name }}" + state: absent + register: result +- name: verify results of test delete a MX record idempotence + assert: + that: + - not result|changed + +- name: test create first multiple a record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + multiple: yes + content: 1.2.3.4 + register: result +- name: verify results of test create first multiple a record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == "{{ exo_dns_record_name_web }}"' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "1.2.3.4"' + +- name: test create another similar a record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + multiple: yes + content: 1.2.3.5 + register: result +- name: verify results of test create another similar a record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == "{{ exo_dns_record_name_web }}"' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "1.2.3.5"' + - 'result.exo_dns_record.ttl == 3600' + +- name: test update another similar a record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + multiple: yes + content: 1.2.3.5 + ttl: 7200 + register: result +- name: verify results of test create another similar a record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == "{{ exo_dns_record_name_web }}"' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "1.2.3.5"' + - 'result.exo_dns_record.ttl == 7200' + +- name: test create first multiple a record idempotence + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + multiple: yes + content: 1.2.3.4 + register: result +- name: verify results of test create first multiple a record idempotence + assert: + that: + - not result|changed + - 'result.exo_dns_record.name == "{{ exo_dns_record_name_web }}"' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "1.2.3.4"' + +- name: test delete similar a record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + multiple: yes + content: 1.2.3.5 + state: absent + register: result +- name: verify results of test delete similar a record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == "{{ exo_dns_record_name_web }}"' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "1.2.3.5"' + +- name: test delete first similar a record + local_action: + module: exo_dns_record + domain: "{{ exo_dns_domain_name }}" + name: "{{ exo_dns_record_name_web }}" + multiple: yes + content: 1.2.3.4 + state: absent + register: result +- name: verify results of test delete first similar a record + assert: + that: + - result|changed + - 'result.exo_dns_record.name == "{{ exo_dns_record_name_web }}"' + - 'result.exo_dns_record.domain == "{{ exo_dns_domain_name }}"' + - 'result.exo_dns_record.content == "1.2.3.4"' + +- name: test delete a domain + local_action: + module: exo_dns_domain + name: "{{ exo_dns_domain_name }}" + state: absent + register: result +- name: verify results of test delete a domain + assert: + that: + - result|changed + - 'result.exo_dns_domain.name == "{{ exo_dns_domain_name }}"' + +- name: test delete a domain idempotence + local_action: + module: exo_dns_domain + name: "{{ exo_dns_domain_name }}" + state: absent + register: result +- name: verify results of test delete a domain idempotence + assert: + that: + - not result|changed |