summaryrefslogtreecommitdiff
path: root/test/integration
diff options
context:
space:
mode:
authorRené Moser <mail@renemoser.net>2016-08-30 21:48:28 +0200
committerGitHub <noreply@github.com>2016-08-30 21:48:28 +0200
commit26118a51f843cb6bde227d55ef0db9f2f6ac2dd2 (patch)
tree7670a384149314b5ecfac21f16b4f6bd79eb01c8 /test/integration
parente3f54cb7989d8af62097bb6657a010f49254420d (diff)
downloadansible-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/Makefile5
-rw-r--r--test/integration/exoscale.yml5
-rw-r--r--test/integration/roles/test_exoscale_dns/defaults/main.yml4
-rw-r--r--test/integration/roles/test_exoscale_dns/tasks/main.yml399
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