コード例 #1
0
ファイル: test_ssh.py プロジェクト: yinshuanghui/ncclient
 def test_auth_password(self, mock_auth_password):
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(None)
     obj._auth('user', 'password', [], False, True)
     self.assertEqual(mock_auth_password.call_args_list[0][0],
                      ('user', 'password'))
コード例 #2
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_auth_exception(self, mock_auth_password):
     mock_auth_password.side_effect = Exception
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     self.assertRaises(AuthenticationError,
         obj._auth, 'user', 'password', [], False, True)
コード例 #3
0
ファイル: test_ssh.py プロジェクト: zhangjd0411/ncclient
 def test_auth_exception(self, mock_auth_password):
     mock_auth_password.side_effect = Exception
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     self.assertRaises(AuthenticationError,
         obj._auth, 'user', 'password', [], False, True)
コード例 #4
0
ファイル: test_ssh.py プロジェクト: zhangjd0411/ncclient
 def test_load_host_key_IOError(self, mock_load, mock_os):
     mock_os.return_value = "file_name"
     mock_load.side_effect = IOError
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj.load_known_hosts()
     mock_load.assert_called_with("file_name")
コード例 #5
0
ファイル: test_ssh.py プロジェクト: zhangjd0411/ncclient
 def test_auth_keyfiles_exception(self, mock_get_key, mock_auth_public_key):
     key = paramiko.PKey()
     mock_get_key.side_effect = paramiko.ssh_exception.PasswordRequiredException
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     self.assertRaises(AuthenticationError,
         obj._auth,'user', None, ["key_file_name"], False, True)
コード例 #6
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_auth_keyfiles_exception(self, mock_get_key, mock_auth_public_key):
     key = paramiko.PKey()
     mock_get_key.side_effect = paramiko.ssh_exception.PasswordRequiredException
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     self.assertRaises(AuthenticationError,
         obj._auth,'user', None, ["key_file_name"], False, True)
コード例 #7
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_auth_agent_exception(self, mock_get_key, mock_auth_public_key):
     key = paramiko.PKey()
     mock_get_key.return_value = [key]
     mock_auth_public_key.side_effect = paramiko.ssh_exception.AuthenticationException
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     self.assertRaises(AuthenticationError,
         obj._auth,'user', None, [], True, False)
コード例 #8
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_auth_password(self, mock_auth_password):
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     obj._auth('user', 'password', [], False, True)
     self.assertEqual(
         mock_auth_password.call_args_list[0][0],
         ('user',
          'password'))
コード例 #9
0
ファイル: test_ssh.py プロジェクト: yinshuanghui/ncclient
 def test_run_recieve(self, mock_error, mock_select, mock_recv, mock_close):
     mock_select.return_value = True, None, None
     mock_recv.return_value = 0
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._channel = paramiko.Channel("c100")
     obj.run()
     self.assertTrue(
         isinstance(mock_error.call_args_list[0][0][0], SessionCloseError))
コード例 #10
0
ファイル: test_ssh.py プロジェクト: zhangjd0411/ncclient
 def test_auth_agent_exception(self, mock_get_key, mock_auth_public_key):
     key = paramiko.PKey()
     mock_get_key.return_value = [key]
     mock_auth_public_key.side_effect = paramiko.ssh_exception.AuthenticationException
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     self.assertRaises(AuthenticationError,
         obj._auth,'user', None, [], True, False)
コード例 #11
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_close(self, mock_close):
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     obj._transport.active = True
     obj._connected = True
     obj.close()
     mock_close.assert_called_once_with()
     self.assertFalse(obj._connected)
コード例 #12
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_auth_keyfiles(self, mock_get_key, mock_auth_public_key):
     key = paramiko.PKey()
     mock_get_key.return_value = key
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     obj._auth('user', 'password', ["key_file_name"], False, True)
     self.assertEqual(
         (mock_auth_public_key.call_args_list[0][0][1]).__repr__(),
         key.__repr__())
