def setUpClass(cls): cls.md = MockDeviceTcpWrapperIOSXR(port=0, state='login1,console_standby') cls.md.start() cls.testbed = """ devices: Router: os: iosxr platform: asr9k type: router tacacs: username: admin passwords: tacacs: admin connections: defaults: class: unicon.Unicon a: protocol: telnet ip: 127.0.0.1 port: {} b: protocol: telnet ip: 127.0.0.1 port: {} """.format(cls.md.ports[0], cls.md.ports[1]) tb = loader.load(cls.testbed) cls.r = tb.devices.Router cls.r.connect()
def setUpClass(cls): cls.conn = Connection(hostname='Router', start=['mock_device_cli --os iosxr --state enable'], os='iosxr') cls.md1 = MockDeviceTcpWrapperIOSXR(port=0, state='login,console_standby') cls.md1.start() cls.ha_dev = Connection(hostname='Router', start=['telnet 127.0.0.1 {}'.format(cls.md1.ports[0]), 'telnet 127.0.0.1 {}'.format(cls.md1.ports[1])], username='******', tacacs_password='******', os='iosxr') cls.ha_dev.connect() cls.conn.connect()
def setUpClass(cls): cls.ha = MockDeviceTcpWrapperIOSXR(port=0, state='login,enable_standby') md = unicon.mock.mock_device.MockDevice(device_os='iosxr', state='exec') cls.expected_output = md.mock_data['reload_confirm_prompt']['commands']['']['response'] cls.ha.start() cls.ha_device = Connection( hostname='Router', start=['telnet 127.0.0.1 ' + str(cls.ha.ports[0]), 'telnet 127.0.0.1 ' + str(cls.ha.ports[1])], os='iosxr', username='******', tacacs_password='******', ) cls.ha_device.connect()
def test_ha_admin_execute2(self): md = MockDeviceTcpWrapperIOSXR(port=0, state='enable2,console_standby') md.start() conn = Connection(hostname='Router', start=['telnet 127.0.0.1 {}'.format(md.ports[0]), 'telnet 127.0.0.1 {}'.format(md.ports[1])], os='iosxr', username='******', tacacs_password='******') conn.connect() out = conn.admin_execute('pwd') self.assertIn('/misc/disk1:/admin', out) self.assertEqual(conn.active.state_machine.current_state, 'enable') conn.disconnect() md.stop()
def test_ha_admin_configure(self): md = MockDeviceTcpWrapperIOSXR(port=0, state='enable1,console_standby') md.start() conn = Connection(hostname='Router', start=['telnet 127.0.0.1 {}'.format(md.ports[0]), 'telnet 127.0.0.1 {}'.format(md.ports[1])], os='iosxr', username='******', tacacs_password='******') conn.connect() out = conn.admin_configure('show configuration') self.assertIn('% No configuration changes found.', out) self.assertEqual(conn.active.state_machine.current_state, 'enable') conn.disconnect() md.stop()
def setUpClass(cls): cls.md = MockDeviceTcpWrapperIOSXR(port=0, state='login,console_standby') cls.md.start() cls.testbed = """ devices: Router: os: iosxr series: asr9k type: router tacacs: username: admin passwords: tacacs: admin connections: defaults: class: unicon.Unicon a: protocol: telnet ip: 127.0.0.1 port: {} settings: POST_HA_RELOAD_CONFIG_SYNC_WAIT: 30 IOSXR_INIT_EXEC_COMMANDS: [] IOSXR_INIT_CONFIG_COMMANDS: [] HA_INIT_CONFIG_COMMANDS: [] b: protocol: telnet ip: 127.0.0.1 port: {} settings: POST_HA_RELOAD_CONFIG_SYNC_WAIT: 30 IOSXR_INIT_EXEC_COMMANDS: [] IOSXR_INIT_CONFIG_COMMANDS: [] HA_INIT_CONFIG_COMMANDS: [] """.format(cls.md.ports[0], cls.md.ports[1]) tb = loader.load(cls.testbed) cls.r = tb.devices.Router cls.r.connect()
def test_reload_ncs540(self): md = MockDeviceTcpWrapperIOSXR(hostname='R2', port=0, state='ncs540_enable') md.start() c = Connection( hostname='R2', start=['telnet 127.0.0.1 {}'.format(md.ports[0])], os='iosxr', settings=dict(POST_DISCONNECT_WAIT_SEC=0, GRACEFUL_DISCONNECT_WAIT_SEC=0.2), credentials=dict(default=dict(username='******', password='******')), init_config_commands=[], mit=True, log_buffer=True) try: c.connect() c.settings.POST_RELOAD_WAIT = 1 result = c.reload(return_output=True) self.assertGreater(len(result.output), 10) finally: c.disconnect() md.stop()