[CalendarServer-changes] [5228] CalendarServer/branches/users/cdaboo/shared-calendars-5187/ twistedcaldav/test/test_memcacheprops.py

source_changes at macosforge.org source_changes at macosforge.org
Tue Mar 2 07:36:21 PST 2010


Revision: 5228
          http://trac.macosforge.org/projects/calendarserver/changeset/5228
Author:   cdaboo at apple.com
Date:     2010-03-02 07:36:17 -0800 (Tue, 02 Mar 2010)
Log Message:
-----------
Tests for cached per-user webdav properties.

Modified Paths:
--------------
    CalendarServer/branches/users/cdaboo/shared-calendars-5187/twistedcaldav/test/test_memcacheprops.py

Modified: CalendarServer/branches/users/cdaboo/shared-calendars-5187/twistedcaldav/test/test_memcacheprops.py
===================================================================
--- CalendarServer/branches/users/cdaboo/shared-calendars-5187/twistedcaldav/test/test_memcacheprops.py	2010-03-02 05:06:49 UTC (rev 5227)
+++ CalendarServer/branches/users/cdaboo/shared-calendars-5187/twistedcaldav/test/test_memcacheprops.py	2010-03-02 15:36:17 UTC (rev 5228)
@@ -189,3 +189,94 @@
             "val0")
         self.assertEquals(child2.deadProperties().get(("ns1:", "prop3")).value,
             "val0")
+
+    def test_setget_uids(self):
+
+        for uid in (None, "123", "456"):
+            child1 = self.getColl().getChild("a")
+            child1.deadProperties().set(StubProperty("ns1:", "prop1", value="val1%s" % (uid if uid else "",)), uid=uid)
+    
+            child2 = self.getColl().getChild("a")
+            self.assertEquals(child2.deadProperties().get(("ns1:", "prop1"), uid=uid).value,
+                "val1%s" % (uid if uid else "",))
+    
+            child2.deadProperties().set(StubProperty("ns1:", "prop1", value="val2%s" % (uid if uid else "",)), uid=uid)
+    
+            # force memcache to be consulted (once per collection per request)
+            child1 = self.getColl().getChild("a")
+    
+            self.assertEquals(child1.deadProperties().get(("ns1:", "prop1"), uid=uid).value,
+                "val2%s" % (uid if uid else "",))
+
+    def test_merge_uids(self):
+
+        for uid in (None, "123", "456"):
+            child1 = self.getColl().getChild("a")
+            child2 = self.getColl().getChild("a")
+            child1.deadProperties().set(StubProperty("ns1:", "prop1", value="val0%s" % (uid if uid else "",)), uid=uid)
+            child1.deadProperties().set(StubProperty("ns1:", "prop2", value="val0%s" % (uid if uid else "",)), uid=uid)
+            child1.deadProperties().set(StubProperty("ns1:", "prop3", value="val0%s" % (uid if uid else "",)), uid=uid)
+    
+            self.assertEquals(child2.deadProperties().get(("ns1:", "prop1"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
+            self.assertEquals(child1.deadProperties().get(("ns1:", "prop2"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
+            self.assertEquals(child1.deadProperties().get(("ns1:", "prop3"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
+    
+            child2.deadProperties().set(StubProperty("ns1:", "prop1", value="val1%s" % (uid if uid else "",)), uid=uid)
+            child1.deadProperties().set(StubProperty("ns1:", "prop3", value="val3%s" % (uid if uid else "",)), uid=uid)
+    
+            # force memcache to be consulted (once per collection per request)
+            child2 = self.getColl().getChild("a")
+    
+            # verify properties
+            self.assertEquals(child2.deadProperties().get(("ns1:", "prop1"), uid=uid).value,
+                "val1%s" % (uid if uid else "",))
+            self.assertEquals(child2.deadProperties().get(("ns1:", "prop2"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
+            self.assertEquals(child2.deadProperties().get(("ns1:", "prop3"), uid=uid).value,
+                "val3%s" % (uid if uid else "",))
+    
+            self.assertEquals(child1.deadProperties().get(("ns1:", "prop1"), uid=uid).value,
+                "val1%s" % (uid if uid else "",))
+            self.assertEquals(child1.deadProperties().get(("ns1:", "prop2"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
+            self.assertEquals(child1.deadProperties().get(("ns1:", "prop3"), uid=uid).value,
+                "val3%s" % (uid if uid else "",))
+
+    def test_delete_uids(self):
+
+        for uid in (None, "123", "456"):
+            child1 = self.getColl().getChild("a")
+            child2 = self.getColl().getChild("a")
+            child1.deadProperties().set(StubProperty("ns1:", "prop1", value="val0%s" % (uid if uid else "",)), uid=uid)
+            child1.deadProperties().set(StubProperty("ns1:", "prop2", value="val0%s" % (uid if uid else "",)), uid=uid)
+            child1.deadProperties().set(StubProperty("ns1:", "prop3", value="val0%s" % (uid if uid else "",)), uid=uid)
+    
+            self.assertEquals(child2.deadProperties().get(("ns1:", "prop1"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
+            self.assertEquals(child1.deadProperties().get(("ns1:", "prop2"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
+            self.assertEquals(child1.deadProperties().get(("ns1:", "prop3"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
+    
+            child2.deadProperties().set(StubProperty("ns1:", "prop1", value="val1%s" % (uid if uid else "",)), uid=uid)
+            child1.deadProperties().delete(("ns1:", "prop1"), uid=uid)
+            self.assertRaises(HTTPError, child1.deadProperties().get, ("ns1:", "prop1"), uid=uid)
+    
+            self.assertFalse(child1.deadProperties().contains(("ns1:", "prop1"), uid=uid)) 
+            self.assertEquals(child1.deadProperties().get(("ns1:", "prop2"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
+            self.assertEquals(child1.deadProperties().get(("ns1:", "prop3"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
+    
+            # force memcache to be consulted (once per collection per request)
+            child2 = self.getColl().getChild("a")
+    
+            # verify properties
+            self.assertFalse(child2.deadProperties().contains(("ns1:", "prop1"), uid=uid)) 
+            self.assertEquals(child2.deadProperties().get(("ns1:", "prop2"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
+            self.assertEquals(child2.deadProperties().get(("ns1:", "prop3"), uid=uid).value,
+                "val0%s" % (uid if uid else "",))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100302/8b99e9da/attachment.html>


More information about the calendarserver-changes mailing list