[tor-commits] [bridgedb/master] Add more unittests for bridgedb.util module.
isis at torproject.org
isis at torproject.org
Sat Mar 21 02:03:02 UTC 2015
commit 145db3c76f60cf47fb76b6c82049d99ebc2368d6
Author: Isis Lovecruft <isis at torproject.org>
Date: Tue Feb 24 08:33:23 2015 +0000
Add more unittests for bridgedb.util module.
---
lib/bridgedb/test/test_util.py | 42 ++++++++++++++++++++++++++++++++++++++++
lib/bridgedb/util.py | 2 +-
2 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/lib/bridgedb/test/test_util.py b/lib/bridgedb/test/test_util.py
index 065c401..272c5b7 100644
--- a/lib/bridgedb/test/test_util.py
+++ b/lib/bridgedb/test/test_util.py
@@ -15,6 +15,7 @@ from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals
+import logging
import os
from twisted.mail.smtp import Address
@@ -43,6 +44,15 @@ class MiscLoggingUtilTests(unittest.TestCase):
self.assertEqual(len(logHandlers), 1)
self.assertTrue('console' not in logHandlers)
+ def test_getLogHandlers_disable_logfile(self):
+ """util._getLogHandlers() should return ['console'] if stderr logging
+ is disabled.
+ """
+ logHandlers = util._getLogHandlers(logToFile=False)
+ self.assertIsInstance(logHandlers, list)
+ self.assertEqual(len(logHandlers), 1)
+ self.assertTrue('rotating' not in logHandlers)
+
def test_getRotatingFileHandler(self):
"""_getRotatingFileHandler() should create a file with 0600
permissions (os.ST_WRITE | os.ST_APPEND).
@@ -100,3 +110,35 @@ class LevenshteinDistanceTests(unittest.TestCase):
fuzzyMatch = 4
distance = util.levenshteinDistance(email1.local, email2.local)
self.assertLessEqual(distance, fuzzyMatch)
+
+
+class JustifiedLogFormatterTests(unittest.TestCase):
+ """Unittests for :class:`bridgedb.util.JustifiedLogFormatter`."""
+
+ def setUp(self):
+ # name, level, path, lineno, message, args, exc_info
+ self.record = logging.LogRecord('name', logging.INFO, '/foo/bar/baz',
+ 12345, 'This is a message', None, None)
+
+ def test_util_JustifiedLogFormatter(self):
+ formatter = util.JustifiedLogFormatter()
+ self.assertIsInstance(formatter, logging.Formatter)
+
+ def test_util_JustifiedLogFormatter_logThreads(self):
+ formatter = util.JustifiedLogFormatter(logThreads=True)
+ self.assertIsInstance(formatter, logging.Formatter)
+
+ def test_util_JustifiedLogFormatter_formatCallingFuncName(self):
+ formatter = util.JustifiedLogFormatter()
+ record = formatter._formatCallingFuncName(self.record)
+ self.assertIsInstance(formatter, logging.Formatter)
+ self.assertIsInstance(record, logging.LogRecord)
+
+ def test_util_JustifiedLogFormatter_format(self):
+ formatter = util.JustifiedLogFormatter()
+ formatted = formatter.format(self.record)
+ self.assertIsInstance(formatter, logging.Formatter)
+ self.assertIsInstance(formatted, basestring)
+ self.assertNotEqual(formatted, '')
+ self.assertTrue('INFO' in formatted)
+ self.assertTrue('This is a message' in formatted)
diff --git a/lib/bridgedb/util.py b/lib/bridgedb/util.py
index 63fd5e6..4253d4e 100644
--- a/lib/bridgedb/util.py
+++ b/lib/bridgedb/util.py
@@ -62,7 +62,7 @@ def _getRotatingFileHandler(filename, mode='a', maxBytes=1000000, backupCount=0,
os.chown(filename, uid, gid)
try:
os.chmod(filename, os.ST_WRITE | os.ST_APPEND)
- except AttributeError:
+ except AttributeError: # pragma: no cover
logging.error("""
XXX FIXME: Travis chokes on `os.ST_WRITE` saying that the module doesn't
have that attribute, for some reason:
More information about the tor-commits
mailing list