Fixed test_log.py import error

Tests failed when trying to import serial module on Linux
This commit is contained in:
Robert Tingirica 2014-09-09 14:30:00 +03:00
parent 8d4e3b3948
commit 0336a03ee3

View File

@ -14,51 +14,68 @@
# License for the specific language governing permissions and limitations
# under the License.
import importlib
import mock
import unittest
from oslo.config import cfg
from cloudbaseinit.utils import log
CONF = cfg.CONF
class SerialPortHandlerTests(unittest.TestCase):
@mock.patch('serial.Serial')
def setUp(self, mock_Serial):
def setUp(self):
self._serial = mock.MagicMock()
self._module_patcher = mock.patch.dict(
'sys.modules',
{'serial': self._serial})
self._module_patcher.start()
self.log = importlib.import_module("cloudbaseinit.utils.log")
CONF.set_override('logging_serial_port_settings', "COM1,115200,N,8")
self._serial_port_handler = log.SerialPortHandler()
self._serial_port_handler = self.log.SerialPortHandler()
self._serial_port_handler._port = mock.MagicMock()
@mock.patch('serial.Serial')
def test_init(self, mock_Serial):
mock_Serial().isOpen.return_value = False
log.SerialPortHandler()
def tearDown(self):
self._module_patcher.stop()
def test_init(self):
mock_Serial = self._serial.Serial
mock_Serial.return_value.isOpen.return_value = False
self.log.SerialPortHandler()
mock_Serial.assert_called_with(bytesize=8, baudrate=115200,
port='COM1', parity='N')
mock_Serial().isOpen.assert_called_once_with()
mock_Serial().open.assert_called_once_with()
mock_Serial.return_value.isOpen.assert_called_with()
mock_Serial.return_value.open.assert_called_once_with()
def test_close(self):
self._serial_port_handler._port.isOpen.return_value = True
self._serial_port_handler.close()
self._serial_port_handler._port.isOpen.assert_called_once_with()
self._serial_port_handler._port.close.assert_called_once_with()
@mock.patch('cloudbaseinit.openstack.common.log.setup')
@mock.patch('cloudbaseinit.openstack.common.log.getLogger')
@mock.patch('cloudbaseinit.utils.log.SerialPortHandler')
@mock.patch('cloudbaseinit.openstack.common.log.ContextFormatter')
def test_setup(self, mock_ContextFormatter, mock_SerialPortHandler,
mock_getLogger, mock_setup):
@mock.patch('cloudbaseinit.openstack.common.log.setup')
@mock.patch('cloudbaseinit.openstack.common.log.getLogger')
@mock.patch('cloudbaseinit.utils.log.SerialPortHandler')
@mock.patch('cloudbaseinit.openstack.common.log.ContextFormatter')
def test_setup(mock_ContextFormatter, mock_SerialPortHandler, mock_getLogger,
mock_setup):
log.setup(product_name='fake name')
mock_setup.assert_called_once_with('fake name')
mock_getLogger.assert_called_once_with('fake name')
mock_getLogger().logger.addHandler.assert_called_once_with(
mock_SerialPortHandler())
mock_ContextFormatter.assert_called_once_with(
project='fake name', datefmt=CONF.log_date_format)
mock_SerialPortHandler().setFormatter.assert_called_once_with(
mock_ContextFormatter())
self.log.setup(product_name='fake name')
mock_setup.assert_called_once_with('fake name')
mock_getLogger.assert_called_once_with('fake name')
mock_getLogger().logger.addHandler.assert_called_once_with(
mock_SerialPortHandler())
mock_ContextFormatter.assert_called_once_with(
project='fake name', datefmt=CONF.log_date_format)
mock_SerialPortHandler().setFormatter.assert_called_once_with(
mock_ContextFormatter())