mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 12:50:22 -07:00
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
This commit is contained in:
parent
9e3ad96fa9
commit
fb6ae90f60
8 changed files with 600 additions and 0 deletions
124
test/integration/targets/memset_zone/tasks/main.yml
Normal file
124
test/integration/targets/memset_zone/tasks/main.yml
Normal file
|
@ -0,0 +1,124 @@
|
|||
---
|
||||
- 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
|
Loading…
Add table
Add a link
Reference in a new issue