def test_slxos_interface_mtu_out_of_range(self, *args, **kwargs):
     set_module_args(dict(name='Ethernet 0/2', mtu=15000))
     result = self.execute_module(failed=True)
     self.assertEqual(result, {
         'msg': 'mtu must be between 1548 and 9216',
         'failed': True
     })
 def test_slxos_interface_mtu(self, *args, **kwargs):
     set_module_args(dict(name='Ethernet 0/2', mtu=1548))
     result = self.execute_module(changed=True)
     self.assertEqual(result, {
         'commands': ['interface Ethernet 0/2', 'mtu 1548'],
         'changed': True
     })
 def test_slxos_interface_enabled(self, *args, **kwargs):
     set_module_args(dict(name='Ethernet 0/1', enabled=True))
     result = self.execute_module(changed=True)
     self.assertEqual(result, {
         'commands': ['interface Ethernet 0/1', 'no shutdown'],
         'changed': True
     })
 def test_slxos_interface_speed(self, *args, **kwargs):
     set_module_args(dict(name='Ethernet 0/2', speed=1000))
     result = self.execute_module(changed=True)
     self.assertEqual(result, {
         'commands': ['interface Ethernet 0/2', 'speed 1000'],
         'changed': True
     })
Ejemplo n.º 5
0
 def test_slxos_command_match_any(self):
     wait_for = [
         'result[0] contains "SLX-OS"', 'result[0] contains "test string"'
     ]
     set_module_args(
         dict(commands=['show version'], wait_for=wait_for, match='any'))
     self.execute_module()
 def test_slxos_linkagg_group_present(self, *args, **kwargs):
     set_module_args(dict(group='10', state='present'))
     result = self.execute_module(changed=True)
     self.assertEqual(result, {
         'commands': ['interface port-channel 10', 'exit'],
         'changed': True
     })
 def test_slxos_facts(self):
     set_module_args(dict(gather_subset='default'))
     result = self.execute_module()
     self.assertEqual(result['ansible_facts']['ansible_net_model'],
                      'BR-SLX9140')
     self.assertEqual(result['ansible_facts']['ansible_net_serialnum'],
                      'EXH3349M005')
Ejemplo n.º 8
0
 def test_slxos_lldp_present(self, *args, **kwargs):
     set_module_args(dict(state='present'))
     result = self.execute_module(changed=True)
     self.assertEqual(result, {
         'commands': ['protocol lldp', 'no disable'],
         'changed': True
     })
Ejemplo n.º 9
0
 def test_slxos_vlan_with_members(self, *args, **kwargs):
     set_module_args(dict(
         vlan_id=100,
         name='ONEHUNDRED',
         interfaces=[
             'Ethernet 0/1',
             'Ethernet 0/2'
         ]
     ))
     result = self.execute_module(changed=True)
     self.assertEqual(
         result,
         {
             'commands': [
                 'vlan 100',
                 'name ONEHUNDRED',
                 'interface Ethernet 0/1',
                 'switchport',
                 'switchport mode access',
                 'switchport access vlan 100',
                 'interface Ethernet 0/2',
                 'switchport',
                 'switchport mode access',
                 'switchport access vlan 100'
             ],
             'changed': True
         }
     )
Ejemplo n.º 10
0
 def test_slxos_command_match_all(self):
     wait_for = [
         'result[0] contains "SLX-OS"',
         'result[0] contains "SLX-OS Operating System Software"'
     ]
     set_module_args(
         dict(commands=['show version'], wait_for=wait_for, match='all'))
     self.execute_module()
 def test_slxos_interface_description(self, *args, **kwargs):
     set_module_args(dict(name='Ethernet 0/2', description='show version'))
     result = self.execute_module(changed=True)
     self.assertEqual(
         result, {
             'commands':
             ['interface Ethernet 0/2', 'description show version'],
             'changed': True
         })
 def test_slxos_config_match_exact(self):
     lines = [
         'ip address 1.2.3.4 255.255.255.0', 'description test string',
         'shutdown'
     ]
     parents = ['interface Ethernet 0/0']
     set_module_args(dict(lines=lines, parents=parents, match='exact'))
     commands = parents + lines
     self.execute_module(changed=True, commands=commands, sort=False)
