[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