コード例 #13
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_auth_agent(self, mock_get_key, mock_auth_public_key):
     key = paramiko.PKey(msg="hello")
     mock_get_key.return_value = [key]
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     obj._auth('user', 'password', [], True, True)
     self.assertEqual(
         (mock_auth_public_key.call_args_list[0][0][1]).__repr__(),
         key.__repr__())
コード例 #14
0
ファイル: test_ssh.py プロジェクト: ncclient/ncclient
 def test_ssh_known_hosts(self, mock_auth, mock_pc, mock_transport, mock_hk,
                          mock_os, mock_hex):
     mock_os.return_value = "file_name"
     hk_inst = MagicMock(check=MagicMock(return_value=True))
     mock_hk.return_value = hk_inst
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj.connect(host='h', sock=MagicMock())
     hk_inst.load.assert_called_once_with('file_name')
     mock_os.assert_called_once_with('~/.ssh/known_hosts')
コード例 #15
0
ファイル: test_ssh.py プロジェクト: GIC-de/ncclient
    def test_auth_default_keyfiles_exception(self, mock_get_key,
                                             mock_auth_public_key, mock_is_file):
        key = paramiko.PKey()
        mock_is_file.return_value = True
        mock_get_key.side_effect = paramiko.ssh_exception.PasswordRequiredException
        device_handler = JunosDeviceHandler({'name': 'junos'})
        obj = SSHSession(device_handler)
        obj._transport = paramiko.Transport(None)
        self.assertRaises(AuthenticationError,
			              obj._auth,'user', None, [], False, True)
コード例 #16
0
    def test_auth_default_keyfiles_exception(self, mock_get_key,
                                             mock_auth_public_key, mock_is_file):
        key = paramiko.PKey()
        mock_is_file.return_value = True
        mock_get_key.side_effect = paramiko.ssh_exception.PasswordRequiredException
        device_handler = JunosDeviceHandler({'name': 'junos'})
        obj = SSHSession(device_handler)
        obj._transport = paramiko.Transport(None)
        self.assertRaises(AuthenticationError,
			              obj._auth,'user', None, [], False, True)
コード例 #17
0
ファイル: test_ssh.py プロジェクト: zhangjd0411/ncclient
 def test_auth_agent(self, mock_get_key, mock_auth_public_key):
     key = paramiko.PKey(msg="hello")
     mock_get_key.return_value = [key]
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     obj._auth('user', 'password', [], True, True)
     self.assertEqual(
         (mock_auth_public_key.call_args_list[0][0][1]).__repr__(),
         key.__repr__())
コード例 #18
0
ファイル: test_ssh.py プロジェクト: zhangjd0411/ncclient
 def test_auth_keyfiles(self, mock_get_key, mock_auth_public_key):
     key = paramiko.PKey()
     mock_get_key.return_value = key
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     obj._auth('user', 'password', ["key_file_name"], False, True)
     self.assertEqual(
         (mock_auth_public_key.call_args_list[0][0][1]).__repr__(),
         key.__repr__())
コード例 #19
0
ファイル: test_ssh.py プロジェクト: yinshuanghui/ncclient
 def test_run_send(self, mock_error, mock_send, mock_ready, mock_close):
     mock_ready.return_value = True
     mock_send.return_value = -1
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._channel = paramiko.Channel("c100")
     obj._q.put("rpc")
     obj.run()
     self.assertEqual(mock_send.call_args_list[0][0][0], "rpc")
     self.assertTrue(
         isinstance(mock_error.call_args_list[0][0][0], SessionCloseError))
コード例 #20
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_run_receive_py2(self, mock_error, mock_selector, mock_recv, mock_close):
     mock_selector.select.return_value = True
     mock_recv.return_value = 0
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._channel = paramiko.Channel("c100")
     obj.run()
     self.assertTrue(
         isinstance(
             mock_error.call_args_list[0][0][0],
             SessionCloseError))
