[tor-commits] [bridgedb/develop] Add more unittests for bridgedb.util module.

isis at torproject.org isis at torproject.org
Sun Mar 1 06:04:16 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