Ejemplo n.º 13
0
 def test_slxos_l3_interface_invalid_argument(self, *args, **kwargs):
     set_module_args(dict(name='Ethernet 0/1', shawshank='Redemption'))
     result = self.execute_module(failed=True)
     self.assertEqual(result['failed'], True)
     self.assertTrue(
         re.match(
             r'Unsupported parameters for \((basic.py|basic.pyc)\) module: '
             'shawshank Supported parameters include: aggregate, ipv4, ipv6, '
             'name, state', result['msg']))
Ejemplo n.º 14
0
 def test_slxos_l3_interface_ipv4_address(self, *args, **kwargs):
     set_module_args(dict(name='Ethernet 0/2', ipv4='192.168.4.1/24'))
     result = self.execute_module(changed=True)
     self.assertEqual(
         result, {
             'commands':
             ['interface Ethernet 0/2', 'ip address 192.168.4.1/24'],
             'changed': True
         })
 def test_slxos_linkagg_invalid_argument(self, *args, **kwargs):
     set_module_args(dict(group='10', shawshank='Redemption'))
     result = self.execute_module(failed=True)
     self.assertEqual(result['failed'], True)
     self.assertTrue(
         re.match(
             r'Unsupported parameters for \((basic.pyc|basic.py)\) module: '
             'shawshank Supported parameters include: aggregate, group, '
             'members, mode, purge, state', result['msg']))
 def test_slxos_config_save_always(self):
     self.run_commands.return_value = "Hostname foo"
     set_module_args(dict(save_when='always'))
     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.assertIn('copy running-config startup-config', args['command'])
Ejemplo n.º 17
0
 def test_slxos_command_match_all_failure(self):
     wait_for = [
         'result[0] contains "SLX-OS 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)
Ejemplo n.º 18
0
 def test_slxos_l3_interface_absent(self, *args, **kwargs):
     set_module_args(dict(name='Ethernet 0/9', state='absent'))
     result = self.execute_module(changed=True)
     self.assertEqual(
         result, {
             'commands':
             ['interface Ethernet 0/9', 'no ip address', 'no ipv6 address'],
             'changed':
             True
         })
 def test_slxos_interface_invalid_argument(self, *args, **kwargs):
     set_module_args(dict(name='Ethernet 0/1', shawshank='Redemption'))
     result = self.execute_module(failed=True)
     self.assertEqual(result['failed'], True)
     self.assertTrue(
         re.match(
             r'Unsupported parameters for \((basic.py|basic.pyc)\) module: '
             'shawshank Supported parameters include: aggregate, '
             'delay, description, enabled, mtu, name, neighbors, '
             'rx_rate, speed, state, tx_rate', result['msg']))
 def test_slxos_config_save_changed_true(self):
     src = load_fixture('slxos_config_src.cfg')
     set_module_args(dict(src=src, save_when='changed'))
     commands = ['hostname foo', 'interface Ethernet 0/0', 'no ip address']
     self.execute_module(changed=True, commands=commands)
     self.assertEqual(self.run_commands.call_count, 1)
     self.assertEqual(self.get_config.call_count, 1)
     self.assertEqual(self.load_config.call_count, 1)
     args = self.run_commands.call_args[0][1]
     self.assertIn('copy running-config startup-config', args['command'])
 def test_slxos_linkagg_group_members_absent(self, *args, **kwargs):
     set_module_args(dict(group='20', state='absent'))
     result = self.execute_module(changed=True)
     self.assertEqual(result, {
         'commands': ['no interface port-channel 20'],
         'changed': True
     })
     set_module_args(dict(group='10', state='absent'))
     result = self.execute_module(changed=False)
     self.assertEqual(result, {'commands': [], 'changed': False})
Ejemplo n.º 22
0
 def test_slxos_lldp_invalid_argument(self, *args, **kwargs):
     set_module_args(dict(state='absent', shawshank='Redemption'))
     result = self.execute_module(failed=True)
     self.assertEqual(result['failed'], True)
     self.assertTrue(
         re.match(
             r'Unsupported parameters for \((basic.py|basic.pyc)\) module: '
             'shawshank Supported parameters include: state',
             result['msg']),
         'Output did not match. Got: %s' % result['msg'])
Ejemplo n.º 23
0
 def test_slxos_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'],
         'slxos_command does not support running config mode commands.  '
         'Please use slxos_config instead')
