mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
3.1 KiB
YAML
126 lines
3.1 KiB
YAML
# Test code for the Meraki Organization module
|
|
# Copyright: (c) 2018, Kevin Breit (@kbreit)
|
|
|
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
---
|
|
- name: Test an API key is provided
|
|
fail:
|
|
msg: Please define an API key
|
|
when: auth_key is not defined
|
|
|
|
- name: Use an invalid domain
|
|
meraki_organization:
|
|
auth_key: '{{ auth_key }}'
|
|
host: marrrraki.com
|
|
state: present
|
|
org_name: IntTestOrg
|
|
output_level: debug
|
|
delegate_to: localhost
|
|
register: invalid_domain
|
|
ignore_errors: yes
|
|
|
|
- name: Disable HTTP
|
|
meraki_organization:
|
|
auth_key: '{{ auth_key }}'
|
|
use_https: false
|
|
state: query
|
|
output_level: debug
|
|
delegate_to: localhost
|
|
register: http
|
|
ignore_errors: yes
|
|
|
|
- name: Connection assertions
|
|
assert:
|
|
that:
|
|
- '"Failed to connect to" in invalid_domain.msg'
|
|
- '"http" in http.url'
|
|
|
|
- name: Create a new organization named IntTestOrg
|
|
meraki_organization:
|
|
auth_key: '{{ auth_key }}'
|
|
org_name: IntTestOrg
|
|
state: present
|
|
output_level: debug
|
|
delegate_to: localhost
|
|
register: new_org
|
|
|
|
- debug:
|
|
msg: '{{new_org}}'
|
|
|
|
- name: Clone IntTestOrg
|
|
meraki_organization:
|
|
auth_key: '{{ auth_key }}'
|
|
clone: IntTestOrg
|
|
org_name: IntTestOrgCloned
|
|
state: present
|
|
delegate_to: localhost
|
|
register: cloned_org
|
|
|
|
- debug:
|
|
msg: '{{cloned_org}}'
|
|
|
|
- name: Rename IntTestOrg
|
|
meraki_organization:
|
|
auth_key: '{{ auth_key }}'
|
|
org_name: IntTestOrgRenamed
|
|
org_id: '{{ new_org.data.id }}'
|
|
state: present
|
|
delegate_to: localhost
|
|
register: modify_org
|
|
|
|
- debug:
|
|
msg: '{{ modify_org }}'
|
|
|
|
- name: Rename IntTestOrg idempotent
|
|
meraki_organization:
|
|
auth_key: '{{ auth_key }}'
|
|
org_name: IntTestOrgRenamed
|
|
org_id: '{{ new_org.data.id }}'
|
|
state: present
|
|
delegate_to: localhost
|
|
register: modify_org_idempotent
|
|
|
|
- name: Present assertions
|
|
assert:
|
|
that:
|
|
- '"https" in new_org.url'
|
|
- new_org.changed == True
|
|
- new_org.data.id is defined
|
|
- cloned_org.changed == True
|
|
- cloned_org.data.id is defined
|
|
- modify_org.changed == True
|
|
- 'modify_org.data.name == "IntTestOrgRenamed"'
|
|
- modify_org_idempotent.changed == False
|
|
- modify_org_idempotent.data is defined
|
|
|
|
- name: List all organizations
|
|
meraki_organization:
|
|
auth_key: '{{ auth_key }}'
|
|
state: query
|
|
delegate_to: localhost
|
|
register: query_all
|
|
|
|
- name: Query information about a single organization named IntTestOrg
|
|
meraki_organization:
|
|
auth_key: '{{ auth_key }}'
|
|
org_name: IntTestOrgRenamed
|
|
state: query
|
|
delegate_to: localhost
|
|
register: query_org
|
|
|
|
- name: Query information about IntTestOrg by organization ID
|
|
meraki_organization:
|
|
auth_key: '{{ auth_key }}'
|
|
org_id: '{{ query_org.data.id }}'
|
|
state: query
|
|
delegate_to: localhost
|
|
register: query_org_id
|
|
|
|
- name: Query assertions
|
|
assert:
|
|
that:
|
|
- query_org.data.id is defined
|
|
- query_all.changed == False
|
|
- query_all.data | length >= 1
|
|
- 'query_org.data.name == "IntTestOrgRenamed"'
|
|
- 'query_org_id.data.id == query_org.data.id' |