[CalendarServer-changes] [13451] CalendarServer/trunk/txdav/who
source_changes at macosforge.org
source_changes at macosforge.org
Tue May 6 11:56:28 PDT 2014
Revision: 13451
http://trac.calendarserver.org//changeset/13451
Author: sagen at apple.com
Date: 2014-05-06 11:56:28 -0700 (Tue, 06 May 2014)
Log Message:
-----------
Adds test for getAutoSchedule, and "accept" is not overridden by auto-accept-group
Modified Paths:
--------------
CalendarServer/trunk/txdav/who/directory.py
CalendarServer/trunk/txdav/who/test/test_directory.py
Modified: CalendarServer/trunk/txdav/who/directory.py
===================================================================
--- CalendarServer/trunk/txdav/who/directory.py 2014-05-06 18:26:34 UTC (rev 13450)
+++ CalendarServer/trunk/txdav/who/directory.py 2014-05-06 18:56:28 UTC (rev 13451)
@@ -445,8 +445,16 @@
@inlineCallbacks
def getAutoScheduleMode(self, organizer):
autoScheduleMode = self.autoScheduleMode
- if (yield self.autoAcceptFromOrganizer(organizer)):
- autoScheduleMode = AutoScheduleMode.acceptIfFreeDeclineIfBusy
+ if (
+ autoScheduleMode not in
+ (
+ AutoScheduleMode.accept,
+ AutoScheduleMode.acceptIfFreeDeclineIfBusy
+ )
+ ):
+ if (yield self.autoAcceptFromOrganizer(organizer)):
+ autoScheduleMode = AutoScheduleMode.acceptIfFreeDeclineIfBusy
+
returnValue(autoScheduleMode)
Modified: CalendarServer/trunk/txdav/who/test/test_directory.py
===================================================================
--- CalendarServer/trunk/txdav/who/test/test_directory.py 2014-05-06 18:26:34 UTC (rev 13450)
+++ CalendarServer/trunk/txdav/who/test/test_directory.py 2014-05-06 18:56:28 UTC (rev 13451)
@@ -22,7 +22,7 @@
from twistedcaldav.test.util import StoreTestCase
from twext.who.directory import DirectoryRecord
from twext.who.idirectory import FieldName, RecordType
-from txdav.who.directory import CalendarDirectoryRecordMixin
+from txdav.who.directory import CalendarDirectoryRecordMixin, AutoScheduleMode
from uuid import UUID
from twext.who.expression import (
MatchType, MatchFlags, MatchExpression
@@ -202,3 +202,81 @@
u"mailto:nocalendar at example.com"
)
self.assertEquals(record, None)
+
+
+ @inlineCallbacks
+ def test_getAutoScheduleMode(self):
+
+ apollo = yield self.directory.recordWithUID(u"apollo")
+
+ # both_coasts is the auto accept group, cdaboo is a member, and
+ # sagen is not
+
+ inGroup = yield self.directory.recordWithShortName(
+ self.directory.recordType.user,
+ u"cdaboo"
+ )
+ notInGroup = yield self.directory.recordWithShortName(
+ self.directory.recordType.user,
+ u"sagen"
+ )
+
+ expectations = (
+
+ # the record's mode
+ # effective mode when organizer is in the auto-accept-group
+ # effective mode when organizer is not in the auto-accept-group
+
+ (
+ AutoScheduleMode.none,
+ AutoScheduleMode.acceptIfFreeDeclineIfBusy,
+ AutoScheduleMode.none,
+ ),
+ (
+ AutoScheduleMode.accept,
+ AutoScheduleMode.accept,
+ AutoScheduleMode.accept,
+ ),
+ (
+ AutoScheduleMode.decline,
+ AutoScheduleMode.acceptIfFreeDeclineIfBusy,
+ AutoScheduleMode.decline,
+ ),
+ (
+ AutoScheduleMode.acceptIfFree,
+ AutoScheduleMode.acceptIfFreeDeclineIfBusy,
+ AutoScheduleMode.acceptIfFree,
+ ),
+ (
+ AutoScheduleMode.declineIfBusy,
+ AutoScheduleMode.acceptIfFreeDeclineIfBusy,
+ AutoScheduleMode.declineIfBusy,
+ ),
+ (
+ AutoScheduleMode.acceptIfFreeDeclineIfBusy,
+ AutoScheduleMode.acceptIfFreeDeclineIfBusy,
+ AutoScheduleMode.acceptIfFreeDeclineIfBusy,
+ ),
+ )
+
+ for mode, inGroupMode, notInGroupMode in expectations:
+ apollo.fields[self.directory.fieldName.autoScheduleMode] = mode
+
+ # In auto accept group
+ self.assertEquals(
+ (
+ yield apollo.getAutoScheduleMode(
+ inGroup.canonicalCalendarUserAddress()
+ )
+ ),
+ inGroupMode
+ )
+ # Not in auto accept group
+ self.assertEquals(
+ (
+ yield apollo.getAutoScheduleMode(
+ notInGroup.canonicalCalendarUserAddress()
+ )
+ ),
+ notInGroupMode
+ )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140506/9e9f294e/attachment-0001.html>
More information about the calendarserver-changes
mailing list