コード例 #21
0
ファイル: test_ssh.py プロジェクト: alvinooo/ncclient
 def test_run_send(self, mock_error, mock_send, mock_ready, mock_close):
     mock_ready.return_value = True
     mock_send.return_value = -1
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._channel = paramiko.Channel("c100")
     obj._q.put("rpc")
     obj.run()
     self.assertEqual(mock_send.call_args_list[0][0][0], "rpc")
     self.assertTrue(
         isinstance(
             mock_error.call_args_list[0][0][0],
             SessionCloseError))
コード例 #22
0
 def __init__(self, device_handler):
     SSHSession.__init__(self, device_handler)
     self._host_keys = None
     self._transport = None
     self._connected = False
     self._channel = None
     self._channel_id = None
     self._channel_name = None
     self._buffer = StringIO()  # for incoming data
     # parsing-related, see _parse()
     self._parsing_state = 0
     self._parsing_pos = 0
     self._device_handler = device_handler
コード例 #23
0
ファイル: test_ssh.py プロジェクト: ncclient/ncclient
 def test_ssh_known_hosts_2(self, mock_auth, mock_pc, mock_sshc,
                            mock_transport, mock_hk, mock_os, mock_open,
                            mock_hex):
     mock_os.return_value = "file_name"
     hk_inst = MagicMock(check=MagicMock(return_value=True))
     mock_hk.return_value = hk_inst
     config = {'userknownhostsfile': 'known_hosts_file'}
     mock_sshc.return_value = MagicMock(lookup=lambda _h: config)
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj.connect(host='h', sock=MagicMock(), ssh_config=True)
     hk_inst.load.assert_called_once_with('file_name')
     mock_os.mock_calls == [call('~/.ssh/config'), call('known_hosts_file')]
コード例 #24
0
ファイル: ioproc.py プロジェクト: kaarthiks/ncclient
 def __init__(self, device_handler):
     SSHSession.__init__(self, device_handler)
     self._host_keys = None
     self._transport = None
     self._connected = False
     self._channel = None
     self._channel_id = None
     self._channel_name = None
     self._buffer = StringIO()  # for incoming data
     # parsing-related, see _parse()
     self._parsing_state = 0
     self._parsing_pos = 0
     self._device_handler = device_handler
コード例 #25
0
 def test_filter_xml_sax_on_junos_rfc_compliant(self, mock_uuid4,
                                                mock_select, mock_session,
                                                mock_recv, mock_close,
                                                mock_send, mock_send_ready,
                                                mock_connected):
     mock_send.return_value = True
     mock_send_ready.return_value = -1
     mock_uuid4.return_value = type(
         'dummy', (),
         {'urn': "urn:uuid:e0a7abe3-fffa-11e5-b78e-b8e85604f858"})
     device_handler = manager.make_device_handler({
         'name': 'junos',
         'use_filter': True
     })
     rpc = '<get-software-information/>'
     mock_recv.side_effect = self._read_file('get-software-information.xml')
     session = SSHSession(device_handler)
     session._connected = True
     session._channel = paramiko.Channel("c100")
     session.parser = session._device_handler.get_xml_parser(session)
     obj = ExecuteRpc(session, device_handler, raise_mode=RaiseMode.ALL)
     obj._filter_xml = '<multi-routing-engine-results><multi-routing-engine-item><re-name/></multi-routing-engine-item></multi-routing-engine-results>'
     session.run()
     resp = obj.request(rpc)._NCElement__doc[0]
     from lxml import etree
     print(resp)
     self.assertEqual(len(resp.xpath('multi-routing-engine-item/re-name')),
                      2)
     # as filter_xml is not having software-information, response wont contain it
     self.assertEqual(
         len(resp.xpath('multi-routing-engine-item/software-information')),
         0)
