예제 #1
0
    def test_netconf_connection_module(self):
        play_context = PlayContext()
        play_context.prompt = (
            '[sudo via ansible, key=ouzmdnewuhucvuaabtjmweasarviygqq] password: '
        )
        in_stream = StringIO()

        self.assertIsInstance(netconf.Connection(play_context, in_stream),
                              netconf.Connection)
예제 #2
0
    def test_netconf_init(self):
        pc = PlayContext()
        new_stdin = StringIO()

        conn = netconf.Connection(pc, new_stdin)

        self.assertEqual('default', conn._network_os)
        self.assertIsNone(conn._manager)
        self.assertFalse(conn._connected)
예제 #3
0
    def test_netconf_exec_command_invalid_request(self):
        pc = PlayContext()
        new_stdin = StringIO()

        conn = netconf.Connection(pc, new_stdin)
        conn._connected = True

        netconf.to_ele.return_value = None

        rc, out, err = conn.exec_command('test string')

        self.assertEqual(1, rc)
        self.assertEqual('', out)
        self.assertEqual('unable to parse request', err)
예제 #4
0
    def test_netconf_exec_command_invalid_request(self):
        pc = PlayContext()
        new_stdin = StringIO()

        conn = netconf.Connection(pc, new_stdin)
        conn._connected = True

        mock_manager = MagicMock(name='self._manager')
        conn._manager = mock_manager

        netconf.to_ele.return_value = None

        out = conn.exec_command('test string')

        self.assertEqual('unable to parse request', out)
예제 #5
0
    def test_netconf__connect(self):
        pc = PlayContext()
        new_stdin = StringIO()

        conn = netconf.Connection(pc, new_stdin)

        mock_manager = MagicMock(name='self._manager.connect')
        type(mock_manager).session_id = PropertyMock(return_value='123456789')
        netconf.manager.connect.return_value = mock_manager

        rc, out, err = conn._connect()

        self.assertEqual(0, rc)
        self.assertEqual('123456789', out)
        self.assertEqual('', err)
        self.assertTrue(conn._connected)
예제 #6
0
    def test_netconf_exec_command(self):
        pc = PlayContext()
        new_stdin = StringIO()

        conn = netconf.Connection(pc, new_stdin)
        conn._connected = True

        mock_reply = MagicMock(name='reply')
        type(mock_reply).data_xml = PropertyMock(return_value='<test/>')

        mock_manager = MagicMock(name='self._manager')
        mock_manager.rpc.return_value = mock_reply
        conn._manager = mock_manager

        out = conn.exec_command('<test/>')

        self.assertEqual('<test/>', out)
예제 #7
0
    def test_netconf__connect(self, mock_netconf_loader):
        pc = PlayContext()
        new_stdin = StringIO()

        conn = netconf.Connection(pc, new_stdin)

        mock_manager = MagicMock()
        mock_manager.session_id = '123456789'
        netconf.manager.connect = MagicMock(return_value=mock_manager)
        conn._play_context.network_os = 'default'

        rc, out, err = conn._connect()

        self.assertEqual(0, rc)
        self.assertEqual(b'123456789', out)
        self.assertEqual(b'', err)
        self.assertTrue(conn._connected)
예제 #8
0
 def test_put_file(self):
     pc = PlayContext()
     new_stdin = StringIO()
     conn = netconf.Connection(pc, new_stdin)
     self.assertIsNone(conn.put_file())