fb6ae90f60
* * 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
124 lines
2.5 KiB
YAML
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
|