コード例 #26
0
 def test_use_filter_xml_without_sax_input(self, mock_uuid4, mock_select,
                                           mock_session, mock_recv,
                                           mock_close, mock_send,
                                           mock_send_ready, mock_connected):
     mock_send.return_value = True
     mock_send_ready.return_value = -1
     mock_uuid4.return_value = type(
         'dummy', (),
         {'urn': "urn:uuid:e0a7abe3-fffa-11e5-b78e-b8e85604f858"})
     device_handler = manager.make_device_handler({
         'name': 'junos',
         'use_filter': True
     })
     rpc = '<get-software-information/>'
     mock_recv.side_effect = self._read_file('get-software-information.xml')
     session = SSHSession(device_handler)
     session._connected = True
     session._channel = paramiko.Channel("c100")
     session.parser = session._device_handler.get_xml_parser(session)
     obj = ExecuteRpc(session, device_handler, raise_mode=RaiseMode.ALL)
     obj._filter_xml = None
     session.run()
     resp = obj.request(rpc)._NCElement__doc[0]
     self.assertEqual(len(resp.xpath('multi-routing-engine-item/re-name')),
                      2)
     self.assertEqual(
         len(resp.xpath('multi-routing-engine-item/software-information')),
         2)
コード例 #27
0
ファイル: test_ssh.py プロジェクト: zhangjd0411/ncclient
 def test_parse_incomplete_delimiter(self, mock_dispatch):
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     if sys.version >= "3.0":
         b = bytes(rpc_reply_part_1, "utf-8")
         obj._buffer.write(b)
         obj._parse()
         self.assertFalse(mock_dispatch.called)
         b = bytes(rpc_reply_part_2, "utf-8")
         obj._buffer.write(b)
         obj._parse()
         self.assertTrue(mock_dispatch.called)
     else:
         obj._buffer.write(rpc_reply_part_1)
         obj._parse()
         self.assertFalse(mock_dispatch.called)
         obj._buffer.write(rpc_reply_part_2)
         obj._parse()
         self.assertTrue(mock_dispatch.called)
コード例 #28
0
 def _test_parsemethod(self, mock_dispatch, parsemethod, reply, ok_chunk):
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     if sys.version >= "3.0":
         obj._buffer.write(bytes(reply, "utf-8"))
         remainder = bytes(ok_chunk, "utf-8")
     else:
         obj._buffer.write(reply)
         remainder = ok_chunk
     parsemethod(obj)
     call = mock_dispatch.call_args_list[0][0][0]
     self.assertEqual(call, reply_data)
     self.assertEqual(obj._buffer.getvalue(), remainder)
コード例 #29
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_parse_incomplete_delimiter(self, mock_dispatch):
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     if sys.version >= "3.0":
         b = bytes(rpc_reply_part_1, "utf-8")
         obj._buffer.write(b)
         obj._parse()
         self.assertFalse(mock_dispatch.called)
         b = bytes(rpc_reply_part_2, "utf-8")
         obj._buffer.write(b)
         obj._parse()
         self.assertTrue(mock_dispatch.called)
     else:
         obj._buffer.write(rpc_reply_part_1)
         obj._parse()
         self.assertFalse(mock_dispatch.called)
         obj._buffer.write(rpc_reply_part_2)
         obj._parse()
         self.assertTrue(mock_dispatch.called)
コード例 #30
0
ファイル: test_ssh.py プロジェクト: zhangjd0411/ncclient
 def test_close(self, mock_close):
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     obj._transport.active = True
     obj._connected = True
     obj.close()
     mock_close.assert_called_once_with()
     self.assertFalse(obj._connected)
