ansible/test/integration/targets/memset_zone/tasks/main.yml
Simon fb6ae90f60 Memset: initial module, integration tests, module_utils and supporting documentation. (#40071)
*  * Memset:
   * module_utils and associated documentation.
   * module to manage DNS zones.
   * integration tests to run against Memset's API.

* * memset.py:
  * remove import of requests from memset.py in favour of internal Ansible modules.
  * import necessary Ansible modules for request and response handling.
  * create a response object in order to retain a stable interface to memset_api_call from existing modules.
  * rework memset_api_call to remove requests.
* memset_zone.py:
  * improve short description to be more verbose.
  * ensure all imports directly follow documentation.
  * remove any reference to requests.
  * correct keyerror carried over from elsewhere.

* remove dependency on requests from documentation string

* disable integration tests until we have a cleanup method available
2018-05-18 10:45:38 +01:00

124 lines
2.5 KiB
YAML

---
- name: create random string
set_fact:
zone_name: "{{ 65535 | random | string }}.ansible.example.com"
- name: create zone with incorrect API key
local_action:
module: memset_zone
api_key: "wa9aerahhie0eekee9iaphoorovooyia"
state: present
name: "{{ zone_name }}"
ttl: 300
ignore_errors: true
register: result
- name: check API response with invalid API key
assert:
that:
- "'Memset API returned a 403 response (ApiErrorForbidden, Bad api_key)' in result.msg"
- result is not successful
- name: test creating zone
local_action:
module: memset_zone
api_key: "{{ api_key }}"
state: present
name: "{{ zone_name }}"
ttl: 300
check_mode: true
register: result
- name: check if the zone would be created
assert:
that:
- result is changed
- result is successful
- name: create zone
local_action:
module: memset_zone
api_key: "{{ api_key }}"
state: present
name: "{{ zone_name }}"
ttl: 300
register: result
- name: create the zone
assert:
that:
- result is changed
- result is successful
- name: create duplicate zone
local_action:
module: memset_zone
api_key: "{{ api_key }}"
state: present
name: "{{ zone_name }}"
ttl: 300
register: result
- name: ensure we can't create duplicate zones
assert:
that:
- result is not changed
- name: test deleting zone
local_action:
module: memset_zone
api_key: "{{ api_key }}"
state: absent
name: "{{ zone_name }}"
check_mode: true
register: result
- name: check if the zone would be deleted
assert:
that:
- result is changed
- result is successful
- name: delete empty zone
local_action:
module: memset_zone
api_key: "{{ api_key }}"
state: absent
name: "{{ zone_name }}"
force: false
register: result
- name: delete the zone
assert:
that:
- result is changed
- result is successful
- name: create zone for deletion test
local_action:
module: memset_zone
api_key: "{{ api_key }}"
state: present
name: "{{ zone_name }}"
register: result
- name: ensure we can't create duplicate zones
assert:
that:
- result is changed
- result is successful
- name: delete zone with force
local_action:
module: memset_zone
api_key: "{{ api_key }}"
state: absent
name: "{{ zone_name }}"
force: true
register: result
- name: ensure force is respected
assert:
that:
- result is changed
- result is successful