[CalendarServer-changes] [12636] twext/trunk/twext/enterprise

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 12 11:21:07 PDT 2014


Revision: 12636
          http://trac.calendarserver.org//changeset/12636
Author:   cdaboo at apple.com
Date:     2014-02-10 13:32:13 -0800 (Mon, 10 Feb 2014)
Log Message:
-----------
Fix missing kwarg name.

Modified Paths:
--------------
    twext/trunk/twext/enterprise/queue.py
    twext/trunk/twext/enterprise/test/test_queue.py

Modified: twext/trunk/twext/enterprise/queue.py
===================================================================
--- twext/trunk/twext/enterprise/queue.py	2014-02-10 21:18:16 UTC (rev 12635)
+++ twext/trunk/twext/enterprise/queue.py	2014-02-10 21:32:13 UTC (rev 12636)
@@ -1219,7 +1219,7 @@
             return self.workerPool
 
         if self.peers and not onlyLocally:
-            return sorted(self.peers, lambda p: p.currentLoadEstimate())[0]
+            return sorted(self.peers, key=lambda p: p.currentLoadEstimate())[0]
         else:
             return LocalPerformer(self.transactionFactory)
 

Modified: twext/trunk/twext/enterprise/test/test_queue.py
===================================================================
--- twext/trunk/twext/enterprise/test/test_queue.py	2014-02-10 21:18:16 UTC (rev 12635)
+++ twext/trunk/twext/enterprise/test/test_queue.py	2014-02-10 21:32:13 UTC (rev 12636)
@@ -56,6 +56,7 @@
         )
 
 
+
 class Clock(_Clock):
     """
     More careful L{IReactorTime} fake which mimics the exception behavior of
@@ -447,6 +448,36 @@
         self.assertEquals(performResult, [None])
 
 
+    def test_choosePerformerSorted(self):
+        """
+        If L{PeerConnectionPool.choosePerformer} is invoked make it
+        return the peer with the least load.
+        """
+        peer = PeerConnectionPool(None, None, 4322, schema)
+
+        class DummyPeer(object):
+            def __init__(self, name, load):
+                self.name = name
+                self.load = load
+
+            def currentLoadEstimate(self):
+                return self.load
+
+        apeer = DummyPeer("A", 1)
+        bpeer = DummyPeer("B", 0)
+        cpeer = DummyPeer("C", 2)
+        peer.addPeerConnection(apeer)
+        peer.addPeerConnection(bpeer)
+        peer.addPeerConnection(cpeer)
+
+        performer = peer.choosePerformer(onlyLocally=False)
+        self.assertEqual(performer, bpeer)
+
+        bpeer.load = 2
+        performer = peer.choosePerformer(onlyLocally=False)
+        self.assertEqual(performer, apeer)
+
+
     @inlineCallbacks
     def test_notBeforeWhenCheckingForLostWork(self):
         """
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/38b7a170/attachment.html>


More information about the calendarserver-changes mailing list