[CalendarServer-changes] [3408] CalendarServer/trunk/twistedcaldav/directory/test/test_principal.py

source_changes at macosforge.org source_changes at macosforge.org
Sun Nov 23 20:50:06 PST 2008


Revision: 3408
          http://trac.macosforge.org/projects/calendarserver/changeset/3408
Author:   cdaboo at apple.com
Date:     2008-11-23 20:50:05 -0800 (Sun, 23 Nov 2008)
Log Message:
-----------
Test option to control what types of "record" can be an Organizer of an event.

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/directory/test/test_principal.py

Modified: CalendarServer/trunk/twistedcaldav/directory/test/test_principal.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/test_principal.py	2008-11-24 04:26:35 UTC (rev 3407)
+++ CalendarServer/trunk/twistedcaldav/directory/test/test_principal.py	2008-11-24 04:50:05 UTC (rev 3408)
@@ -23,6 +23,7 @@
 from twisted.web2.test.test_server import SimpleRequest
 
 from twistedcaldav.static import CalendarHomeProvisioningFile
+from twistedcaldav.config import config
 from twistedcaldav.directory.apache import BasicDirectoryService, DigestDirectoryService
 from twistedcaldav.directory.directory import DirectoryService
 from twistedcaldav.directory.test.test_apache import basicUserFile, digestUserFile, groupFile, digestRealm
@@ -210,6 +211,38 @@
                 self.assertTrue(isinstance(principal, DirectoryPrincipalResource))
                 self.assertFalse(isinstance(principal, DirectoryCalendarPrincipalResource))
 
+    def test_enabledAsOrganizer(self):
+        """
+        DirectoryPrincipalProvisioningResource.principalForCalendarUserAddress()
+        """
+        
+        ok_types = (
+            DirectoryService.recordType_users,
+            DirectoryService.recordType_groups,
+        )
+        for provisioningResource, recordType, recordResource, record in self._allRecords():
+            
+            if record.enabledForCalendaring:
+                principal = provisioningResource.principalForRecord(record)
+                self.failIf(principal is None)
+                self.assertEqual(principal.enabledAsOrganizer(), recordType in ok_types)
+
+        config.Scheduling.Options.AllowGroupAsOrganizer = True
+        config.Scheduling.Options.AllowLocationAsOrganizer = True
+        config.Scheduling.Options.AllowResourceAsOrganizer = True
+        ok_types = (
+            DirectoryService.recordType_users,
+            DirectoryService.recordType_groups,
+            DirectoryService.recordType_locations,
+            DirectoryService.recordType_resources,
+        )
+        for provisioningResource, recordType, recordResource, record in self._allRecords():
+            
+            if record.enabledForCalendaring:
+                principal = provisioningResource.principalForRecord(record)
+                self.failIf(principal is None)
+                self.assertEqual(principal.enabledAsOrganizer(), recordType in ok_types)
+
     # FIXME: Run DirectoryPrincipalProvisioningResource tests on DirectoryPrincipalTypeProvisioningResource also
 
     ##
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20081123/849cdda8/attachment.html>


More information about the calendarserver-changes mailing list