919f70c357
* Initial commit for meraki_malware module - Allows for manipulation of malware configuration * Add full documentation and improve code coverage * Add diff support * Type change * Sanity check fixes * Convert org_id from str to int for consistency * Sanity fixes again * Fix argument type errors * Remove ignore items for some Meraki modules so shippable is happy
247 lines
6.1 KiB
YAML
247 lines
6.1 KiB
YAML
# Test code for the Meraki VLAN 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)
|
|
---
|
|
- block:
|
|
- name: Test an API key is provided
|
|
fail:
|
|
msg: Please define an API key
|
|
when: auth_key is not defined
|
|
|
|
- name: Create test network
|
|
meraki_network:
|
|
auth_key: '{{auth_key}}'
|
|
state: present
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
type: appliance
|
|
delegate_to: localhost
|
|
register: net
|
|
|
|
- set_fact:
|
|
net_id: '{{net.data.id}}'
|
|
|
|
- name: Enable malware protection with check mode
|
|
meraki_malware:
|
|
auth_key: '{{auth_key}}'
|
|
state: present
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
mode: enabled
|
|
delegate_to: localhost
|
|
check_mode: yes
|
|
register: get_malware_check
|
|
|
|
- assert:
|
|
that:
|
|
- get_malware_check is changed
|
|
- get_malware_check.data is defined
|
|
|
|
- name: Enable malware protection
|
|
meraki_malware:
|
|
auth_key: '{{auth_key}}'
|
|
state: present
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
mode: enabled
|
|
delegate_to: localhost
|
|
register: get_malware
|
|
|
|
- debug:
|
|
var: get_malware
|
|
|
|
- assert:
|
|
that:
|
|
- get_malware is changed
|
|
- get_malware.data.mode is defined
|
|
|
|
- name: Enable malware protection with idempotency
|
|
meraki_malware:
|
|
auth_key: '{{auth_key}}'
|
|
state: present
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
mode: enabled
|
|
delegate_to: localhost
|
|
register: get_malware_idempotent
|
|
|
|
- debug:
|
|
var: get_malware_idempotent
|
|
|
|
- assert:
|
|
that:
|
|
- get_malware_idempotent is not changed
|
|
- get_malware_idempotent.data is defined
|
|
|
|
- name: Test error when mode is not set
|
|
meraki_malware:
|
|
auth_key: '{{auth_key}}'
|
|
state: present
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
allowed_files:
|
|
- sha256: e82c5f7d75004727e1f3b94426b9a11c8bc4c312a9170ac9a73abace40aef503
|
|
comment: random zip
|
|
delegate_to: localhost
|
|
register: test_mode_err
|
|
ignore_errors: yes
|
|
|
|
- assert:
|
|
that:
|
|
- test_mode_err.msg == "mode must be set when allowed_files or allowed_urls is set."
|
|
|
|
- name: Set whitelisted file with check mode
|
|
meraki_malware:
|
|
auth_key: '{{auth_key}}'
|
|
state: present
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
mode: enabled
|
|
allowed_files:
|
|
- sha256: e82c5f7d75004727e1f3b94426b9a11c8bc4c312a9170ac9a73abace40aef503
|
|
comment: random zip
|
|
delegate_to: localhost
|
|
check_mode: yes
|
|
register: set_file_check
|
|
|
|
- debug:
|
|
var:
|
|
set_file_check
|
|
|
|
- assert:
|
|
that:
|
|
- set_file_check is changed
|
|
- set_file_check.data is defined
|
|
|
|
- name: Set whitelisted file
|
|
meraki_malware:
|
|
auth_key: '{{auth_key}}'
|
|
state: present
|
|
org_name: '{{test_org_name}}'
|
|
net_id: '{{net_id}}'
|
|
mode: enabled
|
|
allowed_files:
|
|
- sha256: e82c5f7d75004727e1f3b94426b9a11c8bc4c312a9170ac9a73abace40aef503
|
|
comment: random zip
|
|
delegate_to: localhost
|
|
register: set_file
|
|
|
|
- debug:
|
|
var: set_file
|
|
|
|
- assert:
|
|
that:
|
|
- set_file is changed
|
|
- set_file.data.mode is defined
|
|
|
|
- name: Set whitelisted file with idempotency
|
|
meraki_malware:
|
|
auth_key: '{{auth_key}}'
|
|
state: present
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
mode: enabled
|
|
allowed_files:
|
|
- sha256: e82c5f7d75004727e1f3b94426b9a11c8bc4c312a9170ac9a73abace40aef503
|
|
comment: random zip
|
|
delegate_to: localhost
|
|
register: set_file_idempotent
|
|
|
|
- debug:
|
|
var: set_file_idempotent
|
|
|
|
- assert:
|
|
that:
|
|
- set_file_idempotent is not changed
|
|
- set_file_idempotent.data is defined
|
|
|
|
- name: Set whitelisted url with check mode
|
|
meraki_malware:
|
|
auth_key: '{{auth_key}}'
|
|
state: present
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
mode: enabled
|
|
allowed_urls:
|
|
- url: www.google.com
|
|
comment: Google
|
|
delegate_to: localhost
|
|
check_mode: yes
|
|
register: set_url_check
|
|
|
|
- debug:
|
|
var:
|
|
set_url_check
|
|
|
|
- assert:
|
|
that:
|
|
- set_url_check is changed
|
|
- set_url_check.data is defined
|
|
|
|
- name: Set whitelisted url
|
|
meraki_malware:
|
|
auth_key: '{{auth_key}}'
|
|
state: present
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
mode: enabled
|
|
allowed_urls:
|
|
- url: www.google.com
|
|
comment: Google
|
|
delegate_to: localhost
|
|
register: set_url
|
|
|
|
- debug:
|
|
var: set_url
|
|
|
|
- assert:
|
|
that:
|
|
- set_url is changed
|
|
- set_url.data.mode is defined
|
|
|
|
- name: Set whitelisted url with idempotency
|
|
meraki_malware:
|
|
auth_key: '{{auth_key}}'
|
|
state: present
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
mode: enabled
|
|
allowed_urls:
|
|
- url: www.google.com
|
|
comment: Google
|
|
delegate_to: localhost
|
|
register: set_url_idempotent
|
|
|
|
- debug:
|
|
var: set_url_idempotent
|
|
|
|
- assert:
|
|
that:
|
|
- set_url_idempotent is not changed
|
|
- set_url_idempotent.data is defined
|
|
|
|
- name: Get malware settings
|
|
meraki_malware:
|
|
auth_key: '{{auth_key}}'
|
|
state: query
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
delegate_to: localhost
|
|
register: get_malware
|
|
|
|
- assert:
|
|
that:
|
|
- get_malware.data is defined
|
|
|
|
#############################################################################
|
|
# Tear down starts here
|
|
#############################################################################
|
|
always:
|
|
- name: Delete test network
|
|
meraki_network:
|
|
auth_key: '{{auth_key}}'
|
|
state: absent
|
|
org_name: '{{test_org_name}}'
|
|
net_name: '{{test_net_name}} - Malware'
|
|
delegate_to: localhost
|