[CalendarServer-changes] [7686] CalendarServer/trunk/contrib/performance/loadtest/test_ical.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed Jun 29 08:29:13 PDT 2011
Revision: 7686
http://trac.macosforge.org/projects/calendarserver/changeset/7686
Author: exarkun at twistedmatrix.com
Date: 2011-06-29 08:29:12 -0700 (Wed, 29 Jun 2011)
Log Message:
-----------
Pyflakes fixes for unit tests; mostly, make sure Deferreds for Calendar operations fire when the operations complete.
Modified Paths:
--------------
CalendarServer/trunk/contrib/performance/loadtest/test_ical.py
Modified: CalendarServer/trunk/contrib/performance/loadtest/test_ical.py
===================================================================
--- CalendarServer/trunk/contrib/performance/loadtest/test_ical.py 2011-06-28 00:44:50 UTC (rev 7685)
+++ CalendarServer/trunk/contrib/performance/loadtest/test_ical.py 2011-06-29 15:29:12 UTC (rev 7686)
@@ -24,7 +24,8 @@
from twisted.python.failure import Failure
from twisted.internet.defer import Deferred
from twisted.trial.unittest import TestCase
-from twisted.web.http import OK, MULTI_STATUS
+from twisted.web.http import OK, NO_CONTENT, CREATED, MULTI_STATUS
+from twisted.web.http_headers import Headers
from twisted.web.client import ResponseDone
from twisted.internet.protocol import ProtocolToConsumerAdapter
@@ -800,13 +801,17 @@
class MemoryResponse(object):
def __init__(self, version, code, phrase, headers, bodyProducer):
- self.bodyProducer = bodyProducer
+ self.version = version
+ self.code = code
+ self.phrase = phrase
+ self.headers = headers
self.length = bodyProducer.length
+ self._bodyProducer = bodyProducer
def deliverBody(self, protocol):
- protocol.makeConnection(self.bodyProducer)
- d = self.bodyProducer.startProducing(ProtocolToConsumerAdapter(protocol))
+ protocol.makeConnection(self._bodyProducer)
+ d = self._bodyProducer.startProducing(ProtocolToConsumerAdapter(protocol))
d.addCallback(lambda ignored: protocol.connectionLost(Failure(ResponseDone())))
@@ -952,6 +957,9 @@
"""
requests = self.interceptRequests()
+ calendar = Calendar(caldavxml.calendar, u'calendar', u'/mumble/', None)
+ self.client._calendars[calendar.url] = calendar
+
vcalendar = list(readComponents(EVENT))[0]
d = self.client.addEvent(u'/mumble/frotz.ics', vcalendar)
@@ -959,10 +967,11 @@
# iCal PUTs the new VCALENDAR object.
expectedResponseCode, method, url, headers, body = req
- self.assertEquals(method, 'PUT')
- self.assertEquals(url, 'http://127.0.0.1/mumble/frotz.ics')
+ self.assertEqual(expectedResponseCode, CREATED)
+ self.assertEqual(method, 'PUT')
+ self.assertEqual(url, 'http://127.0.0.1/mumble/frotz.ics')
self.assertIsInstance(url, str)
- self.assertEquals(headers.getRawHeaders('content-type'), ['text/calendar'])
+ self.assertEqual(headers.getRawHeaders('content-type'), ['text/calendar'])
consumer = MemoryConsumer()
finished = body.startProducing(consumer)
@@ -971,9 +980,17 @@
list(readComponents(consumer.value()))[0],
vcalendar)
finished.addCallback(cbFinished)
- return finished
+ def requested(ignored):
+ response = MemoryResponse(
+ ('HTTP', '1', '1'), CREATED, "Created", Headers({}),
+ StringProducer(""))
+ result.callback(response)
+ finished.addCallback(requested)
+ return d
+
+
def test_deleteEvent(self):
"""
L{SnowLeopard.deleteEvent} DELETEs the event at the relative
@@ -992,14 +1009,22 @@
result, req = requests.pop()
expectedResponseCode, method, url = req
- self.assertEquals(method, 'DELETE')
- self.assertEquals(url, 'http://127.0.0.1' + event.url)
+
+ self.assertEqual(expectedResponseCode, NO_CONTENT)
+ self.assertEqual(method, 'DELETE')
+ self.assertEqual(url, 'http://127.0.0.1' + event.url)
self.assertIsInstance(url, str)
self.assertNotIn(event.url, self.client._events)
self.assertNotIn(u'bar.ics', calendar.events)
+ response = MemoryResponse(
+ ('HTTP', '1', '1'), NO_CONTENT, "No Content", None,
+ StringProducer(""))
+ result.callback(response)
+ return d
+
def assertComponentsEqual(self, first, second):
self.assertEquals(first.name, second.name, "Component names not equal")
self.assertEquals(first.behavior, second.behavior, "Component behaviors not equal")
@@ -1091,7 +1116,7 @@
calendar = Calendar(None, 'calendar', '/something/', None)
self.client._calendars[calendar.url] = calendar
- d = self.client._updateCalendar(calendar)
+ self.client._updateCalendar(calendar)
result, req = requests.pop(0)
expectedResponseCode, method, url, headers, body = req
self.assertEqual('PROPFIND', method)
@@ -1182,6 +1207,15 @@
END:VFREEBUSY
END:VCALENDAR
""".replace('\n', '\r\n') % {'uid': uid, 'dtstamp': dtstamp},consumer.value())
+
finished.addCallback(cbFinished)
- return finished
+ def requested(ignored):
+ response = MemoryResponse(
+ ('HTTP', '1', '1'), OK, "Ok", Headers({}),
+ StringProducer(""))
+ result.callback(response)
+ finished.addCallback(requested)
+
+ return d
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110629/792242ea/attachment.html>
More information about the calendarserver-changes
mailing list