[CalendarServer-changes] [14215] CalendarServer/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Wed Dec 10 14:33:11 PST 2014
Revision: 14215
http://trac.calendarserver.org//changeset/14215
Author: cdaboo at apple.com
Date: 2014-12-10 14:33:11 -0800 (Wed, 10 Dec 2014)
Log Message:
-----------
Fix for use with latest Twisted.
Modified Paths:
--------------
CalendarServer/trunk/.project
CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py
CalendarServer/trunk/contrib/performance/loadtest/test_ical.py
CalendarServer/trunk/requirements-stable.txt
CalendarServer/trunk/setup.py
CalendarServer/trunk/twistedcaldav/scheduling_store/caldav/test/test_resource.py
CalendarServer/trunk/twistedcaldav/test/test_database.py
CalendarServer/trunk/twistedcaldav/test/test_upgrade.py
CalendarServer/trunk/txdav/caldav/datastore/scheduling/imip/inbound.py
CalendarServer/trunk/txdav/caldav/datastore/scheduling/imip/test/test_inbound.py
CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/dkim.py
CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/test/test_dkim.py
CalendarServer/trunk/txdav/caldav/datastore/test/common.py
CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py
CalendarServer/trunk/txdav/carddav/datastore/test/test_file.py
CalendarServer/trunk/txdav/carddav/datastore/test/test_sql.py
CalendarServer/trunk/txdav/common/datastore/podding/test/test_conduit.py
CalendarServer/trunk/txdav/common/datastore/test/accounts/accounts.xml
CalendarServer/trunk/txdav/common/datastore/work/test/test_revision_cleanup.py
CalendarServer/trunk/txdav/dps/test/test_client.py
CalendarServer/trunk/txdav/who/cache.py
CalendarServer/trunk/txdav/who/test/test_cache.py
CalendarServer/trunk/txdav/who/test/test_groups.py
Added Paths:
-----------
CalendarServer/trunk/txdav/caldav/datastore/test/calendar_store/ho/me/home1/calendar_1/5.ics
Modified: CalendarServer/trunk/.project
===================================================================
--- CalendarServer/trunk/.project 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/.project 2014-12-10 22:33:11 UTC (rev 14215)
@@ -11,7 +11,9 @@
<project>pycparser</project>
<project>pycrypto</project>
<project>PyGreSQL</project>
+ <project>pyOpenSSL</project>
<project>python-ldap</project>
+ <project>service_identity</project>
<project>sqlparse</project>
<project>twextpy</project>
<project>Twisted</project>
Modified: CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py
===================================================================
--- CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -40,7 +40,7 @@
def test_getTargetMissing(self):
- self.assertFailure(self.commands.getTarget(["/foo"]), NotFoundError)
+ return self.assertFailure(self.commands.getTarget(["/foo"]), NotFoundError)
@inlineCallbacks
Modified: CalendarServer/trunk/contrib/performance/loadtest/test_ical.py
===================================================================
--- CalendarServer/trunk/contrib/performance/loadtest/test_ical.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/contrib/performance/loadtest/test_ical.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -1279,6 +1279,7 @@
self.assertEqual({}, self.client.xmpp)
+ @inlineCallbacks
def test_changeEventAttendee(self):
"""
OS_X_10_6.changeEventAttendee removes one attendee from an
@@ -1291,7 +1292,7 @@
old = attendees[0]
new = old.duplicate()
new.setParameter('CN', 'Some Other Guy')
- event = Event(None, u'/some/calendar/1234.ics', None, vevent)
+ event = Event(self.client.serializeLocation(), u'/some/calendar/1234.ics', None, vevent)
self.client._events[event.url] = event
self.client.changeEventAttendee(event.url, old, new)
Modified: CalendarServer/trunk/requirements-stable.txt
===================================================================
--- CalendarServer/trunk/requirements-stable.txt 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/requirements-stable.txt 2014-12-10 22:33:11 UTC (rev 14215)
@@ -5,16 +5,18 @@
# For CalendarServer development, don't try to get these projects from PyPI; use svn.
-e .
--e svn+http://svn.calendarserver.org/repository/calendarserver/twext/trunk@14208#egg=twextpy
+-e svn+http://svn.calendarserver.org/repository/calendarserver/twext/trunk@14214#egg=twextpy
-e svn+http://svn.calendarserver.org/repository/calendarserver/PyKerberos/trunk@13420#egg=kerberos
-e svn+http://svn.calendarserver.org/repository/calendarserver/PyCalendar/trunk@14025#egg=pycalendar
# Specify specific versions of our dependencies so that we're all testing the same config.
cffi==0.8.6
+characteristic==14.0.0
funcparserlib==0.3.6
psutil==2.1.3
pyasn1==0.1.7
+pyasn1_modules==0.0.5
pycparser==2.10
pycrypto==2.6.1
PyGreSQL==4.1.1
@@ -25,6 +27,7 @@
python-dateutil==1.5 # Note: v2.0+ is for Python 3
python-ldap==2.4.18
pytz==2014.10
+service_identity==14.0.0
setproctitle==1.1.8
sqlparse==0.1.14
Twisted==14.0.2
Modified: CalendarServer/trunk/setup.py
===================================================================
--- CalendarServer/trunk/setup.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/setup.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -239,6 +239,8 @@
"service_identity",
"pycrypto",
"pyasn1",
+ "pyasn1_modules",
+ "characteristic",
"kerberos",
# Data store
Modified: CalendarServer/trunk/twistedcaldav/scheduling_store/caldav/test/test_resource.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/scheduling_store/caldav/test/test_resource.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/twistedcaldav/scheduling_store/caldav/test/test_resource.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -118,7 +118,7 @@
newfbset.add("/calendar-broken")
newset = caldavxml.CalendarFreeBusySet(*[davxml.HRef(url) for url in newfbset])
- self.failUnlessFailure(inbox.writeProperty(newset, request), HTTPError)
+ yield self.failUnlessFailure(inbox.writeProperty(newset, request), HTTPError)
Modified: CalendarServer/trunk/twistedcaldav/test/test_database.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_database.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/twistedcaldav/test/test_database.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -191,6 +191,7 @@
self.assertEqual(items, ())
+ @inlineCallbacks
def test_version_upgrade_persistent(self):
"""
Connect to database and create table
@@ -198,9 +199,9 @@
db_file = self.mktemp()
db = Database.TestDB(db_file, persistent=True)
yield db.open()
- yield db.execute("INSERT into TESTTYPE (KEY, VALUE) values (:1, :2)", "FOO", "BAR")
+ yield db.execute("INSERT into TESTTYPE (KEY, VALUE) values (:1, :2)", ("FOO", "BAR",))
items = (yield db.query("SELECT * from TESTTYPE"))
- self.assertEqual(items, (("FOO", "BAR")))
+ self.assertEqual(items, (("FOO", "BAR"),))
db.close()
db = None
@@ -210,26 +211,27 @@
db.close()
db = None
- db = Database.TestDB(db_file, persistent=True, autocommit=True)
+ db = Database.TestDB(db_file, persistent=True)
yield db.open()
items = (yield db.query("SELECT * from TESTTYPE"))
- self.assertEqual(items, (("FOO", "BAR")))
+ self.assertEqual(items, (("FOO", "BAR"),))
+ @inlineCallbacks
def test_version_upgrade_persistent_add_index(self):
"""
Connect to database and create table
"""
db_file = self.mktemp()
- db = Database.TestDB(db_file, persistent=True, autocommit=True)
+ db = Database.TestDB(db_file, persistent=True)
yield db.open()
- yield db.execute("INSERT into TESTTYPE (KEY, VALUE) values (:1, :2)", "FOO", "BAR")
+ yield db.execute("INSERT into TESTTYPE (KEY, VALUE) values (:1, :2)", ("FOO", "BAR",))
items = (yield db.query("SELECT * from TESTTYPE"))
- self.assertEqual(items, (("FOO", "BAR")))
+ self.assertEqual(items, (("FOO", "BAR"),))
db.close()
db = None
- db = Database.TestDBCreateIndexOnUpgrade(db_file, persistent=True, autocommit=True)
+ db = Database.TestDBCreateIndexOnUpgrade(db_file, persistent=True)
yield db.open()
items = (yield db.query("SELECT * from TESTTYPE"))
- self.assertEqual(items, (("FOO", "BAR")))
+ self.assertEqual(items, (("FOO", "BAR"),))
Modified: CalendarServer/trunk/twistedcaldav/test/test_upgrade.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_upgrade.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/twistedcaldav/test/test_upgrade.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -180,6 +180,7 @@
self.assertTrue(os.path.exists(os.path.join(config.DataRoot, NEWPROXYFILE)))
+ @inlineCallbacks
def test_freeBusyUpgrade(self):
"""
Test the updating of calendar-free-busy-set xattrs on inboxes
Modified: CalendarServer/trunk/txdav/caldav/datastore/scheduling/imip/inbound.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/scheduling/imip/inbound.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/caldav/datastore/scheduling/imip/inbound.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -367,7 +367,7 @@
del msg["To"]
msg["To"] = toAddr
log.warn("Mail gateway forwarding reply back to organizer")
- yield smtpSender.sendMessage(fromAddr, toAddr, messageid(), msg)
+ yield smtpSender.sendMessage(fromAddr, toAddr, messageid(), msg.as_string())
returnValue(self.REPLY_FORWARDED_TO_ORGANIZER)
# Process the imip attachment; inject to calendar server
Modified: CalendarServer/trunk/txdav/caldav/datastore/scheduling/imip/test/test_inbound.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/scheduling/imip/test/test_inbound.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/caldav/datastore/scheduling/imip/test/test_inbound.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -29,7 +29,6 @@
from txdav.caldav.datastore.scheduling.imip.inbound import injectMessage
from txdav.caldav.datastore.scheduling.imip.inbound import shouldDeleteAllMail
from txdav.caldav.datastore.scheduling.imip.inbound import IMAP4DownloadProtocol
-from txdav.caldav.datastore.scheduling.itip import iTIPRequestStatus
from txdav.common.datastore.test.util import CommonCommonTests
from twext.enterprise.jobqueue import JobItem
@@ -177,7 +176,7 @@
# Make sure a known token *is* processed
txn = self.store.newTransaction()
token = (yield txn.imipCreateToken(
- "urn:uuid:5A985493-EE2C-4665-94CF-4DFEA3A89500",
+ "urn:x-uid:5A985493-EE2C-4665-94CF-4DFEA3A89500",
"mailto:user02 at example.com",
"1E71F9C8-AEDA-48EB-98D0-76E898F6BB5C"
))
@@ -200,7 +199,7 @@
# Make sure a known token *is* processed
txn = self.store.newTransaction()
yield txn.imipCreateToken(
- "urn:uuid:5A985493-EE2C-4665-94CF-4DFEA3A89500",
+ "urn:x-uid:5A985493-EE2C-4665-94CF-4DFEA3A89500",
"mailto:xyzzy at example.com",
"1E71F9C8-AEDA-48EB-98D0-76E898F6BB5C",
token="d7cdf68d-8b73-4df1-ad3b-f08002fb285f"
@@ -213,13 +212,14 @@
yield JobItem.waitEmpty(self.store.newTransaction, reactor, 60)
+ @inlineCallbacks
def test_processReplyMissingOrganizer(self):
msg = email.message_from_string(self.dataFile('reply_missing_organizer'))
# stick the token in the database first
txn = self.store.newTransaction()
yield txn.imipCreateToken(
- "urn:uuid:5A985493-EE2C-4665-94CF-4DFEA3A89500",
+ "urn:x-uid:5A985493-EE2C-4665-94CF-4DFEA3A89500",
"mailto:xyzzy at example.com",
"1E71F9C8-AEDA-48EB-98D0-76E898F6BB5C",
token="d7cdf68d-8b73-4df1-ad3b-f08002fb285f"
@@ -227,19 +227,18 @@
yield txn.commit()
result = (yield self.receiver.processReply(msg))
- organizer, _ignore_attendee, calendar = result
- organizerProp = calendar.mainComponent().getOrganizerProperty()
- self.assertTrue(organizerProp is not None)
- self.assertEquals(organizer,
- "urn:uuid:5A985493-EE2C-4665-94CF-4DFEA3A89500")
+ self.assertEquals(result, MailReceiver.INJECTION_SUBMITTED)
+ yield JobItem.waitEmpty(self.store.newTransaction, reactor, 60)
+
+ @inlineCallbacks
def test_processReplyMissingAttendee(self):
msg = email.message_from_string(self.dataFile('reply_missing_attendee'))
txn = self.store.newTransaction()
yield txn.imipCreateToken(
- "urn:uuid:5A985493-EE2C-4665-94CF-4DFEA3A89500",
+ "urn:x-uid:5A985493-EE2C-4665-94CF-4DFEA3A89500",
"mailto:xyzzy at example.com",
"1E71F9C8-AEDA-48EB-98D0-76E898F6BB5C",
token="d7cdf68d-8b73-4df1-ad3b-f08002fb285f"
@@ -247,16 +246,12 @@
yield txn.commit()
result = (yield self.receiver.processReply(msg))
- _ignore_organizer, attendee, calendar = result
+ self.assertEquals(result, MailReceiver.INJECTION_SUBMITTED)
- # Since the expected attendee was missing, the reply processor should
- # have added an attendee back in with a "5.1;Service unavailable"
- # schedule-status
- attendeeProp = calendar.mainComponent().getAttendeeProperty([attendee])
- self.assertEquals(attendeeProp.parameterValue("SCHEDULE-STATUS"),
- iTIPRequestStatus.SERVICE_UNAVAILABLE)
+ yield JobItem.waitEmpty(self.store.newTransaction, reactor, 60)
+ @inlineCallbacks
def test_processReplyMissingAttachment(self):
msg = email.message_from_string(
@@ -266,7 +261,7 @@
# stick the token in the database first
txn = self.store.newTransaction()
yield txn.imipCreateToken(
- "urn:uuid:5A985493-EE2C-4665-94CF-4DFEA3A89500",
+ "urn:x-uid:5A985493-EE2C-4665-94CF-4DFEA3A89500",
"mailto:xyzzy at example.com",
"1E71F9C8-AEDA-48EB-98D0-76E898F6BB5C",
token="d7cdf68d-8b73-4df1-ad3b-f08002fb285f"
@@ -276,7 +271,9 @@
result = (yield self.receiver.processReply(msg))
self.assertEquals(result, MailReceiver.REPLY_FORWARDED_TO_ORGANIZER)
+ yield JobItem.waitEmpty(self.store.newTransaction, reactor, 60)
+
@inlineCallbacks
def test_injectMessage(self):
Modified: CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/dkim.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/dkim.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/dkim.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -812,7 +812,8 @@
return None
- def flushCache(self):
+ @staticmethod
+ def flushCache():
PublicKeyLookup.keyCache = {}
Modified: CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/test/test_dkim.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/test/test_dkim.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/test/test_dkim.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -389,6 +389,7 @@
self.assertEqual(extracted, result.replace("\n", "\r\n"))
+ @inlineCallbacks
def test_locate_public_key(self):
"""
L{DKIMVerifier.locatePublicKey} correctly finds key matching headers.
@@ -439,13 +440,14 @@
for hdrs, keys, result in data:
headers = [hdr.split(":", 1) for hdr in hdrs.splitlines()]
TestPublicKeyLookup.PublicKeyLookup_Testing.keys = keys
+ TestPublicKeyLookup.PublicKeyLookup_Testing.flushCache()
verifier = DKIMVerifier(self._makeHeaders(headers), "", key_lookup=(TestPublicKeyLookup.PublicKeyLookup_Testing,))
verifier.processDKIMHeader()
pkey = (yield verifier.locatePublicKey())
if result:
- self.assertNotEqual(pkey, None)
+ self.assertTrue(pkey is not None)
else:
- self.assertEqual(pkey, None)
+ self.assertTrue(pkey is None)
@inlineCallbacks
@@ -473,7 +475,7 @@
TestPublicKeyLookup.PublicKeyLookup_Testing.keys = keys
data = (yield allDataFromStream(request.stream))
verifier = DKIMVerifier(request.headers, data, key_lookup=(TestPublicKeyLookup.PublicKeyLookup_Testing,))
- TestPublicKeyLookup.PublicKeyLookup_Testing({}).flushCache()
+ TestPublicKeyLookup.PublicKeyLookup_Testing.flushCache()
try:
yield verifier.verify()
except Exception, e:
Added: CalendarServer/trunk/txdav/caldav/datastore/test/calendar_store/ho/me/home1/calendar_1/5.ics
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/test/calendar_store/ho/me/home1/calendar_1/5.ics (rev 0)
+++ CalendarServer/trunk/txdav/caldav/datastore/test/calendar_store/ho/me/home1/calendar_1/5.ics 2014-12-10 22:33:11 UTC (rev 14215)
@@ -0,0 +1,42 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Apple Inc.//iCal 4.0.1//EN
+CALSCALE:GREGORIAN
+BEGIN:VTIMEZONE
+TZID:US/Pacific
+BEGIN:DAYLIGHT
+TZOFFSETFROM:-0800
+RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
+DTSTART:20070311T020000
+TZNAME:PDT
+TZOFFSETTO:-0700
+END:DAYLIGHT
+BEGIN:STANDARD
+TZOFFSETFROM:-0700
+RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
+DTSTART:20071104T020000
+TZNAME:PST
+TZOFFSETTO:-0800
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTEND;TZID=US/Pacific:%(now)s0324T124500
+TRANSP:OPAQUE
+UID:uid5
+DTSTAMP:20090326T145447Z
+LOCATION:Wilfredo's Office
+ORGANIZER:mailto:wsanchez at example.com
+SEQUENCE:2
+X-APPLE-EWS-BUSYSTATUS:BUSY
+X-APPLE-DROPBOX:/calendars/__uids__/user01/dropbox/FE5CDC6F-7776-4607-83
+ A9-B90FF7ACC8D0.dropbox
+SUMMARY:CalDAV protocol updates
+DTSTART;TZID=US/Pacific:%(now)s0324T121500
+CREATED:20090326T145440Z
+BEGIN:VALARM
+X-WR-ALARMUID:DB39AB67-449C-441C-89D2-D740B5F41A73
+TRIGGER;VALUE=DATE-TIME:%(now)s0324T180009Z
+ACTION:AUDIO
+END:VALARM
+END:VEVENT
+END:VCALENDAR
Modified: CalendarServer/trunk/txdav/caldav/datastore/test/common.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/test/common.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/caldav/datastore/test/common.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -76,6 +76,7 @@
"2.ics",
"3.ics",
"4.ics",
+ "5.ics",
]
home1_calendarNames = [
@@ -240,6 +241,7 @@
metadata2 = cls.metadata2.copy()
metadata3 = cls.metadata3.copy()
metadata4 = cls.metadata4.copy()
+ metadata5 = cls.metadata5.copy()
return {
"home1": {
"calendar_1": {
@@ -247,6 +249,7 @@
"2.ics": (cal1Root.child("2.ics").getContent(), metadata2),
"3.ics": (cal1Root.child("3.ics").getContent(), metadata3),
"4.ics": (cal1Root.child("4.ics").getContent(), metadata4),
+ "5.ics": (cal1Root.child("5.ics").getContent(), metadata5),
},
"calendar_2": {},
"calendar_empty": {},
@@ -1233,14 +1236,18 @@
)
+ @inlineCallbacks
def test_organizer(self):
"""
L{ICalendarObject.organizer} returns a C{str} describing the calendar
user address of the C{ORGANIZER} property of the calendar object's
component.
"""
+
+ calobj = yield self.calendarObjectUnderTest(name="5.ics")
+ organizer = yield calobj.organizer()
self.assertEquals(
- (yield self.calendarObjectUnderTest()).organizer(),
+ organizer,
"mailto:wsanchez at example.com"
)
Modified: CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/caldav/datastore/test/test_sql.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -534,25 +534,26 @@
self.assertEqual(supported_components, set(ical.allowedStoreComponents))
+ @inlineCallbacks
def test_calendarHomeVersion(self):
"""
The DATAVERSION column for new calendar homes must match the
CALENDAR-DATAVERSION value.
"""
- home = yield self.transactionUnderTest().calendarHomeWithUID("home_version")
+ home = yield self.transactionUnderTest().calendarHomeWithUID("home_version", create=True)
self.assertTrue(home is not None)
yield self.transactionUnderTest().commit
txn = yield self.transactionUnderTest()
- version = yield txn.calendarserverValue("CALENDAR-DATAVERSION")[0][0]
+ version = yield txn.calendarserverValue("CALENDAR-DATAVERSION")
ch = schema.CALENDAR_HOME
- homeVersion = yield Select(
+ homeVersion = (yield Select(
[ch.DATAVERSION, ],
From=ch,
Where=ch.OWNER_UID == "home_version",
- ).on(txn)[0][0]
- self.assertEqual(int(homeVersion, version))
+ ).on(txn))[0][0]
+ self.assertEqual(int(homeVersion), int(version))
@inlineCallbacks
Modified: CalendarServer/trunk/txdav/carddav/datastore/test/test_file.py
===================================================================
--- CalendarServer/trunk/txdav/carddav/datastore/test/test_file.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/carddav/datastore/test/test_file.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -355,20 +355,21 @@
)
+ @inlineCallbacks
def test_modifyAddressBookObjectCaches(self):
"""
Modifying a addressbook object should cache the modified component in
memory, to avoid unnecessary parsing round-trips.
"""
modifiedComponent = VComponent.fromString(vcard1modified_text)
- (yield self.addressbook1.addressbookObjectWithName("1.vcf")).setComponent(
- modifiedComponent
+ obj = yield self.addressbook1.addressbookObjectWithName("1.vcf")
+ yield obj.setComponent(modifiedComponent)
+ comp = yield obj.component()
+ self.assertEqual(
+ str(modifiedComponent),
+ str(comp)
)
- self.assertIdentical(
- modifiedComponent,
- (yield self.addressbook1.addressbookObjectWithName("1.vcf")).component()
- )
- self.txn.commit()
+ yield self.txn.commit()
@testUnimplemented
Modified: CalendarServer/trunk/txdav/carddav/datastore/test/test_sql.py
===================================================================
--- CalendarServer/trunk/txdav/carddav/datastore/test/test_sql.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/carddav/datastore/test/test_sql.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -204,25 +204,26 @@
self.assertPropertiesSimilar(fromHome, toHome,)
+ @inlineCallbacks
def test_addressBookHomeVersion(self):
"""
The DATAVERSION column for new addressbook homes must match the
ADDRESSBOOK-DATAVERSION value.
"""
- home = yield self.transactionUnderTest().addressbookHomeWithUID("home_version")
+ home = yield self.transactionUnderTest().addressbookHomeWithUID("home_version", create=True)
self.assertTrue(home is not None)
yield self.transactionUnderTest().commit
txn = yield self.transactionUnderTest()
- version = yield txn.calendarserverValue("ADDRESSBOOK-DATAVERSION")[0][0]
+ version = yield txn.calendarserverValue("ADDRESSBOOK-DATAVERSION")
ch = schema.ADDRESSBOOK_HOME
- homeVersion = yield Select(
+ homeVersion = (yield Select(
[ch.DATAVERSION, ],
From=ch,
Where=ch.OWNER_UID == "home_version",
- ).on(txn)[0][0]
- self.assertEqual(int(homeVersion, version))
+ ).on(txn))[0][0]
+ self.assertEqual(int(homeVersion), int(version))
@inlineCallbacks
Modified: CalendarServer/trunk/txdav/common/datastore/podding/test/test_conduit.py
===================================================================
--- CalendarServer/trunk/txdav/common/datastore/podding/test/test_conduit.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/common/datastore/podding/test/test_conduit.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -114,17 +114,17 @@
self.assertTrue(r1 is not None)
self.assertTrue(r2 is not None)
- self.assertFailure(
+ yield self.assertFailure(
conduit.validRequest("bogus01", "user02"),
DirectoryRecordNotFoundError
)
- self.assertFailure(
+ yield self.assertFailure(
conduit.validRequest("user01", "bogus02"),
DirectoryRecordNotFoundError
)
- self.assertFailure(
+ yield self.assertFailure(
conduit.validRequest("user01", "user02"),
FailedCrossPodRequestError
)
Modified: CalendarServer/trunk/txdav/common/datastore/test/accounts/accounts.xml
===================================================================
--- CalendarServer/trunk/txdav/common/datastore/test/accounts/accounts.xml 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/common/datastore/test/accounts/accounts.xml 2014-12-10 22:33:11 UTC (rev 14215)
@@ -165,6 +165,13 @@
<email>home_attachments at example.com</email>
</record>
<record type="user">
+ <uid>home_version</uid>
+ <short-name>home_version</short-name>
+ <password>home_version</password>
+ <full-name>Home Version</full-name>
+ <email>home_version at example.com</email>
+ </record>
+ <record type="user">
<uid>xyzzy</uid>
<short-name>xyzzy</short-name>
<password>xyzzy</password>
Modified: CalendarServer/trunk/txdav/common/datastore/work/test/test_revision_cleanup.py
===================================================================
--- CalendarServer/trunk/txdav/common/datastore/work/test/test_revision_cleanup.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/common/datastore/work/test/test_revision_cleanup.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -284,7 +284,7 @@
# old sync token fails
calendar = yield self.calendarUnderTest(home="user01", name="calendar")
- self.failUnlessFailure(calendar.resourceNamesSinceToken(token), SyncTokenValidException)
+ yield self.failUnlessFailure(calendar.resourceNamesSinceToken(token), SyncTokenValidException)
@inlineCallbacks
@@ -332,8 +332,8 @@
# old sync token fails
home = yield self.homeUnderTest(name="user01")
- self.failUnlessFailure(home.resourceNamesSinceToken(token, "1"), SyncTokenValidException)
- self.failUnlessFailure(home.resourceNamesSinceToken(token, "infinity"), SyncTokenValidException)
+ yield self.failUnlessFailure(home.resourceNamesSinceToken(token, "1"), SyncTokenValidException)
+ yield self.failUnlessFailure(home.resourceNamesSinceToken(token, "infinity"), SyncTokenValidException)
@inlineCallbacks
@@ -384,7 +384,7 @@
# old sync token fails
addressbook = yield self.addressbookUnderTest(home="user01", name="addressbook")
- self.failUnlessFailure(addressbook.resourceNamesSinceToken(token), SyncTokenValidException)
+ yield self.failUnlessFailure(addressbook.resourceNamesSinceToken(token), SyncTokenValidException)
@inlineCallbacks
@@ -470,4 +470,4 @@
# old sync token fails
addressbook = yield self.addressbookUnderTest(home="user01", name="addressbook")
- self.failUnlessFailure(addressbook.resourceNamesSinceToken(token), SyncTokenValidException)
+ yield self.failUnlessFailure(addressbook.resourceNamesSinceToken(token), SyncTokenValidException)
Modified: CalendarServer/trunk/txdav/dps/test/test_client.py
===================================================================
--- CalendarServer/trunk/txdav/dps/test/test_client.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/dps/test/test_client.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -125,6 +125,7 @@
self.assertEquals(record.uid, testUID)
+ @inlineCallbacks
def test_guid(self):
if testMode == "od":
record = (yield self.directory.recordWithGUID(testUID))
@@ -454,6 +455,7 @@
self.assertEquals(record.uid, self.wsanchezUID)
+ @inlineCallbacks
def test_guid(self):
record = yield self.client.recordWithGUID(self.wsanchezUID)
self.assertTrue(u"wsanchez" in record.shortNames)
@@ -464,7 +466,7 @@
records = (yield self.client.recordsWithRecordType(
RecordType.user
))
- self.assertEquals(len(records), 243)
+ self.assertEquals(len(records), 244)
@inlineCallbacks
Modified: CalendarServer/trunk/txdav/who/cache.py
===================================================================
--- CalendarServer/trunk/txdav/who/cache.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/who/cache.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -87,7 +87,13 @@
self._expireSeconds = expireSeconds
self.resetCache()
+# from txdav.who.augment import AugmentedDirectoryService
+# if isinstance(self._directory, AugmentedDirectoryService):
+# for ds in self._directory._directory.services:
+# if hasattr(ds, "setMasterDirectory"):
+# ds.setMasterDirectory(self)
+
def _addTiming(self, key, duration):
if self._directoryTiming:
self._directory._addTiming(key, duration)
Modified: CalendarServer/trunk/txdav/who/test/test_cache.py
===================================================================
--- CalendarServer/trunk/txdav/who/test/test_cache.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/who/test/test_cache.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -60,7 +60,7 @@
self.assertTrue(CalRecordType.resource in dir.recordTypes())
records = yield dir.recordsWithRecordType(RecordType.user)
- self.assertEquals(len(records), 243)
+ self.assertEquals(len(records), 244)
record = yield dir.recordWithGUID(uuid.UUID("8166C681-2D08-4846-90F7-97023A6EDDC5"))
self.assertEquals(record.uid, u"cache-uid-1")
Modified: CalendarServer/trunk/txdav/who/test/test_groups.py
===================================================================
--- CalendarServer/trunk/txdav/who/test/test_groups.py 2014-12-10 22:30:11 UTC (rev 14214)
+++ CalendarServer/trunk/txdav/who/test/test_groups.py 2014-12-10 22:33:11 UTC (rev 14215)
@@ -163,7 +163,7 @@
txn = store.newTransaction()
# Non-existent groupID
- self.failUnlessFailure(txn.groupByID(42), NotFoundError)
+ yield self.failUnlessFailure(txn.groupByID(42), NotFoundError)
uid = u"__top_group_1__"
hash = "553eb54e3bbb26582198ee04541dbee4"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20141210/4d5faada/attachment-0001.html>
More information about the calendarserver-changes
mailing list