def test_dellos10_config_match_exact(self): lines = [ 'ip address 1.2.3.4/24', 'description test string', 'shutdown' ] parents = ['interface ethernet1/1/2'] set_module_args(dict(lines=lines, parents=parents, match='exact')) commands = parents + lines self.execute_module(changed=True, commands=commands, sort=False)
def test_dellos10_facts_gather_subset_config(self): set_module_args({'gather_subset': 'config'}) result = self.execute_module() ansible_facts = result['ansible_facts'] self.assertIn('default', ansible_facts['ansible_net_gather_subset']) self.assertIn('config', ansible_facts['ansible_net_gather_subset']) self.assertEqual('os10', ansible_facts['ansible_net_hostname']) self.assertIn('ansible_net_config', ansible_facts)
def test_dellos10_facts_gather_subset_hardware(self): set_module_args({'gather_subset': 'hardware'}) result = self.execute_module() ansible_facts = result['ansible_facts'] self.assertIn('default', ansible_facts['ansible_net_gather_subset']) self.assertIn('hardware', ansible_facts['ansible_net_gather_subset']) self.assertEqual('x86_64', ansible_facts['ansible_net_cpu_arch']) self.assertEqual(7936, ansible_facts['ansible_net_memtotal_mb']) self.assertEqual(5693, ansible_facts['ansible_net_memfree_mb'])
def test_dellos10_config_save(self): set_module_args(dict(save=True)) self.execute_module(changed=True) self.assertEqual(self.run_commands.call_count, 1) self.assertEqual(self.get_config.call_count, 0) self.assertEqual(self.load_config.call_count, 0) args = self.run_commands.call_args[0][1] self.assertDictContainsSubset( {'command': 'copy running-config startup-config'}, args[0])
def test_dellos10_facts_gather_subset_default(self): set_module_args(dict()) result = self.execute_module() ansible_facts = result['ansible_facts'] self.assertIn('hardware', ansible_facts['ansible_net_gather_subset']) self.assertIn('default', ansible_facts['ansible_net_gather_subset']) self.assertIn('interfaces', ansible_facts['ansible_net_gather_subset']) self.assertEqual('os10', ansible_facts['ansible_net_hostname']) self.assertIn('ethernet1/1/8', ansible_facts['ansible_net_interfaces'].keys()) self.assertEqual(7936, ansible_facts['ansible_net_memtotal_mb']) self.assertEqual(5693, ansible_facts['ansible_net_memfree_mb'])
def test_dellos10_facts_gather_subset_interfaces(self): set_module_args({'gather_subset': 'interfaces'}) result = self.execute_module() ansible_facts = result['ansible_facts'] self.assertIn('default', ansible_facts['ansible_net_gather_subset']) self.assertIn('interfaces', ansible_facts['ansible_net_gather_subset']) self.assertIn('ethernet1/1/8', ansible_facts['ansible_net_interfaces'].keys()) self.assertEqual( sorted([ 'mgmt1/1/1', 'ethernet1/1/4', 'ethernet1/1/2', 'ethernet1/1/3', 'ethernet1/1/1' ]), sorted(list(ansible_facts['ansible_net_neighbors'].keys()))) self.assertIn('ansible_net_interfaces', ansible_facts)
def test_dellos10_config_before_after_no_change(self): set_module_args( dict(lines=['hostname router'], before=['snmp-server contact bar'], after=['snmp-server location chennai'])) self.execute_module()
def test_dellos10_command_match_any(self): wait_for = ['result[0] contains "Dell EMC"', 'result[0] contains "test string"'] set_module_args(dict(commands=['show version'], wait_for=wait_for, match='any')) self.execute_module()
def test_dellos10_command_wait_for(self): wait_for = 'result[0] contains "Dell EMC"' set_module_args(dict(commands=['show version'], wait_for=wait_for)) self.execute_module()
def test_dellos10_config_backup(self): set_module_args(dict(backup=True)) result = self.execute_module() self.assertIn('__backup__', result)
def test_dellos10_config_src(self): src = load_fixture('dellos10_config_src.cfg') set_module_args(dict(src=src)) commands = ['hostname foo', 'interface ethernet1/1/2', 'no ip address'] self.execute_module(changed=True, commands=commands)
def test_dellos10_config_unchanged(self): src = load_fixture('dellos10_config_config.cfg') set_module_args(dict(src=src)) self.execute_module()
def test_dellos10_config_match_none(self): lines = ['hostname router'] set_module_args(dict(lines=lines, match='none')) self.execute_module(changed=True, commands=lines)
def test_dellos10_config_replace_block(self): lines = ['description test string', 'test string'] parents = ['interface ethernet1/1/2'] set_module_args(dict(lines=lines, replace='block', parents=parents)) commands = parents + lines self.execute_module(changed=True, commands=commands)
def test_dellos10_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_dellos10_command_match_all_failure(self): wait_for = ['result[0] contains "Dell EMC"', '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_dellos10_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('Dell EMC Networking'))
def test_dellos10_config_lines_wo_parents(self): set_module_args(dict(lines=['hostname foo'])) commands = ['hostname foo'] self.execute_module(changed=True, commands=commands)
def test_dellos10_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_dellos10_config_lines_w_parents(self): set_module_args( dict(lines=['shutdown'], parents=['interface ethernet1/1/2'])) commands = ['interface ethernet1/1/2', 'shutdown'] self.execute_module(changed=True, commands=commands)
def test_dellos10_command_match_all(self): wait_for = ['result[0] contains "Dell EMC"', 'result[0] contains "OS10 Enterprise"'] set_module_args(dict(commands=['show version'], wait_for=wait_for, match='all')) self.execute_module()
def test_dellos10_config_after(self): set_module_args( dict(lines=['hostname foo'], after=['snmp-server contact bar'])) commands = ['hostname foo', 'snmp-server contact bar'] self.execute_module(changed=True, commands=commands, sort=False)