mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-04-04 03:07:01 +00:00
Move modules and module_utils unit tests to correct place (#81)
* Move modules and module_utils unit tests to correct place. * Update ignore.txt * Fix imports. * Fix typos. * Fix more typos.
This commit is contained in:
parent
ab3c2120fb
commit
be191cce6c
1170 changed files with 732 additions and 751 deletions
0
tests/unit/plugins/modules/network/netvisor/__init__.py
Normal file
0
tests/unit/plugins/modules/network/netvisor/__init__.py
Normal file
108
tests/unit/plugins/modules/network/netvisor/nvos_module.py
Normal file
108
tests/unit/plugins/modules/network/netvisor/nvos_module.py
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
# Make coding more python3-ish
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
import os
|
||||
import json
|
||||
import tempfile
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat import unittest
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible.module_utils import basic
|
||||
|
||||
|
||||
fixture_path = os.path.join(os.path.dirname(__file__), 'fixtures')
|
||||
fixture_data = {}
|
||||
|
||||
|
||||
def load_fixture(name):
|
||||
path = os.path.join(fixture_path, name)
|
||||
|
||||
if path in fixture_data:
|
||||
return fixture_data[path]
|
||||
|
||||
with open(path) as f:
|
||||
data = f.read()
|
||||
|
||||
try:
|
||||
data = json.loads(data)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
fixture_data[path] = data
|
||||
return data
|
||||
|
||||
|
||||
class AnsibleExitJson(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class AnsibleFailJson(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class TestNvosModule(unittest.TestCase):
|
||||
def setUp(self):
|
||||
super(TestNvosModule, self).setUp()
|
||||
|
||||
self.test_log = tempfile.mkstemp(prefix='ansible-test-nvos-module-', suffix='.log')[1]
|
||||
|
||||
def tearDown(self):
|
||||
super(TestNvosModule, self).tearDown()
|
||||
|
||||
os.remove(self.test_log)
|
||||
|
||||
def execute_module(self, failed=False, changed=False, commands=None,
|
||||
sort=True, defaults=False, state=None):
|
||||
|
||||
self.load_fixtures(commands, state)
|
||||
|
||||
if failed:
|
||||
result = self.failed()
|
||||
self.assertTrue(result['failed'], result)
|
||||
else:
|
||||
result = self.changed(changed)
|
||||
self.assertEqual(result['changed'], changed, result)
|
||||
|
||||
if commands is not None:
|
||||
if sort:
|
||||
self.assertEqual(sorted(commands), sorted(result['commands']),
|
||||
result['commands'])
|
||||
else:
|
||||
self.assertEqual(commands, result['commands'],
|
||||
result['commands'])
|
||||
|
||||
return result
|
||||
|
||||
def failed(self):
|
||||
def fail_json(*args, **kwargs):
|
||||
kwargs['failed'] = True
|
||||
raise AnsibleFailJson(kwargs)
|
||||
|
||||
with patch.object(basic.AnsibleModule, 'fail_json', fail_json):
|
||||
with self.assertRaises(AnsibleFailJson) as exc:
|
||||
self.module.main()
|
||||
|
||||
result = exc.exception.args[0]
|
||||
self.assertTrue(result['failed'], result)
|
||||
return result
|
||||
|
||||
def changed(self, changed=False):
|
||||
def exit_json(*args, **kwargs):
|
||||
if 'changed' not in kwargs:
|
||||
kwargs['changed'] = False
|
||||
raise AnsibleExitJson(kwargs)
|
||||
|
||||
with patch.object(basic.AnsibleModule, 'exit_json', exit_json):
|
||||
with self.assertRaises(AnsibleExitJson) as exc:
|
||||
self.module.main()
|
||||
|
||||
result = exc.exception.args[0]
|
||||
self.assertEqual(result['changed'], changed, result)
|
||||
return result
|
||||
|
||||
def load_fixtures(self, commands=None):
|
||||
pass
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_access_list_ip
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestAccessListIpModule(TestNvosModule):
|
||||
|
||||
module = pn_access_list_ip
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_access_list_ip.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_access_list_ip.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'access-list-ip-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'access-list-ip-remove':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_access_list_ip_add(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_ip': '172.16.3.1', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 access-list-ip-add name foo ip 172.16.3.1'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_access_list_ip_remove(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_ip': '172.16.3.1', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 access-list-ip-remove name foo ip 172.16.3.1'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_admin_service
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestAdminServiceModule(TestNvosModule):
|
||||
|
||||
module = pn_admin_service
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_admin_service.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'admin-service-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_admin_service_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn__if': 'mgmt',
|
||||
'pn_web': 'False', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 admin-service-modify if mgmt no-web '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_admin_service_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn__if': 'mgmt',
|
||||
'pn_snmp': 'True', 'pn_net_api': 'True', 'pn_ssh': 'True', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 admin-service-modify if mgmt snmp ssh net-api '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_admin_service_modify_t3(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn__if': 'data',
|
||||
'pn_web_port': '8080', 'pn_net_api': 'True', 'pn_web_log': 'True', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 admin-service-modify if data web-port 8080 net-api web-log '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_admin_session_timeout
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestAdminServiceModule(TestNvosModule):
|
||||
|
||||
module = pn_admin_session_timeout
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_admin_session_timeout.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'admin-session-timeout-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_admin_session_timeout_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_timeout': '61s',
|
||||
'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 admin-session-timeout-modify timeout 61s'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_admin_session_timeout_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_timeout': '1d',
|
||||
'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 admin-session-timeout-modify timeout 1d'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_admin_session_timeout_modify_t3(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_timeout': '10d20m3h15s',
|
||||
'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 admin-session-timeout-modify timeout 10d20m3h15s'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_admin_syslog
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestAdminSyslogModule(TestNvosModule):
|
||||
|
||||
module = pn_admin_syslog
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_admin_syslog.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_admin_syslog.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'admin-syslog-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'admin-syslog-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['update'] == 'admin-syslog-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
if state == 'update':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_admin_syslog_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_scope': 'local', 'pn_host': '166.68.224.46', 'pn_message_format': 'structured', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 admin-syslog-create name foo scope local host 166.68.224.46 '
|
||||
expected_cmd += 'transport udp message-format structured'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_admin_syslog_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 admin-syslog-delete name foo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_admin_syslog_update(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 admin-syslog-modify name foo transport udp'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_connection_stats_settings
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestAdminServiceModule(TestNvosModule):
|
||||
|
||||
module = pn_connection_stats_settings
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_connection_stats_settings.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'connection-stats-settings-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_connection_stats_settings_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_enable': False,
|
||||
'pn_fabric_connection_max_memory': '1000', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 connection-stats-settings-modify disable fabric-connection-max-memory 1000'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_connection_stats_settings_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_enable': True,
|
||||
'pn_connection_stats_log_enable': False, 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 connection-stats-settings-modify enable connection-stats-log-disable '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_connection_stats_settings_modify_t3(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_client_server_stats_max_memory': '60M',
|
||||
'pn_client_server_stats_log_disk_space': '40M', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 connection-stats-settings-modify client-server-stats-max-memory '
|
||||
expected_cmd += '60M client-server-stats-log-disk-space 40M'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_connection_stats_settings_modify_t4(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_connection_stats_max_memory': '45M',
|
||||
'pn_fabric_connection_backup_enable': False, 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 connection-stats-settings-modify '
|
||||
expected_cmd += ' fabric-connection-backup-disable connection-stats-max-memory 45M'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_cpu_class
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestCpuClassModule(TestNvosModule):
|
||||
|
||||
module = pn_cpu_class
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_cpu_class.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_cpu_class.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'cpu-class-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'cpu-class-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
if state == 'update':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_cpu_class_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'icmp',
|
||||
'pn_scope': 'local', 'pn_rate_limit': '1000', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 cpu-class-create name icmp scope local rate-limit 1000 '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_cpu_class_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'icmp',
|
||||
'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 cpu-class-delete name icmp '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_cpu_class_update(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'icmp',
|
||||
'pn_rate_limit': '2000', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 cpu-class-modify name icmp rate-limit 2000 '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_cpu_mgmt_class
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestCpuMgmtClassModule(TestNvosModule):
|
||||
|
||||
module = pn_cpu_mgmt_class
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_cpu_mgmt_class.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'cpu-mgmt-class-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_cpu_mgmt_class_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'icmp',
|
||||
'pn_rate_limit': '10000', 'pn_burst_size': '14000', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 cpu-mgmt-class-modify name icmp burst-size 14000 rate-limit 10000'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_cpu_mgmt_class_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'ssh',
|
||||
'pn_rate_limit': '10000', 'pn_burst_size': '100000', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 cpu-mgmt-class-modify name ssh burst-size 100000 rate-limit 10000'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_dhcp_filter
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestDhcpFilterModule(TestNvosModule):
|
||||
|
||||
module = pn_dhcp_filter
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_dhcp_filter.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_dhcp_filter.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'dhcp-filter-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'dhcp-filter-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['update'] == 'dhcp-filter-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
if state == 'update':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_dhcp_filter_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_trusted_ports': '1', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 dhcp-filter-create name foo trusted-ports 1'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_dhcp_filter_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 dhcp-filter-delete name foo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_dhcp_filter_update(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_trusted_ports': '2', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 dhcp-filter-modify name foo trusted-ports 2'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_dscp_map
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestDscpMapModule(TestNvosModule):
|
||||
|
||||
module = pn_dscp_map
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_dscp_map.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_dscp_map.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'dscp-map-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'dscp-map-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_dscp_map_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_scope': 'local', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 dscp-map-create name foo scope local'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_dscp_map_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 dscp-map-delete name foo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_dscp_map_pri_map
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestCpuClassModule(TestNvosModule):
|
||||
|
||||
module = pn_dscp_map_pri_map
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_dscp_map_pri_map.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_dscp_map_pri_map.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'dscp-map-pri-map-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'update':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_dscp_map_pri_map_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_pri': '0', 'pn_dsmap': '40', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 dscp-map-pri-map-modify pri 0 name foo dsmap 40'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_dscp_map_pri_map_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_pri': '1', 'pn_dsmap': '8,10,12,14', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 dscp-map-pri-map-modify pri 1 name foo dsmap 8,10,12,14'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_dscp_map_pri_map_t3(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_pri': '2', 'pn_dsmap': '25', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 dscp-map-pri-map-modify pri 2 name foo dsmap 25'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_fabric_local
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestFabricLocalModule(TestNvosModule):
|
||||
|
||||
module = pn_fabric_local
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_fabric_local.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'fabric-local-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_fabric_local_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_fabric_advertisement_network': 'mgmt-only',
|
||||
'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 fabric-local-modify fabric-network mgmt fabric-advertisement-network mgmt-only'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_fabric_local_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_fabric_network': 'mgmt',
|
||||
'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 fabric-local-modify fabric-network mgmt'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_igmp_snooping
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestAdminServiceModule(TestNvosModule):
|
||||
|
||||
module = pn_igmp_snooping
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_igmp_snooping.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'igmp-snooping-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_igmp_snooping_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vxlan': True,
|
||||
'pn_enable_vlans': '1-399,401-4092', 'pn_no_snoop_linklocal_vlans': 'none', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 igmp-snooping-modify vxlan enable-vlans '
|
||||
expected_cmd += '1-399,401-4092 no-snoop-linklocal-vlans none'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_igmp_snooping_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_scope': 'local',
|
||||
'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 igmp-snooping-modify scope local'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_igmp_snooping_modify_t3(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vxlan': False,
|
||||
'pn_enable_vlans': '1-399', 'pn_igmpv3_vlans': '1-399', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 igmp-snooping-modify no-vxlan igmpv3-vlans 1-399 enable-vlans 1-399'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_ipv6security_raguard
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestIPV6SecurityRaguardModule(TestNvosModule):
|
||||
|
||||
module = pn_ipv6security_raguard
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_ipv6security_raguard.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_ipv6security_raguard.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'ipv6security-raguard-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'ipv6security-raguard-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['update'] == 'ipv6security-raguard-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
if state == 'update':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_ipv6security_raguard_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_device': 'host'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 ipv6security-raguard-create name foo device host'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_ipv6security_raguard_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 ipv6security-raguard-delete name foo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_ipv6security_raguard_modify(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_device': 'router', 'pn_router_priority': 'medium', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 ipv6security-raguard-modify name foo device router router-priority medium'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_ipv6security_raguard_port
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestIPV6SecurityRaguardPortModule(TestNvosModule):
|
||||
|
||||
module = pn_ipv6security_raguard_port
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_ipv6security_raguard_port.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_ipv6security_raguard_port.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'ipv6security-raguard-port-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'ipv6security-raguard-port-remove':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = True
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_ipv6security_raguard_port_add(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_ports': '1'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 ipv6security-raguard-port-add name foo ports 1'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_ipv6security_raguard_port_remove(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_ports': '1', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 ipv6security-raguard-port-remove name foo ports 1'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_ipv6security_raguard_vlan
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestIPV6SecurityReguardVlanModule(TestNvosModule):
|
||||
|
||||
module = pn_ipv6security_raguard_vlan
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_ipv6security_raguard_vlan.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_ipv6security_raguard_vlan.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'ipv6security-raguard-vlan-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'ipv6security-raguard-vlan-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = True
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_ipv6security_reguard_vlan_add(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_vlans': '100-105', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 ipv6security-raguard-vlan-add name foo vlans 100-105'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_ipv6security_reguard_vlan_remove(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_vlans': '100-105', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 ipv6security-raguard-vlan-remove name foo vlans 100-105'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
import json
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_log_audit_exception
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule, load_fixture
|
||||
|
||||
|
||||
class TestLogAuditExceptionModule(TestNvosModule):
|
||||
|
||||
module = pn_log_audit_exception
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_log_audit_exception.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_log_audit_exception.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'log-audit-exception-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'log-audit-exception-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_log_audit_exception_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_audit_type': 'cli',
|
||||
'pn_pattern': 'test', 'pn_scope': 'local', 'pn_access': 'any', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 log-audit-exception-create cli pattern test any scope local '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_log_audit_exception_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_audit_type': 'cli',
|
||||
'pn_pattern': 'test', 'pn_access': 'any', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 log-audit-exception-delete cli pattern test any'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_port_config
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestPortConfigModule(TestNvosModule):
|
||||
|
||||
module = pn_port_config
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_port_config.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'port-config-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_pn_port_config_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_port': '1,2',
|
||||
'pn_speed': '10g', 'pn_jumbo': True, 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 port-config-modify speed 10g port 1,2 jumbo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_pn_port_config_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_port': 'all',
|
||||
'pn_host_enable': True, 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 port-config-modify port all host-enable '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_pn_port_config_modify_t3(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_port': '5',
|
||||
'pn_crc_check_enable': True, 'pn_vxlan_termination': False, 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 port-config-modify port 5 crc-check-enable no-vxlan-termination '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_pn_port_config_modify_t4(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_port': '10,11,12',
|
||||
'pn_pause': False, 'pn_enable': True, 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 port-config-modify port 10,11,12 no-pause enable '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_port_cos_bw
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestAdminServiceModule(TestNvosModule):
|
||||
|
||||
module = pn_port_cos_bw
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_port_cos_bw.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'port-cos-bw-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_pn_port_cos_bw_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_port': '1',
|
||||
'pn_cos': '0', 'pn_min_bw_guarantee': '60', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 port-cos-bw-modify cos 0 port 1 min-bw-guarantee 60'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_pn_port_cos_bw_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_port': 'all',
|
||||
'pn_cos': '1', 'pn_weight': 'priority', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 port-cos-bw-modify cos 1 port all weight priority'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_port_cos_rate_setting
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestPortCosRateSettingModule(TestNvosModule):
|
||||
|
||||
module = pn_port_cos_rate_setting
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_port_cos_rate_setting.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'port-cos-rate-setting-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_pn_port_cos_rate_setting_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_port': 'control-port',
|
||||
'pn_cos1_rate': '4000', 'pn_cos2_rate': '4000', 'pn_cos3_rate': '4000', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 port-cos-rate-setting-modify cos1-rate 4000 cos2-rate 4000 '
|
||||
expected_cmd += 'cos3-rate 4000 port control-port'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_pn_port_cos_rate_setting_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_port': 'data-port',
|
||||
'pn_cos1_rate': '2000', 'pn_cos5_rate': '3000', 'pn_cos2_rate': '4000', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 port-cos-rate-setting-modify cos1-rate 2000 cos5-rate 3000 '
|
||||
expected_cmd += 'cos2-rate 4000 port data-port'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_prefix_list
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestPrefixListModule(TestNvosModule):
|
||||
|
||||
module = pn_prefix_list
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_prefix_list.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_prefix_list.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'prefix-list-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'prefix-list-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_prefix_list_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_scope': 'local', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 prefix-list-create name foo scope local '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_prefix_list_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 prefix-list-delete name foo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_prefix_list_network
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestPrefixListNetworkModule(TestNvosModule):
|
||||
|
||||
module = pn_prefix_list_network
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_prefix_list_network.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_prefix_list_network.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'prefix-list-network-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'prefix-list-network-remove':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_prefix_list_network_add(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_network': '172.16.3.1', 'pn_netmask': '24', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 prefix-list-network-add name foo network 172.16.3.1 netmask 24'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_prefix_list_network_remove(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_network': '172.16.3.1', 'pn_netmask': '24', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 prefix-list-network-remove name foo network 172.16.3.1 netmask 24'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
74
tests/unit/plugins/modules/network/netvisor/test_pn_role.py
Normal file
74
tests/unit/plugins/modules/network/netvisor/test_pn_role.py
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_role
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestRoleModule(TestNvosModule):
|
||||
|
||||
module = pn_role
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_role.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_role.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'role-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'role-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['update'] == 'role-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
if state == 'update':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_role_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_scope': 'local', 'pn_access': 'read-only', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 role-create name foo scope local access read-only'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_role_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 role-delete name foo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_role_update(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_access': 'read-write', 'pn_sudo': True, 'pn_shell': True, 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 role-modify name foo access read-write shell sudo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_snmp_community
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestSnmpCommunityModule(TestNvosModule):
|
||||
|
||||
module = pn_snmp_community
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_snmp_community.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_snmp_community.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'snmp-community-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'snmp-community-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['update'] == 'snmp-community-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
if state == 'update':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_snmp_community_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_community_string': 'foo',
|
||||
'pn_community_type': 'read-write', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 snmp-community-create community-string foo community-type read-write'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_snmp_community_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_community_string': 'foo',
|
||||
'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 snmp-community-delete community-string foo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_snmp_community_update(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_community_string': 'foo',
|
||||
'pn_community_type': 'read-only', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 snmp-community-modify community-string foo community-type read-only'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_snmp_trap_sink
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestSnmpTrapSinkModule(TestNvosModule):
|
||||
|
||||
module = pn_snmp_trap_sink
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_snmp_trap_sink.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_snmp_trap_sink.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'snmp-trap-sink-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'snmp-trap-sink-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_snmp_trap_sink_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_community': 'foo',
|
||||
'pn_dest_host': '192.168.67.8', 'pn_type': 'TRAP_TYPE_V2_INFORM', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 snmp-trap-sink-create type TRAP_TYPE_V2_INFORM dest-host 192.168.67.8 '
|
||||
expected_cmd += 'community foo dest-port 162'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_snmp_trap_sink_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_community': 'foo',
|
||||
'pn_dest_host': '192.168.67.8', 'pn_type': 'TRAP_TYPE_V2_INFORM', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 snmp-trap-sink-delete community foo dest-host 192.168.67.8 dest-port 162'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_snmp_vacm
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestSnmpVacmModule(TestNvosModule):
|
||||
|
||||
module = pn_snmp_vacm
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_snmp_vacm.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_snmp_vacm.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'snmp-vacm-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'snmp-vacm-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['update'] == 'snmp-vacm-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
if state == 'update':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_snmp_vacm_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_user_name': 'foo',
|
||||
'pn_user_type': 'rouser', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 snmp-vacm-create user-name foo user-type rouser'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_snmp_vacm_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_user_name': 'foo',
|
||||
'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 snmp-vacm-delete user-name foo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_snmp_vacm_modify(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_user_name': 'foo',
|
||||
'pn_user_type': 'rwuser', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 snmp-vacm-delete user-name foo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
49
tests/unit/plugins/modules/network/netvisor/test_pn_stp.py
Normal file
49
tests/unit/plugins/modules/network/netvisor/test_pn_stp.py
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_stp
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestStpModule(TestNvosModule):
|
||||
|
||||
module = pn_stp
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_stp.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'stp-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_stp_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_hello_time': '3',
|
||||
'pn_stp_mode': 'rstp', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 stp-modify hello-time 3 root-guard-wait-time 20 mst-max-hops 20 max-age 20 '
|
||||
expected_cmd += 'stp-mode rstp forwarding-delay 15 bridge-priority 32768'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_stp_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_root_guard_wait_time': '50',
|
||||
'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 stp-modify hello-time 2 root-guard-wait-time 50 mst-max-hops 20 '
|
||||
expected_cmd += 'max-age 20 forwarding-delay 15 bridge-priority 32768'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_stp_port
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestStpPortModule(TestNvosModule):
|
||||
|
||||
module = pn_stp_port
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_stp_port.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'stp-port-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_stp_port_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_port': '1',
|
||||
'pn_filter': True, 'pn_priority': '144', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 stp-port-modify priority 144 cost 2000 port 1 filter '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_stp_port_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_port': '1,2',
|
||||
'pn_cost': '200', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 stp-port-modify priority 128 cost 200 port 1,2'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_switch_setup
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestSwitchSetupModule(TestNvosModule):
|
||||
|
||||
module = pn_switch_setup
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_switch_setup.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'switch-setup-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_pn_switch_setup_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_timezone': 'America/New_York',
|
||||
'pn_in_band_ip': '20.20.1.1', 'pn_in_band_netmask': '24', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 switch-setup-modify timezone America/New_York '
|
||||
expected_cmd += 'in-band-netmask 24 in-band-ip 20.20.1.1'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_pn_switch_setup_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_in_band_ip6': '2001:0db8:85a3::8a2e:0370:7334',
|
||||
'pn_in_band_netmask_ip6': '127', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 switch-setup-modify in-band-ip6 2001:0db8:85a3::8a2e:0370:7334 '
|
||||
expected_cmd += 'in-band-netmask-ip6 127'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_pn_switch_setup_modify_t3(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_date': '2019-01-11',
|
||||
'pn_loopback_ip': '10.10.10.1', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 switch-setup-modify date 2019-01-11 loopback-ip 10.10.10.1'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_pn_switch_setup_modify_t4(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_dns_ip': '172.16.5.5',
|
||||
'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 switch-setup-modify dns-ip 172.16.5.5'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
74
tests/unit/plugins/modules/network/netvisor/test_pn_user.py
Normal file
74
tests/unit/plugins/modules/network/netvisor/test_pn_user.py
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_user
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestUserModule(TestNvosModule):
|
||||
|
||||
module = pn_user
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_user.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_user.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'user-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'user-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['update'] == 'user-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
if state == 'update':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_user_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_scope': 'local', 'pn_password': 'test123', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 user-create name foo scope local password test123'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_user_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 user-delete name foo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_user_modify(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_password': 'test1234', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 user-modify name foo password test1234'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_vflow_table_profile
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestVflowTableProfileModule(TestNvosModule):
|
||||
|
||||
module = pn_vflow_table_profile
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vflow_table_profile.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'vflow-table-profile-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
|
||||
def test_vflow_table_profile_modify_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_profile': 'ipv6',
|
||||
'pn_hw_tbl': 'switch-main', 'pn_enable': True, 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 vflow-table-profile-modify profile ipv6 hw-tbl switch-main enable '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_vflow_table_profile_modify_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_profile': 'qos',
|
||||
'pn_hw_tbl': 'switch-main', 'pn_enable': False, 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 vflow-table-profile-modify profile qos hw-tbl switch-main disable '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_vrouter_bgp
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestVrouterBGPModule(TestNvosModule):
|
||||
|
||||
module = pn_vrouter_bgp
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_bgp.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_bgp.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'vrouter-bgp-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'vrouter-bgp-remove':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['update'] == 'vrouter-bgp-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = True, False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True, True
|
||||
if state == 'update':
|
||||
self.run_check_cli.return_value = True, True
|
||||
|
||||
def test_vrouter_bgp_add(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'sw01-vrouter',
|
||||
'pn_neighbor': '105.104.104.1', 'pn_remote_as': '65000', 'pn_bfd': True, 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 vrouter-bgp-add vrouter-name sw01-vrouter neighbor 105.104.104.1 remote-as 65000 bfd '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_vrouter_bgp_remove(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'sw01-vrouter',
|
||||
'pn_neighbor': '105.104.104.1', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 vrouter-bgp-remove vrouter-name sw01-vrouter neighbor 105.104.104.1 '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_vrouter_bgp_modify(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'sw01-vrouter', 'pn_neighbor': '105.104.104.1',
|
||||
'pn_remote_as': '65000', 'pn_bfd': False, 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 vrouter-bgp-modify vrouter-name sw01-vrouter neighbor 105.104.104.1 remote-as 65000 no-bfd '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_vrouter_bgp_network
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestVrouterBGPNetworkModule(TestNvosModule):
|
||||
|
||||
module = pn_vrouter_bgp_network
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_bgp_network.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_bgp_network.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'vrouter-bgp-network-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'vrouter-bgp-network-remove':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False, ''
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True, ''
|
||||
|
||||
def test_vrouter_bgp_network_add(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'foo-vrouter',
|
||||
'pn_network': '10.10.10.10', 'pn_netmask': '31', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 vrouter-bgp-network-add vrouter-name foo-vrouter netmask 31 '
|
||||
expected_cmd += 'network 10.10.10.10'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_vrouter_bgp_network_remove(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'foo-vrouter',
|
||||
'pn_network': '10.10.10.10', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 vrouter-bgp-network-remove vrouter-name foo-vrouter network 10.10.10.10'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_vrouter_interface_ip
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestVrouterInterfaceIpModule(TestNvosModule):
|
||||
|
||||
module = pn_vrouter_interface_ip
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_interface_ip.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_interface_ip.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'vrouter-interface-ip-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'vrouter-interface-ip-remove':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = True, False, True
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True, True, True
|
||||
|
||||
def test_vrouter_interface_ip_add(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'foo-vrouter',
|
||||
'pn_ip': '2620:0:1651:1::30', 'pn_netmask': '127', 'pn_nic': 'eth0.4092', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 vrouter-interface-ip-add vrouter-name foo-vrouter nic eth0.4092 '
|
||||
expected_cmd += 'ip 2620:0:1651:1::30 netmask 127'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_vrouter_interface_ip_remove(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'foo-vrouter',
|
||||
'pn_ip': '2620:0:1651:1::30', 'pn_nic': 'eth0.4092', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 vrouter-interface-ip-remove vrouter-name foo-vrouter nic eth0.4092 '
|
||||
expected_cmd += 'ip 2620:0:1651:1::30 '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_vrouter_loopback_interface
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestVrouterLoopbackInterfaceModule(TestNvosModule):
|
||||
|
||||
module = pn_vrouter_loopback_interface
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_loopback_interface.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_loopback_interface.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'vrouter-loopback-interface-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'vrouter-loopback-remove':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = True, False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True, True
|
||||
|
||||
def test_vrouter_loopback_interface_add(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'foo-vrouter',
|
||||
'pn_ip': '192.168.10.1', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 vrouter-loopback-interface-add vrouter-name foo-vrouter ip 192.168.10.1'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_vrouter_loopback_interface_remove(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'foo-vrouter',
|
||||
'pn_ip': '192.168.10.1', 'pn_index': '1', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 vrouter-loopback-interface-remove vrouter-name foo-vrouter index 1'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_vrouter_ospf
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestVrouterOSPFModule(TestNvosModule):
|
||||
|
||||
module = pn_vrouter_ospf
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_ospf.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_ospf.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'vrouter-ospf-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'vrouter-ospf-remove':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = True, False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True, True
|
||||
|
||||
def test_vrouter_ospf_add(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'sw01-vrouter',
|
||||
'pn_network': '105.104.104.1', 'pn_netmask': '24', 'pn_ospf_area': '0', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 vrouter-ospf-add vrouter-name sw01-vrouter network 105.104.104.1 netmask 24 ospf-area 0'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_vrouter_ospf_remove(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'sw01-vrouter',
|
||||
'pn_network': '105.104.104.1', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 vrouter-ospf-remove vrouter-name sw01-vrouter network 105.104.104.1'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_vrouter_ospf6
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestVrouterOSPF6Module(TestNvosModule):
|
||||
|
||||
module = pn_vrouter_ospf6
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_ospf6.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_ospf6.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'vrouter-ospf6-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'vrouter-ospf6-remove':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = True, False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True, True
|
||||
|
||||
def test_vrouter_ospf6_add(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'foo-vrouter',
|
||||
'pn_nic': 'eth0.4092', 'pn_ospf6_area': '0.0.0.0', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 vrouter-ospf6-add vrouter-name foo-vrouter nic eth0.4092 ospf6-area 0.0.0.0 '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_vrouter_ospf6_remove(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'foo-vrouter',
|
||||
'pn_nic': 'eth0.4092', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 vrouter-ospf6-remove vrouter-name foo-vrouter nic eth0.4092'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_vrouter_packet_relay
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestVrouterPacketRelayModule(TestNvosModule):
|
||||
|
||||
module = pn_vrouter_packet_relay
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_packet_relay.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_packet_relay.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'vrouter-packet-relay-add':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'vrouter-packet-relay-remove':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = True, True
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True, True
|
||||
|
||||
def test_vrouter_packet_relay_add(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'foo-vrouter',
|
||||
'pn_forward_ip': '192.168.1.10', 'pn_nic': 'eth0.4092', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 vrouter-packet-relay-add vrouter-name foo-vrouter nic eth0.4092 forward-proto dhcp forward-ip 192.168.1.10'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_vrouter_packet_relay_remove(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_vrouter_name': 'foo-vrouter',
|
||||
'pn_forward_ip': '192.168.1.10', 'pn_nic': 'eth0.4092', 'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 vrouter-packet-relay-remove vrouter-name foo-vrouter nic eth0.4092 forward-proto dhcp forward-ip 192.168.1.10'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_vrouter_pim_config
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule
|
||||
|
||||
|
||||
class TestVrouterPimConfigModule(TestNvosModule):
|
||||
|
||||
module = pn_vrouter_pim_config
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_pim_config.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vrouter_pim_config.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['update'] == 'vrouter-pim-config-modify':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'update':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_vrouter_pim_config_t1(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_query_interval': '10',
|
||||
'pn_querier_timeout': '30', 'pn_vrouter_name': 'foo-vrouter', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 vrouter-pim-config-modify vrouter-name foo-vrouter '
|
||||
expected_cmd += 'querier-timeout 30 query-interval 10'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_vrouter_pim_config_t2(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_query_interval': '30',
|
||||
'pn_hello_interval': '120', 'pn_vrouter_name': 'foo-vrouter', 'state': 'update'})
|
||||
result = self.execute_module(changed=True, state='update')
|
||||
expected_cmd = ' switch sw01 vrouter-pim-config-modify vrouter-name foo-vrouter '
|
||||
expected_cmd += 'hello-interval 120 query-interval 30'
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
63
tests/unit/plugins/modules/network/netvisor/test_pn_vtep.py
Normal file
63
tests/unit/plugins/modules/network/netvisor/test_pn_vtep.py
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# Copyright: (c) 2018, Pluribus Networks
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
import json
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import patch
|
||||
from ansible_collections.community.general.plugins.modules.network.netvisor import pn_vtep
|
||||
from ansible_collections.community.general.tests.unit.plugins.modules.utils import set_module_args
|
||||
from .nvos_module import TestNvosModule, load_fixture
|
||||
|
||||
|
||||
class TestVtepModule(TestNvosModule):
|
||||
|
||||
module = pn_vtep
|
||||
|
||||
def setUp(self):
|
||||
self.mock_run_nvos_commands = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vtep.run_cli')
|
||||
self.run_nvos_commands = self.mock_run_nvos_commands.start()
|
||||
|
||||
self.mock_run_check_cli = patch('ansible_collections.community.general.plugins.modules.network.netvisor.pn_vtep.check_cli')
|
||||
self.run_check_cli = self.mock_run_check_cli.start()
|
||||
|
||||
def tearDown(self):
|
||||
self.mock_run_nvos_commands.stop()
|
||||
self.mock_run_check_cli.stop()
|
||||
|
||||
def run_cli_patch(self, module, cli, state_map):
|
||||
if state_map['present'] == 'vtep-create':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
elif state_map['absent'] == 'vtep-delete':
|
||||
results = dict(
|
||||
changed=True,
|
||||
cli_cmd=cli
|
||||
)
|
||||
module.exit_json(**results)
|
||||
|
||||
def load_fixtures(self, commands=None, state=None, transport='cli'):
|
||||
self.run_nvos_commands.side_effect = self.run_cli_patch
|
||||
if state == 'present':
|
||||
self.run_check_cli.return_value = False
|
||||
if state == 'absent':
|
||||
self.run_check_cli.return_value = True
|
||||
|
||||
def test_vtep_create(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'pn_vrouter_name': 'sw01-vrouter', 'pn_location': 'sw01', 'pn_ip': '192.168.1.10',
|
||||
'pn_virtual_ip': '192.168.1.9', 'state': 'present'})
|
||||
result = self.execute_module(changed=True, state='present')
|
||||
expected_cmd = ' switch sw01 vtep-create name foo vrouter-name sw01-vrouter ip 192.168.1.10 location sw01 virtual-ip 192.168.1.9 '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
|
||||
def test_vtep_delete(self):
|
||||
set_module_args({'pn_cliswitch': 'sw01', 'pn_name': 'foo',
|
||||
'state': 'absent'})
|
||||
result = self.execute_module(changed=True, state='absent')
|
||||
expected_cmd = ' switch sw01 vtep-delete name foo '
|
||||
self.assertEqual(result['cli_cmd'], expected_cmd)
|
||||
Loading…
Add table
Add a link
Reference in a new issue