Browse Source

Mock mess is now an even bigger mess after do_handshake call added.

pyserial_fix
Scott Petersen 11 years ago
parent
commit
87722fd1a9
1 changed files with 23 additions and 11 deletions
  1. +23
    -11
      alarmdecoder/tests/test_devices.py

+ 23
- 11
alarmdecoder/tests/test_devices.py View File

@@ -5,6 +5,8 @@ from pyftdi.pyftdi.ftdi import Ftdi, FtdiError
from usb.core import USBError, Device as USBCoreDevice
import socket
import time
import tempfile
import os
from OpenSSL import SSL, crypto
from ..devices import USBDevice, SerialDevice, SocketDevice
from ..util import NoDeviceError, CommError, TimeoutError
@@ -263,14 +265,8 @@ class TestSocketDevice(TestCase):

mock.assert_called_with(self._device.interface)

def test_open_no_interface(self):
with self.assertRaises(NoDeviceError):
self._device.open(no_reader_thread=True)

self.assertFalse(self._device._running)

def test_open_failed(self):
with patch.object(self._device._device, 'connect', side_effect=socket.error):
with patch.object(socket.socket, 'connect', side_effect=socket.error):
with self.assertRaises(NoDeviceError):
self._device.open(no_reader_thread=True)

@@ -344,12 +340,20 @@ class TestSocketDevice(TestCase):
self._device.ssl_certificate = ssl_cert
self._device.ssl_ca = ssl_ca_cert

fileno, path = tempfile.mkstemp()

# ..there has to be a better way..
with patch.object(socket.socket, '__init__', return_value=None):
with patch.object(socket.socket, 'connect', return_value=None) as mock:
with patch.object(socket.socket, '_sock'):
with patch.object(socket.socket, 'fileno', return_value=1):
self._device.open(no_reader_thread=True)
with patch.object(socket.socket, 'fileno', return_value=fileno):
try:
self._device.open(no_reader_thread=True)
except SSL.SysCallError, ex:
pass

os.close(fileno)
os.unlink(path)

mock.assert_called_with(self._device.interface)
self.assertIsInstance(self._device._device, SSL.Connection)
@@ -360,10 +364,18 @@ class TestSocketDevice(TestCase):
self._device.ssl_certificate = 'None'
self._device.ssl_ca = 'None'

fileno, path = tempfile.mkstemp()

# ..there has to be a better way..
with patch.object(socket.socket, '__init__', return_value=None):
with patch.object(socket.socket, 'connect', return_value=None) as mock:
with patch.object(socket.socket, '_sock'):
with patch.object(socket.socket, 'fileno', return_value=1):
with patch.object(socket.socket, 'fileno', return_value=fileno):
with self.assertRaises(CommError):
self._device.open(no_reader_thread=True)
try:
self._device.open(no_reader_thread=True)
except SSL.SysCallError, ex:
pass

os.close(fileno)
os.unlink(path)

Loading…
Cancel
Save