|
|
|
# Test code for the Meraki modules
|
|
|
|
# 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: Create network without type
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: present
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
net_name: IntTestNetwork
|
|
|
|
timezone: America/Chicago
|
|
|
|
delegate_to: localhost
|
|
|
|
register: create_net_no_type
|
|
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
- name: Create network without organization
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: present
|
|
|
|
net_name: IntTestNetwork
|
|
|
|
timezone: America/Chicago
|
|
|
|
delegate_to: localhost
|
|
|
|
register: create_net_no_org
|
|
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
- name: Create network with type switch
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: present
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
net_name: IntTestNetworkSwitch
|
|
|
|
type: switch
|
|
|
|
timezone: America/Chicago
|
|
|
|
delegate_to: localhost
|
|
|
|
register: create_net_switch
|
|
|
|
|
|
|
|
- name: Create network with type switch by org ID
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: present
|
|
|
|
org_id: '{{test_org_id}}'
|
|
|
|
net_name: IntTestNetworkSwitchOrgID
|
|
|
|
type: switch
|
|
|
|
timezone: America/Chicago
|
|
|
|
delegate_to: localhost
|
|
|
|
register: create_net_switch_org_id
|
|
|
|
|
|
|
|
- name: Create network with type appliance and no timezone
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: present
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
net_name: IntTestNetworkAppliance
|
|
|
|
type: appliance
|
|
|
|
delegate_to: localhost
|
|
|
|
register: create_net_appliance_no_tz
|
|
|
|
|
|
|
|
- name: Create network with type wireless
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: present
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
net_name: IntTestNetworkWireless
|
|
|
|
type: wireless
|
|
|
|
timezone: America/Chicago
|
|
|
|
delegate_to: localhost
|
|
|
|
register: create_net_wireless
|
|
|
|
|
|
|
|
- name: Create network with type combined
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: present
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
net_name: IntTestNetworkCombined
|
|
|
|
type: combined
|
|
|
|
timezone: America/Chicago
|
|
|
|
delegate_to: localhost
|
|
|
|
register: create_net_combined
|
|
|
|
|
|
|
|
- name: Create network with one tag
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: present
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
net_name: IntTestNetworkTag
|
|
|
|
type: switch
|
|
|
|
timezone: America/Chicago
|
|
|
|
tags: first_tag
|
|
|
|
delegate_to: localhost
|
|
|
|
register: create_net_tag
|
|
|
|
|
|
|
|
- debug:
|
|
|
|
msg: '{{create_net_tag}}'
|
|
|
|
|
|
|
|
- name: Create network with two tags
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: present
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
net_name: IntTestNetworkTags
|
|
|
|
type: switch
|
|
|
|
timezone: America/Chicago
|
|
|
|
tags: first_tag, second_tag
|
|
|
|
delegate_to: localhost
|
|
|
|
register: create_net_tags
|
|
|
|
|
|
|
|
- debug:
|
|
|
|
msg: '{{create_net_tags}}'
|
|
|
|
|
|
|
|
- name: Modify network
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: present
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
net_name: IntTestNetworkTags
|
|
|
|
type: switch
|
|
|
|
timezone: America/Chicago
|
|
|
|
tags: first_tag, second_tag, third_tag
|
|
|
|
delegate_to: localhost
|
|
|
|
register: create_net_modified
|
|
|
|
|
|
|
|
- name: Modify network with idempotency
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: present
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
net_name: IntTestNetworkTags
|
|
|
|
type: switch
|
|
|
|
timezone: America/Chicago
|
|
|
|
tags: first_tag, second_tag, third_tag
|
|
|
|
delegate_to: localhost
|
|
|
|
register: create_net_modified_idempotent
|
|
|
|
|
|
|
|
- name: Present assertions
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- create_net_no_type.status == 500
|
|
|
|
- '"org_name or org_id parameters are required" in create_net_no_org.msg'
|
|
|
|
- '"IntTestNetworkAppliance" in create_net_appliance_no_tz.data.name'
|
|
|
|
- create_net_appliance_no_tz.changed == True
|
|
|
|
- '"IntTestNetworkSwitch" in create_net_switch.data.name'
|
|
|
|
- '"IntTestNetworkSwitchOrgID" in create_net_switch_org_id.data.name'
|
|
|
|
- '"IntTestNetworkWireless" in create_net_wireless.data.name'
|
|
|
|
- '"first_tag" in create_net_tag.data.tags'
|
|
|
|
- '"second_tag" in create_net_tags.data.tags'
|
|
|
|
- '"third_tag" in create_net_modified.data.tags'
|
|
|
|
- create_net_modified.changed == True
|
|
|
|
- create_net_modified_idempotent.changed == False
|
|
|
|
|
|
|
|
- name: Query all networks
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: query
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
delegate_to: localhost
|
|
|
|
register: net_query_all
|
|
|
|
|
|
|
|
- name: Query one network
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: query
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
net_name: IntTestNetworkSwitch
|
|
|
|
delegate_to: localhost
|
|
|
|
register: net_query_one
|
|
|
|
|
|
|
|
- name: Query assertions
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
# - net_query_all.data | length == 7
|
|
|
|
- 'net_query_one.data.name == "IntTestNetworkSwitch"'
|
|
|
|
|
|
|
|
- name: Delete network without org
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: absent
|
|
|
|
net_name: IntTestNetworkSwitch
|
|
|
|
delegate_to: localhost
|
|
|
|
register: delete_all_no_org
|
|
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
- debug:
|
|
|
|
msg: '{{delete_all_no_org}}'
|
|
|
|
|
|
|
|
- name: Delete network by org ID
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: absent
|
|
|
|
org_id: '{{test_org_id}}'
|
|
|
|
net_name: IntTestNetworkSwitchOrgID
|
|
|
|
delegate_to: localhost
|
|
|
|
register: delete_net_org_id
|
|
|
|
|
|
|
|
- debug:
|
|
|
|
msg: '{{delete_net_org_id}}'
|
|
|
|
|
|
|
|
- name: Query after delete with org ID
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: query
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
delegate_to: localhost
|
|
|
|
register: query_deleted_org_id
|
|
|
|
|
|
|
|
- name: Delete all networks
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: absent
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
net_name: '{{ item }}'
|
|
|
|
delegate_to: localhost
|
|
|
|
register: delete_all
|
|
|
|
loop:
|
|
|
|
- IntTestNetworkSwitch
|
|
|
|
- IntTestNetworkWireless
|
|
|
|
- IntTestNetworkAppliance
|
|
|
|
- IntTestNetworkCombined
|
|
|
|
- IntTestNetworkTag
|
|
|
|
- IntTestNetworkTags
|
|
|
|
|
|
|
|
- name: Query after delete all
|
|
|
|
meraki_network:
|
|
|
|
auth_key: '{{ auth_key }}'
|
|
|
|
state: query
|
|
|
|
org_name: '{{test_org_name}}'
|
|
|
|
delegate_to: localhost
|
|
|
|
register: query_deleted
|
|
|
|
|
|
|
|
- name: Delete assertions
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- '"org_name or org_id parameters are required" in delete_all_no_org.msg'
|
|
|
|
# - query_deleted_org_id.data | length == 6
|
|
|
|
- query_deleted.data | length == 0
|