From 87722fd1a9be3608eec033e181b79780da43f2ae Mon Sep 17 00:00:00 2001 From: Scott Petersen Date: Fri, 6 Dec 2013 14:34:36 -0800 Subject: [PATCH] Mock mess is now an even bigger mess after do_handshake call added. --- alarmdecoder/tests/test_devices.py | 34 ++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/alarmdecoder/tests/test_devices.py b/alarmdecoder/tests/test_devices.py index df41398..c625b72 100644 --- a/alarmdecoder/tests/test_devices.py +++ b/alarmdecoder/tests/test_devices.py @@ -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)