diff --git a/cloudbaseinit/tests/utils/test_log.py b/cloudbaseinit/tests/utils/test_log.py index 05e3c354..d5c03c1b 100644 --- a/cloudbaseinit/tests/utils/test_log.py +++ b/cloudbaseinit/tests/utils/test_log.py @@ -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())