Ejemplo n.º 24
0
 def test_slxos_interface_invalid_argument(self, *args, **kwargs):
     set_module_args(dict(
         name='Ethernet 0/1',
         shawshank='Redemption'
     ))
     result = self.execute_module(failed=True)
     self.assertEqual(result['failed'], True)
     self.assertTrue(re.match(
         r'Unsupported parameters for \((basic.py|basic.pyc)\) module: '
         'shawshank Supported parameters include: aggregate, delay, '
         'interfaces, name, purge, state, vlan_id',
         result['msg']
     ), 'Result did not match expected output. Got: %s' % result['msg'])
Ejemplo n.º 25
0
 def test_slxos_vlan_state_absent_nonexistent_vlan(self, *args, **kwargs):
     set_module_args(dict(
         vlan_id=100,
         state='absent'
     ))
     result = self.execute_module()
     self.assertEqual(
         result,
         {
             'commands': [],
             'changed': False
         }
     )
Ejemplo n.º 26
0
 def test_slxos_vlan_state_absent(self, *args, **kwargs):
     set_module_args(dict(
         vlan_id=200,
         state='absent'
     ))
     result = self.execute_module(changed=True)
     self.assertEqual(
         result,
         {
             'commands': [
                 'no vlan 200'
             ],
             'changed': True
         }
     )
 def test_slxos_linkagg_group_member_removal(self, *args, **kwargs):
     set_module_args(
         dict(group='20', mode='active', members=[
             'Ethernet 0/10',
         ]))
     result = self.execute_module(changed=True)
     self.assertEqual(
         result, {
             'commands': [
                 'interface port-channel 20', 'exit',
                 'interface Ethernet 0/11', 'no channel-group'
             ],
             'changed':
             True
         })
 def test_slxos_l2_interface_invalid_argument(self, *args, **kwargs):
     set_module_args(dict(
         name='Ethernet 0/2',
         mode='access',
         access_vlan=10,
         shawshank='Redemption'
     ))
     result = self.execute_module(failed=True)
     self.assertEqual(result['failed'], True)
     self.assertTrue(re.match(
         r'Unsupported parameters for \((basic.py|basic.pyc)\) module: '
         'shawshank Supported parameters include: access_vlan, aggregate, '
         'mode, name, native_vlan, state, trunk_allowed_vlans, trunk_vlans',
         result['msg']
     ))
 def test_slxos_l2_interface_vlan_does_not_exist(self, *args, **kwargs):
     set_module_args(dict(
         name='Ethernet 0/2',
         mode='access',
         access_vlan=10,
     ))
     result = self.execute_module(failed=True)
     self.assertEqual(
         result,
         {
             'msg': 'You are trying to configure a VLAN on an interface '
                    'that\ndoes not exist on the  switch yet!',
             'failed': True,
             'vlan': '10'
         }
     )
 def test_slxos_l2_interface_incorrect_state(self, *args, **kwargs):
     set_module_args(dict(
         name='Ethernet 0/3',
         mode='access',
         access_vlan=10,
     ))
     result = self.execute_module(failed=True)
     self.assertEqual(
         result,
         {
             'msg': 'Ensure interface is configured to be a L2\nport first '
                    'before using this module. You can use\nthe slxos_'
                    'interface module for this.',
             'failed': True
         }
     )