From c92c49a9031602030f0f4d4fe2f99a9054eabaee Mon Sep 17 00:00:00 2001 From: Stamatis Katsaounis Date: Thu, 8 Nov 2018 16:58:09 +0200 Subject: Add missing unit tests for utils files JIRA: DOVETAIL-724 This patch adds unit tests which were missing from dovetail code base. Furthermore it updates the test_parser existing unit test. Finally, it fixes some minor issues in dovetail_utils itself. Change-Id: I8fd7cd4f6b1ede11664914746d2279f062511639 Signed-off-by: Stamatis Katsaounis --- dovetail/tests/unit/test_parser.py | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) (limited to 'dovetail/tests/unit/test_parser.py') diff --git a/dovetail/tests/unit/test_parser.py b/dovetail/tests/unit/test_parser.py index 53484400..acfd25cf 100644 --- a/dovetail/tests/unit/test_parser.py +++ b/dovetail/tests/unit/test_parser.py @@ -64,6 +64,37 @@ class TestParser(unittest.TestCase): "None -r") self.assertEqual(expected_output, output) + @mock.patch('dovetail.parser.jinja2') + def test_parse_cmd_exception(self, mock_jinja, mock_logger): + errorMSG = 'Exception was raised' + exception = Exception(errorMSG) + command = 'cmd' + undefined_obj = mock.Mock() + mock_jinja.StrictUndefined = undefined_obj + mock_jinja.Template.side_effect = exception -if __name__ == '__main__': - unittest.main() + expected = None + dovetail_parser = parser.Parser() + exception_obj = mock.Mock() + dovetail_parser.logger.exception = exception_obj + result = dovetail_parser.parse_cmd(command, 'testcase') + + mock_jinja.Template.assert_called_once_with(command, + undefined=undefined_obj) + exception_obj.assert_called_once_with( + 'Failed to parse cmd {}, exception: {}'.format(command, errorMSG)) + self.assertEqual(expected, result) + + @mock.patch('dovetail.parser.dt_logger.Logger') + def test_create_log(self, mock_dt_logger, mock_logger): + mock_dt_logger_obj = mock.Mock() + logger_obj = mock.Mock() + mock_dt_logger_obj.getLogger.return_value = logger_obj + mock_dt_logger.return_value = mock_dt_logger_obj + + dovetail_parser = parser.Parser() + dovetail_parser.create_log() + + mock_dt_logger.assert_called_once_with('dovetail.parser.Parser') + mock_dt_logger_obj.getLogger.assert_called_once_with() + self.assertEqual(dovetail_parser.logger, logger_obj) -- cgit 1.2.3-korg