[CalendarServer-changes] [11684] CalendarServer/trunk/twext/python/test/test_log.py

source_changes at macosforge.org source_changes at macosforge.org
Thu Sep 12 17:21:37 PDT 2013


Revision: 11684
          http://trac.calendarserver.org//changeset/11684
Author:   wsanchez at apple.com
Date:     2013-09-12 17:21:37 -0700 (Thu, 12 Sep 2013)
Log Message:
-----------
Add test_addObserver() and test_addObserverAgain()

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

Modified: CalendarServer/trunk/twext/python/test/test_log.py
===================================================================
--- CalendarServer/trunk/twext/python/test/test_log.py	2013-09-13 00:07:32 UTC (rev 11683)
+++ CalendarServer/trunk/twext/python/test/test_log.py	2013-09-13 00:21:37 UTC (rev 11684)
@@ -614,6 +614,55 @@
 
 
 class DefaultLogPublisherTests(SetUpTearDown, unittest.TestCase):
+    def test_addObserver(self):
+        o1 = lambda e: None
+        o2 = lambda e: None
+        o3 = lambda e: None
+
+        publisher = DefaultLogPublisher()
+        publisher.addObserver(o1)
+        publisher.addObserver(o2, filtered=True)
+        publisher.addObserver(o3, filtered=False)
+
+        self.assertEquals(
+            set((o1, o2, publisher.legacyLogObserver)),
+            set(publisher.filteredPublisher.observers),
+            "Filtered observers do not match expected set"
+        )
+        self.assertEquals(
+            set((o3, publisher.filters)),
+            set(publisher.rootPublisher.observers),
+            "Root observers do not match expected set"
+        )
+
+
+    def test_addObserverAgain(self):
+        o1 = lambda e: None
+        o2 = lambda e: None
+        o3 = lambda e: None
+
+        publisher = DefaultLogPublisher()
+        publisher.addObserver(o1)
+        publisher.addObserver(o2, filtered=True)
+        publisher.addObserver(o3, filtered=False)
+
+        # Swap filtered-ness of o2 and o3
+        publisher.addObserver(o1)
+        publisher.addObserver(o2, filtered=False)
+        publisher.addObserver(o3, filtered=True)
+
+        self.assertEquals(
+            set((o1, o3, publisher.legacyLogObserver)),
+            set(publisher.filteredPublisher.observers),
+            "Filtered observers do not match expected set"
+        )
+        self.assertEquals(
+            set((o2, publisher.filters)),
+            set(publisher.rootPublisher.observers),
+            "Root observers do not match expected set"
+        )
+
+
     def test_filteredObserver(self):
         namespace = __name__
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130912/02ef8bb3/attachment.html>


More information about the calendarserver-changes mailing list