コード例 #31
0
ファイル: test_ssh.py プロジェクト: zhangjd0411/ncclient
    def test_parse11(self, mock_dispatch):
        device_handler = JunosDeviceHandler({'name': 'junos'})
        obj = SSHSession(device_handler)
        if sys.version >= "3.0":
            obj._buffer.write(bytes(rpc_reply11, "utf-8"))
            remainder = bytes(reply_ok_partial_chunk, "utf-8")
        else:
            obj._buffer.write(rpc_reply11)
            remainder = reply_ok_partial_chunk
        obj.parser._parse11()

        expected_messages = [reply_data, reply_ok]
        for i in range(0, len(expected_messages)):
            call = mock_dispatch.call_args_list[i][0][0]
            self.assertEqual(call, expected_messages[i])

        self.assertEqual(obj._buffer.getvalue(), remainder)
コード例 #32
0
 def _test_run_send_py3(self, base, chunker, mock_error, mock_selector,
                        mock_send, mock_ready, mock_close):
     mock_selector.return_value = False
     mock_ready.return_value = True
     mock_send.return_value = -1
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._channel = paramiko.Channel("c100")
     msg = "naïve garçon"
     obj._q.put(msg)
     obj._base = base
     obj.run()
     self.assertEqual(mock_send.call_args_list[0][0][0], chunker(msg))
     self.assertTrue(
         isinstance(mock_error.call_args_list[0][0][0], SessionCloseError))
コード例 #33
0
    def _test_parsemethod(self, mock_dispatch, parsemethod, reply, ok_chunk,
                          expected_messages):
        device_handler = JunosDeviceHandler({'name': 'junos'})
        obj = SSHSession(device_handler)
        if sys.version >= "3.0":
            obj._buffer.write(bytes(reply, "utf-8"))
            remainder = bytes(ok_chunk, "utf-8")
        else:
            obj._buffer.write(reply)
            remainder = ok_chunk

        # parse the main reply
        parsemethod(obj)

        # parse the ok
        parsemethod(obj)

        for i in range(0, len(expected_messages)):
            call = mock_dispatch.call_args_list[i][0][0]
            self.assertEqual(call, expected_messages[i])
        self.assertEqual(obj._buffer.getvalue(), remainder)
コード例 #34
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_auth_no_methods_exception(self):
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     self.assertRaises(AuthenticationError,
         obj._auth,'user', None, [], False, False)
コード例 #35
0
ファイル: test_ssh.py プロジェクト: zhangjd0411/ncclient
 def test_load_host_key(self, mock_load):
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj.load_known_hosts("file_name")
     mock_load.assert_called_once_with("file_name")
コード例 #36
0
ファイル: test_ssh.py プロジェクト: zhangjd0411/ncclient
 def test_auth_no_methods_exception(self):
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj._transport = paramiko.Transport(MagicMock())
     self.assertRaises(AuthenticationError,
         obj._auth,'user', None, [], False, False)
