summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLucas Hoffmann <l-m-h@web.de>2017-06-02 12:26:39 +0200
committerLucas Hoffmann <l-m-h@web.de>2017-06-02 15:37:04 +0200
commitb179a9baf1e2cb0cf5c9bf51b0f5cd18417fcb64 (patch)
tree7bc56c592c2f589e261bb9c4e66679df9f4b7d40 /tests
parent0b130ac86f14c20d81f0551808c73577ff2258bd (diff)
downloadvdebug-b179a9baf1e2cb0cf5c9bf51b0f5cd18417fcb64.zip
Add test for vdebug.log.FileLogger
Diffstat (limited to 'tests')
-rw-r--r--tests/test_log.py45
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()