[CalendarServer-changes] [2555] CalendarServer/trunk/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Thu Jun 12 11:47:55 PDT 2008
Revision: 2555
http://trac.macosforge.org/projects/calendarserver/changeset/2555
Author: dreid at apple.com
Date: 2008-06-12 11:47:55 -0700 (Thu, 12 Jun 2008)
Log Message:
-----------
Use given uris for cache key but invalidate using canonical URI.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/cache.py
CalendarServer/trunk/twistedcaldav/test/test_cache.py
Modified: CalendarServer/trunk/twistedcaldav/cache.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/cache.py 2008-06-12 18:47:00 UTC (rev 2554)
+++ CalendarServer/trunk/twistedcaldav/cache.py 2008-06-12 18:47:55 UTC (rev 2555)
@@ -144,8 +144,7 @@
return request.cacheKey
- d = self._getURIs(request)
- d.addCallback(_getBody)
+ d = _getBody((self._principalURI(request.authnUser), request.uri))
d.addCallback(_getKey)
return d
Modified: CalendarServer/trunk/twistedcaldav/test/test_cache.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_cache.py 2008-06-12 18:47:00 UTC (rev 2554)
+++ CalendarServer/trunk/twistedcaldav/test/test_cache.py 2008-06-12 18:47:55 UTC (rev 2555)
@@ -125,6 +125,8 @@
StubRequest.resources = {
'/calendars/__uids__/cdaboo/': StubURLResource(
'/calendars/__uids__/cdaboo/'),
+ '/calendars/users/cdaboo/': StubURLResource(
+ '/calendars/__uids__/cdaboo/'),
'/principals/__uids__/cdaboo/': StubURLResource(
'/principals/__uids__/cdaboo/'),
'/calendars/__uids__/dreid/': StubURLResource(
@@ -138,6 +140,7 @@
def assertResponse(self, response, expected):
+ self.assertNotEquals(response, None, "Got None instead of a response.")
self.assertEquals(response.code, expected[0])
self.assertEquals(set(response.headers.getAllRawHeaders()),
set(expected[1].getAllRawHeaders()))
@@ -158,7 +161,7 @@
d = self.rc.getResponseForRequest(request)
- d.addCallback(self.assertResponse, self.expected_response)
+ d.addCallback(self.assertEquals, None)
return d
@@ -184,7 +187,7 @@
d = self.rc.getResponseForRequest(request)
- d.addCallback(self.assertResponse, self.expected_response)
+ d.addCallback(self.assertEquals, None)
return d
@@ -330,3 +333,39 @@
(self.expected_response[0],
dict(list(self.expected_response[1].getAllRawHeaders())),
self.expected_response[2]))))
+
+ self.memcacheStub = memcacheStub
+
+
+ def test_givenURIsForKeys(self):
+ expected_response = (200, Headers({}), "Foobarbaz")
+
+ _key = (
+ 'PROPFIND',
+ '/principals/__uids__/cdaboo/',
+ '/calendars/users/cdaboo/',
+ '1',
+ hash('foobar'),
+ )
+
+ expected_key = hashlib.md5(':'.join([str(t) for t in _key])).hexdigest()
+
+ self.memcacheStub._cache[expected_key] = (
+ 0, #flags
+ cPickle.dumps((
+ 'principalToken0',
+ 'uriToken0',
+ (expected_response[0],
+ dict(list(expected_response[1].getAllRawHeaders())),
+ expected_response[2]))))
+
+ print self.memcacheStub._cache
+
+ d = self.rc.getResponseForRequest(
+ StubRequest('PROPFIND',
+ '/calendars/users/cdaboo/',
+ '/principals/__uids__/cdaboo/'))
+
+ d.addCallback(self.assertResponse, expected_response)
+ return d
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20080612/ee600913/attachment.htm
More information about the calendarserver-changes
mailing list