コード例 #37
0
     def test_filter_xml_delimiter_multiple_rpc_in_parallel(
             self, mock_uuid4, mock_select, mock_session, mock_recv,
             mock_close, mock_send, mock_send_ready, mock_connected):
         mock_send.return_value = True
         mock_send_ready.return_value = -1
         mock_uuid4.side_effect = [
             type('xyz', (),
                  {'urn': "urn:uuid:ddef40cb-5745-481d-974d-7188f9f2bb33"}),
             type('pqr', (),
                  {'urn': "urn:uuid:549ef9d1-024a-4fd0-88bf-047d25f0870d"})
         ]
         device_handler = manager.make_device_handler({
             'name': 'junos',
             'use_filter': True
         })
         rpc = '<get-software-information/>'
         mock_recv.side_effect = [
             b"""
         <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/19.2I0/junos" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:ddef40cb-5745-481d-974d-7188f9f2bb33">
 <ospf-neighbor-information xmlns="http://xml.juniper.net/junos/19.2I0/junos-routing">
 <ospf-neighbor>
 <neighbor-address>13.1.1.2</neighbor-address>
 <interface-name>ge-0/0/0.1</interface-name>
 <ospf-neighbor-state>Exchange</ospf-neighbor-state>
 <neighbor-id>2.2.2.2</neighbor-id>
 <neighbor-priority>128</neighbor-priority>
 <activity-timer>36</activity-timer>
 <ospf-area>0.0.0.0</ospf-area>
 <options>0x52</options>
 <dr-address>13.1.1.1</dr-address>
 <bdr-address>13.1.1.2</bdr-address>
 <neighbor-up-time junos:seconds="17812">
 04:56:52
 </neighbor-up-time>
 <neighbor-adjacency-time junos:seconds="17812">
 04:56:52
 </neighbor-adjacency-time>
 <master-slave>slave</master-slave>
 <sequence-number>0x204b6fd</sequence-number>
 <dbd-retransmit-time>3</dbd-retransmit-time>
 <lsreq-retransmit-time>0</lsreq-retransmit-time>
 <lsa-list>
   Link state retransmission list:
     Type      LSA ID           Adv rtr          Seq
    Router    1.1.1.1          1.1.1.1          0x80000019
    OpaqArea  1.0.0.1          1.1.1.1          0x80000011
    Router    3.3.3.3          3.3.3.3          0x80000004
    Network   23.1.1.2         3.3.3.3          0x80000001
    OpaqArea  1.0.0.1          2.2.2.2          0x80000002
    OpaqArea  1.0.0.1          3.3.3.3          0x80000002
    OpaqArea  1.0.0.3          1.1.1.1          0x80000002
    OpaqArea  1.0.0.3          3.3.3.3          0x80000001
    OpaqArea  1.0.0.4          2.2.2.2          0x80000001
 </lsa-list>
 <ospf-neighbor-topology>
 <ospf-topology-name>default</ospf-topology-name>
 <ospf-topology-id>0</ospf-topology-id>
 <ospf-neighbor-topology-state>Forward Only</ospf-neighbor-topology-state>
 </ospf-neighbor-topology>
 </ospf-neighbor>
 </ospf-neighbor-information>
 </rpc-reply>]]>]]><rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/19.2I0/junos" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:549ef9d1-024a-4fd0-88bf-047d25f0870d">
 <pfe-statistics>
 <pfe-traffic-statistics>
 <pfe-input-packets>22450</pfe-input-packets>
 <input-pps>0</input-pps>
 <pfe-output-packets>31992</pfe-output-packets>
 <output-pps>0</output-pps>
 <pfe-fabric-input>0</pfe-fabric-input>
 <pfe-fabric-input-pps>0</pfe-fabric-input-pps>
 <pfe-fabric-output>0</pfe-fabric-output>
 <pfe-fabric-output-pps>0</pfe-fabric-output-pps>
 </pfe-traffic-statistics></pfe-statistics></rpc-reply>]]>]]>"""
         ]
         session = SSHSession(device_handler)
         session._connected = True
         session._channel = paramiko.Channel("c100")
         session.parser = session._device_handler.get_xml_parser(session)
         obj = ExecuteRpc(session, device_handler, raise_mode=RaiseMode.ALL)
         obj = ExecuteRpc(session, device_handler, raise_mode=RaiseMode.ALL)
         obj._filter_xml = '<multi-routing-engine-results><multi-routing-engine-item><re-name/></multi-routing-engine-item></multi-routing-engine-results>'
         session.run()
         resp = obj.request(rpc)._NCElement__doc[0]
         self.assertEqual(len(resp.xpath('pfe-traffic-statistics')), 1)
コード例 #38
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_load_host_key(self, mock_load):
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj.load_known_hosts("file_name")
     mock_load.assert_called_once_with("file_name")
コード例 #39
0
ファイル: test_ssh.py プロジェクト: davidhankins/ncclient
 def test_load_host_key_2(self, mock_load, mock_os):
     mock_os.return_value = "file_name"
     device_handler = JunosDeviceHandler({'name': 'junos'})
     obj = SSHSession(device_handler)
     obj.load_known_hosts()
     mock_load.assert_called_once_with("file_name")