[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