diff options
author | Lucas Hoffmann <l-m-h@web.de> | 2017-06-02 12:26:39 +0200 |
---|---|---|
committer | Lucas Hoffmann <l-m-h@web.de> | 2017-06-02 15:37:04 +0200 |
commit | b179a9baf1e2cb0cf5c9bf51b0f5cd18417fcb64 (patch) | |
tree | 7bc56c592c2f589e261bb9c4e66679df9f4b7d40 /tests | |
parent | 0b130ac86f14c20d81f0551808c73577ff2258bd (diff) | |
download | vdebug-b179a9baf1e2cb0cf5c9bf51b0f5cd18417fcb64.zip |
Add test for vdebug.log.FileLogger
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_log.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/test_log.py b/tests/test_log.py index 4879ab6..10d021c 100644 --- a/tests/test_log.py +++ b/tests/test_log.py @@ -1,4 +1,5 @@ from . import setup +import sys import unittest import mock import vdebug.log @@ -49,3 +50,47 @@ class WindowLoggerTest(unittest.TestCase): def test_shutdown(self): self.logger.shutdown() self.assertFalse(self.window.is_open) + + +class FileLoggerTest(unittest.TestCase): + + filename = '/tmp/vdebug-test-log-file' + level = 2 + if sys.version_info[0] == 3: + open_name = 'builtins.open' + elif sys.version_info[0] == 2: + open_name = '__builtin__.open' + + def setUp(self): + self.logger = vdebug.log.FileLogger(self.level, self.filename) + + def test_log_opens_file(self): + with mock.patch(self.open_name, mock.mock_open()) as mocked_open: + self.logger.log('text', self.level) + mocked_open.assert_called_once_with(self.filename, 'w') + handle = mocked_open() + handle.write.assert_called_once() + handle.flush.assert_called_once() + + def test_log_with_open_file(self): + handle = mock.Mock() + self.logger.f = handle + with mock.patch(self.open_name, mock.mock_open()) as mocked_open: + self.logger.log('text', self.level) + mocked_open.assert_not_called() + handle.write.assert_called_once() + handle.flush.assert_called_once() + + def test_shutdown_without_file(self): + with mock.patch(self.open_name, mock.mock_open()) as mocked_open: + self.logger.shutdown() + handle = mocked_open() + handle.close.assert_not_called() + + def test_shutdown_with_file(self): + with mock.patch(self.open_name, mock.mock_open()) as mocked_open: + self.logger.log('text', self.level) + self.logger.shutdown() + mocked_open.assert_called_once_with(self.filename, 'w') + handle = mocked_open() + handle.close.assert_called_once_with() |