def test_reload_image_from_rommon(self): md = MockDeviceTcpWrapperIOSXE(port=0, state='cat9k_rommon') md.start() c = Connection(hostname='switch', start=['telnet 127.0.0.1 {}'.format(md.ports[0])], os='iosxe', platform='cat9k', mit=True, settings=dict(POST_DISCONNECT_WAIT_SEC=0, GRACEFUL_DISCONNECT_WAIT_SEC=0.2), credentials=dict(default=dict(username='******', password='******'), alt=dict(username='******', password='******'))) try: c.connect() self.assertEqual(c.state_machine.current_state, 'rommon') c.execute('unlock flash:') c.settings.POST_RELOAD_WAIT = 1 c.reload(image_to_boot='tftp://1.1.1.1/latest.bin') self.assertEqual(c.state_machine.current_state, 'enable') finally: c.disconnect() md.stop()
def test_reload_ha(self): md = MockDeviceTcpWrapperIOSXECat9k( port=0, state='cat9k_ha_active_escape,cat9k_ha_standby_escape') md.start() c = Connection( hostname='switch', start=[ 'telnet 127.0.0.1 {}'.format(md.ports[0]), 'telnet 127.0.0.1 {}'.format(md.ports[1]), ], os='iosxe', platform='cat9k', settings=dict(POST_DISCONNECT_WAIT_SEC=0, GRACEFUL_DISCONNECT_WAIT_SEC=0.2), credentials=dict(default=dict(username='******', password='******'), alt=dict(username='******', password='******')), # debug=True ) try: c.connect() c.settings.POST_RELOAD_WAIT = 1 c.reload() self.assertEqual(c.state_machine.current_state, 'enable') finally: c.disconnect() md.stop()
def test_asav_reload(self): c = Connection(hostname='ASA', start=['mock_device_cli --os asa --state asa_reload'], os='asa', platform='asav', credentials=dict(default=dict(username='******', password='******'))) c.connect() c.reload()
def test_reload(self): c = Connection(hostname='APC', start=['mock_device_cli --os apic --state apic_connect'], os='apic', username='******', tacacs_password='******') c.connect() c.settings.POST_RELOAD_WAIT = 1 c.reload()
def test_reload(self): c = Connection(hostname='Router', start=['mock_device_cli --os iosxr --state ncs5k_enable'], os='iosxr', series='ncs5k', username='******') c.connect() c.reload() self.assertEqual(c.spawn.match.match_output,'\r\nRP/0/RP0/CPU0:Router#\r\nRP/0/RP0/CPU0:Router#')
def test_reload_credentails(self): c = Connection(hostname='APC', start=['mock_device_cli --os apic --state apic_connect'], os='apic', credentials={'default':{ 'username': '******', 'password': '******'}}) c.connect() c.settings.POST_RELOAD_WAIT = 1 c.reload()
def test_reload(self): c = Connection(hostname='LEAF', start=['mock_device_cli --os aci --state n9k_login'], os='aci', series='n9k', username='******', tacacs_password='******') c.connect() c.settings.POST_RELOAD_WAIT = 1 c.reload()
def test_reload_credentials(self): c = Connection( hostname='Router', start=['mock_device_cli --os iosxr --state ncs5k_enable'], os='iosxr', platform='ncs5k', credentials=dict(default=dict(username='******', password='******'))) c.connect() c.reload() self.assertIn('\r\nRP/0/RP0/CPU0:Router#', c.spawn.match.match_output)
def test_reload_credentials(self): dev = Connection( hostname='', start=['mock_device_cli --os nxos --state n5k_exec'], os='nxos', series='n5k', credentials=dict(default=dict(username='******', password='******')), ) dev.connect() dev.reload() dev.disconnect()
def test_reload_vty(self): c = Connection(hostname='Router', start=['mock_device_cli --os iosxr --state ncs5k_enable_vty'], os='iosxr', series='ncs5k', username='******', password='******') c.connect() c.settings.RELOAD_WAIT=2 c.reload() self.assertEqual(c.spawn.match.match_output,'end\r\nRP/0/RP0/CPU0:Router#')
def test_asa_reload(self): c = Connection(hostname='ASA', start=['mock_device_cli --os asa --state asa_reload'], os='asa', series='asav', username='******', tacacs_password='******', line_password='******', enable_password='******') c.connect() c.reload()
def test_connect_reboot_console(self): c = Connection( hostname='vedge', start=['mock_device_cli --os sdwan --state sdwan_console'], os='sdwan', series='viptela', username='******', tacacs_password='******') c.connect() c.reload() self.assertEqual(c.spawn.match.match_output.split()[-1], 'vedge#')
def test_reload_credentials(self): dev = Connection( hostname='', start=['mock_device_cli --os nxos --state n5k_exec'], os='nxos', platform='n5k', credentials=dict(default=dict(username='******', password='******')), mit=True) dev.connect() dev.settings.RELOAD_RECONNECT_WAIT = 1 dev.reload() dev.disconnect()
def test_reload_credentials_nondefault(self): c = Connection(hostname='Router', start=['mock_device_cli --os iosxr --state ncs5k_enable'], os='iosxr', series='ncs5k', credentials=dict(default=dict( username='******', password='******'), alt=dict( username='******', password='******'))) c.connect() c.reload(reload_command="reload2", reload_creds='alt') self.assertEqual(c.spawn.match.match_output,'\r\nRP/0/RP0/CPU0:Router#\r\nRP/0/RP0/CPU0:Router#')
def test_reload(self): c = Connection( hostname='LEAF', start=[ 'mock_device_cli --os nxos --state n9k_login --hostname LEAF' ], os='nxos', platform='aci', tacacs_password='******') c.connect() c.reload() c.disconnect()
def test_connect_reboot(self): c = Connection(hostname='vedge', start=['mock_device_cli --os sdwan --state sdwan_exec'], os='sdwan', platform='viptela', username='******', tacacs_password='******') c.connect() c.settings.RELOAD_WAIT = 3 c.reload() c.execute('') self.assertEqual(c.spawn.match.match_output.split()[-1], 'vedge#')
def test_reload(self): dev = Connection( hostname='', start=['mock_device_cli --os nxos --state n5k_exec'], os='nxos', series='n5k', username='******', tacacs_password='******', ) dev.connect() dev.reload() dev.disconnect()
def test_reload_config_lock_retries_fail(self): dev = Connection( hostname='N93_1', start=['mock_device_cli --os nxos --state login2'], os='nxos', username='******', tacacs_password='******', enable_password='******', ) dev.connect() dev.start = ['mock_device_cli --os nxos --state reconnect_login'] with self.assertRaises(ConnectionError): dev.reload(config_lock_retries=1, config_lock_retry_sleep=1)
def test_reload_skip_poap(self): dev = Connection( hostname='N93_1', start=['mock_device_cli --os nxos --state login2'], os='nxos', username='******', tacacs_password='******', enable_password='******', ) dev.connect() dev.settings.RELOAD_RECONNECT_WAIT = 1 dev.reload(reload_command='reload skip_poap') dev.configure('no logging console') dev.disconnect()
def test_reload(self): c = Connection( hostname='ASA', start=[ 'mock_device_cli --os asa --state asa_fp2k_console_disable' ], os='asa', platform='fp2k', credentials=dict(default=dict(username='******', password='******'), enable=dict(password='******')), ) c.connect() c.reload() c.disconnect()
def test_reload_ssh(self): c2 = Connection( hostname='Firepower', start=['mock_device_cli --os fxos --state fp4k_ssh_fxos'], os='fxos', platform='fp4k', credentials=dict(default=dict(username='******', password='******'), enable=dict(password='******'), sudo=dict(password='******'))) c2.connect() c2.context['console'] = False c2.settings.RELOAD_WAIT = 3 c2.reload() c2.disconnect()
def test_reload_config_lock_retries_succeed(self): dev = Connection( hostname='N93_1', start=['mock_device_cli --os nxos --state login2'], os='nxos', username='******', tacacs_password='******', enable_password='******', ) dev.connect() dev.start = ['mock_device_cli --os nxos --state reconnect_login'] dev.reload(config_lock_retries=2, config_lock_retry_sleep=1) dev.configure('no logging console') dev.disconnect()
def test_reload_credentials_nondefault(self): dev = Connection( hostname='', start=['mock_device_cli --os nxos --state n5k_exec'], os='nxos', platform='n5k', credentials=dict(default=dict( username='******', password='******'), alt=dict( username='******', password='******')), ) dev.connect() dev.reload(reload_command="reload2", reload_creds='alt') dev.disconnect()
def test_reload_config_lock_retries_fail(self): dev = Connection( hostname='N93_1', start=['mock_device_cli --os nxos --state login2'], os='nxos', username='******', tacacs_password='******', enable_password='******', ) dev.connect() dev.settings.RELOAD_RECONNECT_WAIT = 1 dev.settings.CONFIG_LOCK_RETRY_SLEEP = 1 dev.settings.CONFIG_LOCK_RETRIES = 1 dev.start = ['mock_device_cli --os nxos --state reconnect_login'] with self.assertRaises(ConnectionError): dev.reload(config_lock_retries=1, config_lock_retry_sleep=1)
def test_reload_config_lock_retries_succeed_with_default(self): dev = Connection( hostname='N93_1', start=['mock_device_cli --os nxos --state login2'], os='nxos', username='******', tacacs_password='******', enable_password='******', ) dev.connect() dev.start = ['mock_device_cli --os nxos --state reconnect_login'] dev.settings.RELOAD_RECONNECT_WAIT = 1 dev.settings.CONFIG_LOCK_RETRY_SLEEP = 1 dev.reload() dev.configure('no logging console') dev.disconnect()
def test_reload(self): md = MockDeviceTcpWrapperIOSXE(port=0, state='stack_enable' + ',stack_enable'*4, stack=True) md.start() d = Connection(hostname='Router', start = ['telnet 127.0.0.1 ' + str(i) for i in md.ports[:]], os='iosxe', chassis_type='stack', username='******', tacacs_password='******', enable_password='******') d.settings.STACK_POST_RELOAD_SLEEP = 0 d.connect() self.assertTrue(d.active.alias == 'peer_1') d.reload() d.disconnect() md.stop()
def test_reload_with_image(self): c = Connection( hostname='switch', start=[ 'mock_device_cli --os iosxe --state cat9k_enable_reload_to_rommon' ], os='iosxe', platform='cat9k', mit=True, credentials=dict(default=dict(username='******', password='******'), alt=dict(username='******', password='******')), settings=dict(POST_DISCONNECT_WAIT_SEC=0, GRACEFUL_DISCONNECT_WAIT_SEC=0.2), log_buffer=True) c.connect() c.reload(image_to_boot='tftp://1.1.1.1/latest.bin') self.assertEqual(c.state_machine.current_state, 'enable') c.disconnect()
def test_reload_via_non_console(self): c = Connection(hostname='csp-2100', start=['mock_device_cli --os confd --state csp_enable'], os='confd', series='csp', username='******', tacacs_password='******', enable_password ='******', init_config_commands=[]) c.connect() c.settings.RELOAD_WAIT = 1 r = c.reload() from unicon.utils import Utils output = Utils().remove_ansi_escape_codes(c.spawn.match.match_output.splitlines()[-1]) self.assertEqual(output, 'csp-2100#')
def test_iosxecat3k_reload_output(self): d = Connection(hostname='Router', start=['mock_device_cli --os iosxe --state cat3k_exec'], os='iosxe', series='cat3k', line_password='******', enable_password='******') d.connect() md = unicon.mock.mock_device.MockDevice(device_os='iosxe', state='cat3k_exec') expected_output = md.mock_data['reload_cat3k_logs']['prompt'] res, output = d.reload(return_output=True) self.assertTrue(res) self.assertIn(expected_output.strip('\n'), '\n'.join(output.splitlines()))
class TestAireOsPlugin(unittest.TestCase): def setUp(self): self.c = Connection( hostname='Cisco Capwap Simulator', start=[ 'mock_device_cli --os aireos --state aireos_exec --hostname "{}"' .format(hostname) ], os='aireos', username='******') self.cc = Connection( hostname='Cisco Capwap Simulator', start=[ 'mock_device_cli --os aireos --state aireos_exec --hostname "{}"' .format(hostname) ], os='aireos', credentials=dict(default=dict(username='******', password='******'))) def test_connect(self): self.c.connect() def test_reload(self): self.c.connect() self.c.reload() def test_reload_credentials(self): self.cc.connect() self.cc.reload() def test_restart(self): self.c.connect() self.c.reload("restart") def test_press_any_key(self): self.c.connect() self.c.execute( "grep exclude generation 'show run-config startup-commands'") def test_press_enter_key(self): self.c.connect() self.c.execute("show run-config") def test_more(self): self.c.connect() self.c.execute("show command with more") def test_execute_error_pattern(self): for cmd in ['transfer upload start', 'show foo', 'debug lwapp']: with self.assertRaises(SubCommandFailure) as err: r = self.c.execute(cmd) def test_save_config(self): self.c.connect() self.c.execute('save config')