def test_nos_facts(self): set_module_args(dict(gather_subset='default')) result = self.execute_module() self.assertEqual(result['ansible_facts']['ansible_net_model'], 'BR-VDX6740') self.assertEqual(result['ansible_facts']['ansible_net_serialnum'], 'CPL2541K01E')
def test_nos_command_match_any(self): wait_for = [ 'result[0] contains "Network"', 'result[0] contains "test string"' ] set_module_args( dict(commands=['show version'], wait_for=wait_for, match='any')) self.execute_module()
def test_nos_config_src(self): src = load_fixture('nos_config_src.cfg') set_module_args(dict(src=src)) commands = [ 'hostname foo', 'interface TenGigabitEthernet 104/0/0', 'no ip address' ] self.execute_module(changed=True, commands=commands)
def test_nos_command_match_all(self): wait_for = [ 'result[0] contains "Network"', 'result[0] contains "Network Operating System Software"' ] set_module_args( dict(commands=['show version'], wait_for=wait_for, match='all')) self.execute_module()
def test_nos_command_match_all_failure(self): wait_for = [ 'result[0] contains "Network Operating System Software"', 'result[0] contains "test string"' ] commands = ['show version', 'show version'] set_module_args(dict(commands=commands, wait_for=wait_for, match='all')) self.execute_module(failed=True)
def test_nos_config_match_exact(self): lines = [ 'ip address 1.2.3.4 255.255.255.0', 'description test string', 'shutdown' ] parents = ['interface TenGigabitEthernet 104/0/0'] set_module_args(dict(lines=lines, parents=parents, match='exact')) commands = parents + lines self.execute_module(changed=True, commands=commands, sort=False)
def test_nos_command_configure_error(self): commands = ['configure terminal'] set_module_args({ 'commands': commands, '_ansible_check_mode': True, }) result = self.execute_module(failed=True) self.assertEqual( result['msg'], 'nos_command does not support running config mode commands. ' 'Please use nos_config instead')
def test_nos_config_replace_block(self): lines = ['description test string', 'test string'] parents = ['interface TenGigabitEthernet 104/0/0'] set_module_args(dict(lines=lines, replace='block', parents=parents)) commands = parents + lines self.execute_module(changed=True, commands=commands)
def test_nos_config_after(self): set_module_args(dict(lines=['hostname foo'], after=['test1', 'test2'])) commands = ['hostname foo', 'test1', 'test2'] self.execute_module(changed=True, commands=commands, sort=False)
def test_nos_config_lines_w_parents(self): set_module_args( dict(lines=['shutdown'], parents=['interface TenGigabitEthernet 104/0/0'])) commands = ['interface TenGigabitEthernet 104/0/0', 'shutdown'] self.execute_module(changed=True, commands=commands)
def test_nos_command_retries(self): wait_for = 'result[0] contains "test string"' set_module_args( dict(commands=['show version'], wait_for=wait_for, retries=2)) self.execute_module(failed=True) self.assertEqual(self.run_commands.call_count, 2)
def test_nos_config_config(self): config = 'hostname localhost' set_module_args(dict(lines=['hostname router'], config=config)) commands = ['hostname router'] self.execute_module(changed=True, commands=commands)
def test_nos_config_replace_config_requires_src(self): args = dict(replace='config') set_module_args(args) self.execute_module(failed=True)
def test_nos_config_unchanged(self): src = load_fixture('nos_config_config.cfg') set_module_args(dict(src=src)) self.execute_module()
def test_nos_config_replace_block_requires_lines(self): args = dict(replace='block') set_module_args(args) self.execute_module(failed=True)
def test_nos_config_match_strict_requires_lines(self): args = dict(match='strict') set_module_args(args) self.execute_module(failed=True)
def test_nos_config_src_and_parents_fails(self): args = dict(src='foo', parents='foo') set_module_args(args) self.execute_module(failed=True)
def test_nos_command_multiple(self): set_module_args(dict(commands=['show version', 'show version'])) result = self.execute_module() self.assertEqual(len(result['stdout']), 2) self.assertTrue(result['stdout'][0].startswith( 'Network Operating System Software'))
def test_nos_config_lines_wo_parents(self): set_module_args(dict(lines=['hostname foo'])) commands = ['hostname foo'] self.execute_module(changed=True, commands=commands)
def test_nos_command_wait_for(self): wait_for = 'result[0] contains "Network Operating System Software"' set_module_args(dict(commands=['show version'], wait_for=wait_for)) self.execute_module()
def test_nos_config_match_none(self): lines = ['hostname router'] set_module_args(dict(lines=lines, match='none')) self.execute_module(changed=True, commands=lines)
def test_nos_config_backup(self): set_module_args(dict(backup=True)) result = self.execute_module() self.assertIn('__backup__', result)
def test_nos_config_before_after_no_change(self): set_module_args( dict(lines=['hostname router'], before=['test1', 'test2'], after=['test3', 'test4'])) self.execute_module()