[CalendarServer-changes] [5165] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Sat Feb 20 13:15:06 PST 2010


Revision: 5165
          http://trac.macosforge.org/projects/calendarserver/changeset/5165
Author:   wsanchez at apple.com
Date:     2010-02-20 13:15:03 -0800 (Sat, 20 Feb 2010)
Log Message:
-----------
Move log tests to there the implementation is.

Added Paths:
-----------
    CalendarServer/trunk/twext/python/test/
    CalendarServer/trunk/twext/python/test/__init__.py
    CalendarServer/trunk/twext/python/test/test_log.py

Removed Paths:
-------------
    CalendarServer/trunk/twistedcaldav/test/test_log.py

Copied: CalendarServer/trunk/twext/python/test/__init__.py (from rev 5162, CalendarServer/trunk/twext/python/__init__.py)
===================================================================
--- CalendarServer/trunk/twext/python/test/__init__.py	                        (rev 0)
+++ CalendarServer/trunk/twext/python/test/__init__.py	2010-02-20 21:15:03 UTC (rev 5165)
@@ -0,0 +1,19 @@
+##
+# Copyright (c) 2005-2007 Apple Inc. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+##
+
+"""
+Test extensions to twisted.python.
+"""

Copied: CalendarServer/trunk/twext/python/test/test_log.py (from rev 5163, CalendarServer/trunk/twistedcaldav/test/test_log.py)
===================================================================
--- CalendarServer/trunk/twext/python/test/test_log.py	                        (rev 0)
+++ CalendarServer/trunk/twext/python/test/test_log.py	2010-02-20 21:15:03 UTC (rev 5165)
@@ -0,0 +1,227 @@
+##
+# Copyright (c) 2005-2007 Apple Inc. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+##
+
+import logging
+
+from twisted.python import log as twistedLogging
+
+from twext.python.log import logLevelsByNamespace, logLevelForNamespace
+from twext.python.log import setLogLevelForNamespace, clearLogLevels
+from twext.python.log import logLevels, cmpLogLevels
+from twext.python.log import pythonLogLevelForLevel, InvalidLogLevelError
+from twext.python.log import Logger, LoggingMixIn
+
+from twistedcaldav.test.util import TestCase
+
+defaultLogLevel = logLevelsByNamespace[None]
+
+
+class TestLogger (Logger):
+    def __init__(self, namespace=None):
+        super(TestLogger, self).__init__(namespace)
+
+    def emit(self, level, message, **kwargs):
+        def observer(eventDict):
+            self.eventDict = eventDict
+
+        twistedLogging.addObserver(observer)
+
+        super(TestLogger, self).emit(level, message, **kwargs)
+
+        twistedLogging.removeObserver(observer)
+
+        self.emitted = {
+            "level"  : level,
+            "message": message,
+            "kwargs" : kwargs,
+        }
+
+class LoggingEnabledObject (LoggingMixIn):
+    pass
+
+class Logging (TestCase):
+    def setUp(self):
+        super(Logging, self).setUp()
+        clearLogLevels()
+
+    def tearDown(self):
+        super(Logging, self).tearDown()
+        clearLogLevels()
+
+    def test_cmpLogLevels(self):
+        self.assertEquals(cmpLogLevels("info" , "error"), -1)
+        self.assertEquals(cmpLogLevels("debug", "debug"),  0)
+        self.assertEquals(cmpLogLevels("warn" , "debug"),  1)
+
+    def test_pythonLogLevel(self):
+        self.assertEquals(pythonLogLevelForLevel("debug"), logging.DEBUG)
+        self.assertEquals(pythonLogLevelForLevel("info"), logging.INFO)
+        self.assertEquals(pythonLogLevelForLevel("warn"), logging.WARNING)
+        self.assertEquals(pythonLogLevelForLevel("error"), logging.ERROR)
+        #self.assertEquals(pythonLogLevelForLevel("critical"), logging.CRITICAL)
+        self.assertRaises(InvalidLogLevelError, pythonLogLevelForLevel, "-not-a-log-level-")
+
+    def test_namespace_default(self):
+        """
+        Default namespace is module name.
+        """
+        log = Logger()
+        self.assertEquals(log.namespace, __name__)
+
+    def test_namespace_mixin(self):
+        """
+        Default namespace for classes using L{LoggingMixIn} is the class name.
+        """
+        object = LoggingEnabledObject()
+        self.assertEquals(object.logger.namespace, "twext.python.test.test_log.LoggingEnabledObject")
+
+    def test_basic_Logger(self):
+        """
+        Test that log levels and messages are emitted correctly for
+        Logger.
+        """
+        for level in logLevels:
+            message = "This is a %s message" % (level,)
+
+            log = TestLogger()
+            method = getattr(log, level)
+            method(message, junk=message)
+
+            # Ensure that test_emit got called with expected arguments
+            self.assertEquals(log.emitted["level"], level)
+            self.assertEquals(log.emitted["message"], message)
+            self.assertEquals(log.emitted["kwargs"]["junk"], message)
+
+            if log.willLogAtLevel(level):
+                self.assertEquals(log.eventDict["level"], level)
+                self.assertEquals(log.eventDict["logLevel"], pythonLogLevelForLevel(level))
+                # FIXME: this checks the end of message because we do formatting in emit()
+                self.assertEquals(log.eventDict["message"][0][-len(message):], message)
+                self.assertEquals(log.eventDict["junk"], message)
+            else:
+                self.assertFalse(hasattr(log, "eventDict"))
+
+    def test_basic_LoggingMixIn(self):
+        """
+        Test that log levels and messages are emitted correctly for
+        LoggingMixIn.
+        """
+        for level in logLevels:
+            message = "This is a %s message" % (level,)
+
+            object = LoggingEnabledObject()
+            object.logger = TestLogger()
+
+            method = getattr(object, "log_" + level)
+            method(message, junk=message)
+
+            # Ensure that test_emit got called with expected arguments
+            self.assertEquals(object.logger.emitted["level"], level)
+            self.assertEquals(object.logger.emitted["message"], message)
+            self.assertEquals(object.logger.emitted["kwargs"]["junk"], message)
+
+            if object.logger.willLogAtLevel(level):
+                self.assertEquals(object.logger.eventDict["level"], level)
+                self.assertEquals(object.logger.eventDict["logLevel"], pythonLogLevelForLevel(level))
+                # FIXME: this checks the end of message because we do formatting in emit()
+                self.assertEquals(object.logger.eventDict["message"][0][-len(message):], message)
+                self.assertEquals(object.logger.eventDict["junk"], message)
+            else:
+                self.assertFalse(hasattr(object.logger, "eventDict"))
+
+    def test_conflicting_kwargs(self):
+        """
+        Make sure that conflicting kwargs don't pass through.
+        """
+        log = TestLogger()
+
+        log.error("*", logLevel="*", namespace="boogers")
+        self.assertEquals(log.eventDict["logLevel"], logging.ERROR)
+        self.assertEquals(log.eventDict["namespace"], log.namespace)
+
+    def test_defaultLogLevel(self):
+        """
+        Default log level is used.
+        """
+        self.failUnless(logLevelForNamespace("rocker.cool.namespace"), defaultLogLevel)
+
+    def test_logLevel(self):
+        """
+        Setting and retrieving log levels.
+        """
+        setLogLevelForNamespace("twext.web2", "debug")
+        setLogLevelForNamespace("twext.web2.dav", "error")
+
+        self.assertEquals(logLevelForNamespace("twisted"                     ), defaultLogLevel)
+        self.assertEquals(logLevelForNamespace("twext.web2"                ), "debug")
+        self.assertEquals(logLevelForNamespace("twext.web2.dav"            ), "error")
+        self.assertEquals(logLevelForNamespace("twext.web2.dav.test"       ), "error")
+        self.assertEquals(logLevelForNamespace("twext.web2.dav.test1.test2"), "error")
+
+    def test_clearLogLevel(self):
+        """
+        Clearing log levels.
+        """
+        setLogLevelForNamespace("twext.web2", "debug")
+        setLogLevelForNamespace("twext.web2.dav", "error")
+
+        clearLogLevels()
+
+        self.assertEquals(logLevelForNamespace("twisted"                     ), defaultLogLevel)
+        self.assertEquals(logLevelForNamespace("twext.web2"                ), defaultLogLevel)
+        self.assertEquals(logLevelForNamespace("twext.web2.dav"            ), defaultLogLevel)
+        self.assertEquals(logLevelForNamespace("twext.web2.dav.test"       ), defaultLogLevel)
+        self.assertEquals(logLevelForNamespace("twext.web2.dav.test1.test2"), defaultLogLevel)
+
+    def test_willLogAtLevel(self):
+        """
+        willLogAtLevel()
+        """
+        log = Logger()
+
+        for level in logLevels:
+            if cmpLogLevels(level, log.level()) < 0:
+                self.assertFalse(log.willLogAtLevel(level))
+            else:
+                self.assertTrue(log.willLogAtLevel(level))
+
+    def test_logMethodTruthiness_Logger(self):
+        """
+        Logger's log level functions/methods have true/false
+        value based on whether they will log.
+        """
+        log = Logger()
+
+        for level in logLevels:
+            enabled = getattr(log, level + "_enabled")
+            if enabled:
+                self.assertTrue(log.willLogAtLevel(level))
+            else:
+                self.assertFalse(log.willLogAtLevel(level))
+
+    def test_logMethodTruthiness_LoggingMixIn(self):
+        """
+        LoggingMixIn's log level functions/methods have true/false
+        value based on whether they will log.
+        """
+        object = LoggingEnabledObject()
+
+        for level in logLevels:
+            enabled = getattr(object, "log_" + level + "_enabled")
+            if enabled:
+                self.assertTrue(object.logger.willLogAtLevel(level))
+            else:
+                self.assertFalse(object.logger.willLogAtLevel(level))

