File: test_unix_socket.py

package info (click to toggle)
python-ncclient 0.6.17-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,448 kB
  • sloc: python: 9,548; xml: 476; makefile: 77; sh: 5
file content (37 lines) | stat: -rw-r--r-- 1,255 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

import sys
import unittest
import socket
from ncclient.devices.junos import JunosDeviceHandler

try:
    from unittest.mock import MagicMock, patch, call
except ImportError:
    from mock import MagicMock, patch, call

# only import on non-Windows platforms
if sys.platform != 'win32':
    from ncclient.transport.errors import UnixSocketError
    from ncclient.transport.unixSocket import UnixSocketSession

PATH = '/tmp/test_socket.sock'

class TestUnixSocket(unittest.TestCase):

    @unittest.skipIf(sys.platform.startswith('win'), "Skipping on Windows")
    @patch('socket.socket.close')
    def test_close_UnixSocket(self, mock_sock_close_fn):
        session = UnixSocketSession(MagicMock())
        session._socket = socket.socket()
        session._connected = True
        session.close()
        mock_sock_close_fn.assert_called_once_with()
        self.assertFalse(session.connected)

    @unittest.skipIf(sys.platform.startswith('win'), "Skipping on Windows")
    @patch('socket.socket')
    @patch('ncclient.transport.Session._post_connect')
    def test_connect_UnixSocket(self, mock_post_connect, mock_socket):
        session = UnixSocketSession(MagicMock())
        session.connect(path=PATH)
        self.assertTrue(session.connected)