Deleted: CalendarServer/trunk/twistedcaldav/test/test_log.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_log.py	2010-02-20 21:06:17 UTC (rev 5164)
+++ CalendarServer/trunk/twistedcaldav/test/test_log.py	2010-02-20 21:15:03 UTC (rev 5165)
@@ -1,227 +0,0 @@
-##
-# Copyright (c) 2005-2007 Apple Inc. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-##
-
-import logging
-
-from twisted.python import log as twistedLogging
-
-from twext.python.log import logLevelsByNamespace, logLevelForNamespace
-from twext.python.log import setLogLevelForNamespace, clearLogLevels
-from twext.python.log import logLevels, cmpLogLevels
-from twext.python.log import pythonLogLevelForLevel, InvalidLogLevelError
-from twext.python.log import Logger, LoggingMixIn
-
-from twistedcaldav.test.util import TestCase
-
-defaultLogLevel = logLevelsByNamespace[None]
-
-
-class TestLogger (Logger):
-    def __init__(self, namespace=None):
-        super(TestLogger, self).__init__(namespace)
-
-    def emit(self, level, message, **kwargs):
-        def observer(eventDict):
-            self.eventDict = eventDict
-
-        twistedLogging.addObserver(observer)
-
-        super(TestLogger, self).emit(level, message, **kwargs)
-
-        twistedLogging.removeObserver(observer)
-
-        self.emitted = {
-            "level"  : level,
-            "message": message,
-            "kwargs" : kwargs,
-        }
-
-class LoggingEnabledObject (LoggingMixIn):
-    pass
-
-class Logging (TestCase):
-    def setUp(self):
-        super(Logging, self).setUp()
-        clearLogLevels()
-
-    def tearDown(self):
-        super(Logging, self).tearDown()
-        clearLogLevels()
-
-    def test_cmpLogLevels(self):
-        self.assertEquals(cmpLogLevels("info" , "error"), -1)
-        self.assertEquals(cmpLogLevels("debug", "debug"),  0)
-        self.assertEquals(cmpLogLevels("warn" , "debug"),  1)
-
-    def test_pythonLogLevel(self):
-        self.assertEquals(pythonLogLevelForLevel("debug"), logging.DEBUG)
-        self.assertEquals(pythonLogLevelForLevel("info"), logging.INFO)
-        self.assertEquals(pythonLogLevelForLevel("warn"), logging.WARNING)
-        self.assertEquals(pythonLogLevelForLevel("error"), logging.ERROR)
-        #self.assertEquals(pythonLogLevelForLevel("critical"), logging.CRITICAL)
-        self.assertRaises(InvalidLogLevelError, pythonLogLevelForLevel, "-not-a-log-level-")
-
-    def test_namespace_default(self):
-        """
-        Default namespace is module name.
-        """
-        log = Logger()
-        self.assertEquals(log.namespace, __name__)
-
-    def test_namespace_mixin(self):
-        """
-        Default namespace for classes using L{LoggingMixIn} is the class name.
-        """
-        object = LoggingEnabledObject()
-        self.assertEquals(object.logger.namespace, "twistedcaldav.test.test_log.LoggingEnabledObject")
-
-    def test_basic_Logger(self):
-        """
-        Test that log levels and messages are emitted correctly for
-        Logger.
-        """
-        for level in logLevels:
-            message = "This is a %s message" % (level,)
-
-            log = TestLogger()
-            method = getattr(log, level)
-            method(message, junk=message)
-
-            # Ensure that test_emit got called with expected arguments
-            self.assertEquals(log.emitted["level"], level)
-            self.assertEquals(log.emitted["message"], message)
-            self.assertEquals(log.emitted["kwargs"]["junk"], message)
-
-            if log.willLogAtLevel(level):
-                self.assertEquals(log.eventDict["level"], level)
-                self.assertEquals(log.eventDict["logLevel"], pythonLogLevelForLevel(level))
-                # FIXME: this checks the end of message because we do formatting in emit()
-                self.assertEquals(log.eventDict["message"][0][-len(message):], message)
-                self.assertEquals(log.eventDict["junk"], message)
-            else:
-                self.assertFalse(hasattr(log, "eventDict"))
-
-    def test_basic_LoggingMixIn(self):
-        """
-        Test that log levels and messages are emitted correctly for
-        LoggingMixIn.
-        """
-        for level in logLevels:
-            message = "This is a %s message" % (level,)
-
-            object = LoggingEnabledObject()
-            object.logger = TestLogger()
-
-            method = getattr(object, "log_" + level)
-            method(message, junk=message)
-
-            # Ensure that test_emit got called with expected arguments
-            self.assertEquals(object.logger.emitted["level"], level)
-            self.assertEquals(object.logger.emitted["message"], message)
-            self.assertEquals(object.logger.emitted["kwargs"]["junk"], message)
-
-            if object.logger.willLogAtLevel(level):
-                self.assertEquals(object.logger.eventDict["level"], level)
-                self.assertEquals(object.logger.eventDict["logLevel"], pythonLogLevelForLevel(level))
-                # FIXME: this checks the end of message because we do formatting in emit()
-                self.assertEquals(object.logger.eventDict["message"][0][-len(message):], message)
-                self.assertEquals(object.logger.eventDict["junk"], message)
-            else:
-                self.assertFalse(hasattr(object.logger, "eventDict"))
-
-    def test_conflicting_kwargs(self):
-        """
-        Make sure that conflicting kwargs don't pass through.
-        """
-        log = TestLogger()
-
-        log.error("*", logLevel="*", namespace="boogers")
-        self.assertEquals(log.eventDict["logLevel"], logging.ERROR)
-        self.assertEquals(log.eventDict["namespace"], log.namespace)
-
-    def test_defaultLogLevel(self):
-        """
-        Default log level is used.
-        """
-        self.failUnless(logLevelForNamespace("rocker.cool.namespace"), defaultLogLevel)
-
-    def test_logLevel(self):
-        """
-        Setting and retrieving log levels.
-        """
-        setLogLevelForNamespace("twext.web2", "debug")
-        setLogLevelForNamespace("twext.web2.dav", "error")
-
-        self.assertEquals(logLevelForNamespace("twisted"                     ), defaultLogLevel)
-        self.assertEquals(logLevelForNamespace("twext.web2"                ), "debug")
-        self.assertEquals(logLevelForNamespace("twext.web2.dav"            ), "error")
-        self.assertEquals(logLevelForNamespace("twext.web2.dav.test"       ), "error")
-        self.assertEquals(logLevelForNamespace("twext.web2.dav.test1.test2"), "error")
-
-    def test_clearLogLevel(self):
-        """
-        Clearing log levels.
-        """
-        setLogLevelForNamespace("twext.web2", "debug")
-        setLogLevelForNamespace("twext.web2.dav", "error")
-
-        clearLogLevels()
-
-        self.assertEquals(logLevelForNamespace("twisted"                     ), defaultLogLevel)
-        self.assertEquals(logLevelForNamespace("twext.web2"                ), defaultLogLevel)
-        self.assertEquals(logLevelForNamespace("twext.web2.dav"            ), defaultLogLevel)
-        self.assertEquals(logLevelForNamespace("twext.web2.dav.test"       ), defaultLogLevel)
-        self.assertEquals(logLevelForNamespace("twext.web2.dav.test1.test2"), defaultLogLevel)
-
-    def test_willLogAtLevel(self):
-        """
-        willLogAtLevel()
-        """
-        log = Logger()
-
-        for level in logLevels:
-            if cmpLogLevels(level, log.level()) < 0:
-                self.assertFalse(log.willLogAtLevel(level))
-            else:
-                self.assertTrue(log.willLogAtLevel(level))
-
-    def test_logMethodTruthiness_Logger(self):
-        """
-        Logger's log level functions/methods have true/false
-        value based on whether they will log.
-        """
-        log = Logger()
-
-        for level in logLevels:
-            enabled = getattr(log, level + "_enabled")
-            if enabled:
-                self.assertTrue(log.willLogAtLevel(level))
-            else:
-                self.assertFalse(log.willLogAtLevel(level))
-
-    def test_logMethodTruthiness_LoggingMixIn(self):
-        """
-        LoggingMixIn's log level functions/methods have true/false
-        value based on whether they will log.
-        """
-        object = LoggingEnabledObject()
-
-        for level in logLevels:
-            enabled = getattr(object, "log_" + level + "_enabled")
-            if enabled:
-                self.assertTrue(object.logger.willLogAtLevel(level))
-            else:
-                self.assertFalse(object.logger.willLogAtLevel(level))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100220/9e8c6aee/attachment-0001.html>


More information about the calendarserver-changes mailing list