[CalendarServer-changes] [13994] CalDAVTester/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Mon Sep 22 12:48:56 PDT 2014
Revision: 13994
http://trac.calendarserver.org//changeset/13994
Author: cdaboo at apple.com
Date: 2014-09-22 12:48:56 -0700 (Mon, 22 Sep 2014)
Log Message:
-----------
Add tests for group attendee reconciliation using the new control api to change group memberships during the tests.
Modified Paths:
--------------
CalDAVTester/trunk/odsetup.py
CalDAVTester/trunk/scripts/server/serverinfo-template.xml
CalDAVTester/trunk/scripts/server/serverinfo.xml
CalDAVTester/trunk/scripts/tests/CalDAV/implicitgroup.xml
Added Paths:
-----------
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/1.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/2.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/3.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/4.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/1.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/2.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/3.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/4.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/5.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/1.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/2.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/3.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/4.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/5.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/1.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/2.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/3.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/4.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/5.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/6.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/7.ics
CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/8.ics
CalDAVTester/trunk/Resource/Common/POST/controladdmember.json
CalDAVTester/trunk/Resource/Common/POST/controladdmember2.json
CalDAVTester/trunk/Resource/Common/POST/controlgrouprefresh.json
CalDAVTester/trunk/Resource/Common/POST/controlremovemember.json
CalDAVTester/trunk/Resource/Common/POST/controlremovemember2.json
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/1.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/1.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/1.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,34 @@
+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+VERSION:2.0
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:$uid1:
+ORGANIZER;CN=$username1::$cuaddr1:
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1:
+ATTENDEE;CN=$groupname20:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$gcuaddrurn20:
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/2.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/2.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/2.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,34 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20:;SCHEDULE-STATUS=2.7:$gcuaddrurn20:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/3.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/3.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/3.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,37 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20::$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SEQUENCE:1
+SUMMARY:event 1
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/4.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/4.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/emptyadd/4.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,36 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20:;SCHEDULE-STATUS=2.7:$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SEQUENCE:1
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/1.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/1.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/1.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,34 @@
+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+VERSION:2.0
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:$uid1:
+ORGANIZER;CN=$username1::$cuaddr1:
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1:
+ATTENDEE;CN=$groupname20:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$gcuaddrurn20:
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/2.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/2.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/2.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,35 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20:;SCHEDULE-STATUS=2.7:$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/3.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/3.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/3.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,36 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20::$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/4.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/4.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/4.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,38 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20::$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SEQUENCE:1
+STATUS:CANCELLED
+SUMMARY:event 1
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/5.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/5.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/existingremove/5.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,35 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20:;SCHEDULE-STATUS=2.7:$gcuaddrurn20:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SEQUENCE:1
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/1.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/1.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/1.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,17 @@
+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+VERSION:2.0
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART:$now.-5:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY
+SUMMARY:event 1
+UID:$uid1:
+ORGANIZER;CN=$username1::$cuaddr1:
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1:
+ATTENDEE;CN=$groupname20:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$gcuaddrurn20:
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/2.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/2.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/2.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,17 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.-5:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20:;SCHEDULE-STATUS=2.7:$gcuaddrurn20:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/3.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/3.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/3.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,20 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.2:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20::$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SEQUENCE:2
+SUMMARY:event 1
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/4.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/4.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/4.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,19 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.2:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20:;SCHEDULE-STATUS=2.7:$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SEQUENCE:2
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/5.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/5.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitemptyadd/5.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,18 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.-5:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY;UNTIL=$now.2:T095959Z
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20:;SCHEDULE-STATUS=2.7:$gcuaddrurn20:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SEQUENCE:1
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/1.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/1.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/1.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,17 @@
+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+VERSION:2.0
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART:$now.-5:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY
+SUMMARY:event 1
+UID:$uid1:
+ORGANIZER;CN=$username1::$cuaddr1:
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1:
+ATTENDEE;CN=$groupname20:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$gcuaddrurn20:
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/2.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/2.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/2.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,19 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.-5:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20:;SCHEDULE-STATUS=2.7:$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+ATTENDEE;CN=$username3:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$email3:;MEMBER="$gcuaddrurn20:":$cuaddrurn3:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/3.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/3.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/3.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,20 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.-5:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20::$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+ATTENDEE;CN=$username3:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$email3:;MEMBER="$gcuaddrurn20:":$cuaddrurn3:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/4.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/4.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/4.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,19 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.2:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20:;SCHEDULE-STATUS=2.7:$gcuaddrurn20:
+ATTENDEE;CN=$username3:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$email3:;MEMBER="$gcuaddrurn20:":$cuaddrurn3:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SEQUENCE:2
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/5.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/5.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/5.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,21 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.-5:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY;UNTIL=$now.2:T095959Z
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20:;SCHEDULE-STATUS=2.7:$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+ATTENDEE;CN=$username3:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$email3:;MEMBER="$gcuaddrurn20:":$cuaddrurn3:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+RELATED-TO;RELTYPE=X-CALENDARSERVER-RECURRENCE-SET:$related:
+SEQUENCE:1
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/6.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/6.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/6.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,23 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.2:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20::$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+ATTENDEE;CN=$username3:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$email3:;MEMBER="$gcuaddrurn20:":$cuaddrurn3:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+RELATED-TO;RELTYPE=X-CALENDARSERVER-RECURRENCE-SET:$related:
+SEQUENCE:2
+STATUS:CANCELLED
+SUMMARY:event 1
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/7.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/7.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/7.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,22 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uidsplit:
+DTSTART:$now.-5:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY;UNTIL=$now.2:T095959Z
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20::$gcuaddrurn20:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$email2:;MEMBER="$gcuaddrurn20:":$cuaddrurn2:
+ATTENDEE;CN=$username3:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$email3:;MEMBER="$gcuaddrurn20:":$cuaddrurn3:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+RELATED-TO;RELTYPE=X-CALENDARSERVER-RECURRENCE-SET:$related:
+SEQUENCE:1
+SUMMARY:event 1
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/8.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/8.ics (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/groups/splitexistingremove/8.ics 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,21 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.2:T100000Z
+DURATION:PT1H
+RRULE:FREQ=WEEKLY
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$groupname20:;CUTYPE=X-SERVER-GROUP;EMAIL=$gemail20::$gcuaddrurn20:
+ATTENDEE;CN=$username3:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$email3:;MEMBER="$gcuaddrurn20:":$cuaddrurn3:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+RELATED-TO;RELTYPE=X-CALENDARSERVER-RECURRENCE-SET:$related:
+SEQUENCE:2
+SUMMARY:event 1
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR
Added: CalDAVTester/trunk/Resource/Common/POST/controladdmember.json
===================================================================
--- CalDAVTester/trunk/Resource/Common/POST/controladdmember.json (rev 0)
+++ CalDAVTester/trunk/Resource/Common/POST/controladdmember.json 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,7 @@
+{
+ "action": "addgroupmembers",
+ "group": "$controlgroup:",
+ "members":[
+ "$controlmember:"
+ ]
+}
Added: CalDAVTester/trunk/Resource/Common/POST/controladdmember2.json
===================================================================
--- CalDAVTester/trunk/Resource/Common/POST/controladdmember2.json (rev 0)
+++ CalDAVTester/trunk/Resource/Common/POST/controladdmember2.json 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,8 @@
+{
+ "action": "addgroupmembers",
+ "group": "$controlgroup:",
+ "members":[
+ "$controlmember1:",
+ "$controlmember2:"
+ ]
+}
Added: CalDAVTester/trunk/Resource/Common/POST/controlgrouprefresh.json
===================================================================
--- CalDAVTester/trunk/Resource/Common/POST/controlgrouprefresh.json (rev 0)
+++ CalDAVTester/trunk/Resource/Common/POST/controlgrouprefresh.json 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,4 @@
+{
+ "action": "refreshgroups",
+ "wait": true
+}
Added: CalDAVTester/trunk/Resource/Common/POST/controlremovemember.json
===================================================================
--- CalDAVTester/trunk/Resource/Common/POST/controlremovemember.json (rev 0)
+++ CalDAVTester/trunk/Resource/Common/POST/controlremovemember.json 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,7 @@
+{
+ "action": "removegroupmembers",
+ "group": "$controlgroup:",
+ "members":[
+ "$controlmember:"
+ ]
+}
Added: CalDAVTester/trunk/Resource/Common/POST/controlremovemember2.json
===================================================================
--- CalDAVTester/trunk/Resource/Common/POST/controlremovemember2.json (rev 0)
+++ CalDAVTester/trunk/Resource/Common/POST/controlremovemember2.json 2014-09-22 19:48:56 UTC (rev 13994)
@@ -0,0 +1,8 @@
+{
+ "action": "removegroupmembers",
+ "group": "$controlgroup:",
+ "members":[
+ "$controlmember1:",
+ "$controlmember2:"
+ ]
+}
Modified: CalDAVTester/trunk/odsetup.py
===================================================================
--- CalDAVTester/trunk/odsetup.py 2014-09-22 19:46:49 UTC (rev 13993)
+++ CalDAVTester/trunk/odsetup.py 2014-09-22 19:48:56 UTC (rev 13994)
@@ -56,7 +56,7 @@
base_dir = "../CalendarServer/"
number_of_users = 40
-number_of_groups = 10
+number_of_groups = 40
number_of_publics = 10
number_of_resources = 20
number_of_locations = 10
Modified: CalDAVTester/trunk/scripts/server/serverinfo-template.xml
===================================================================
--- CalDAVTester/trunk/scripts/server/serverinfo-template.xml 2014-09-22 19:46:49 UTC (rev 13993)
+++ CalDAVTester/trunk/scripts/server/serverinfo-template.xml 2014-09-22 19:48:56 UTC (rev 13994)
@@ -723,7 +723,7 @@
<!-- Ten Group accounts -->
- <repeat count="10">
+ <repeat count="40">
<substitution>
<key>$groupid%d:</key>
<value>group%02d</value>
Modified: CalDAVTester/trunk/scripts/server/serverinfo.xml
===================================================================
--- CalDAVTester/trunk/scripts/server/serverinfo.xml 2014-09-22 19:46:49 UTC (rev 13993)
+++ CalDAVTester/trunk/scripts/server/serverinfo.xml 2014-09-22 19:48:56 UTC (rev 13994)
@@ -723,7 +723,7 @@
<!-- Ten Group accounts -->
- <repeat count="10">
+ <repeat count="40">
<substitution>
<key>$groupid%d:</key>
<value>group%02d</value>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/implicitgroup.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/implicitgroup.xml 2014-09-22 19:46:49 UTC (rev 13993)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/implicitgroup.xml 2014-09-22 19:48:56 UTC (rev 13994)
@@ -32,6 +32,14 @@
<method>GET</method>
<ruri>$calendarpath1:/</ruri>
</request>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>GET</method>
+ <ruri>$calendarpath2:/</ruri>
+ </request>
+ <request user="$userid3:" pswd="$pswd3:">
+ <method>GET</method>
+ <ruri>$calendarpath3:/</ruri>
+ </request>
<request user="$userid6:" pswd="$pswd6:">
<method>GET</method>
<ruri>$calendarpath6:/</ruri>
@@ -42,7 +50,7 @@
</request>
</start>
- <test-suite name='Invite group'>
+ <test-suite name='Invite group with existing membership'>
<test name='1'>
<description>Organizer invites Group Attendee</description>
<request>
@@ -139,6 +147,732 @@
</test>
</test-suite>
+ <test-suite name='Invite empty group, then add member'>
+ <test name='1'>
+ <description>Organizer invites Group Attendee</description>
+ <request>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/implicit/groups/emptyadd/1.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>Organizer checks data</description>
+ <request>
+ <method>GET</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/emptyadd/2.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>Add group member</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controladdmember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='4'>
+ <description>Attendee Inbox Item</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>WAITDELETEALL 1</method>
+ <ruri>$inboxpath2:/</ruri>
+ </request>
+ </test>
+ <test name='5'>
+ <description>Attendee has data</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>GETNEW</method>
+ <ruri>$calendarpath2:/</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/emptyadd/3.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='6'>
+ <description>Organizer checks data</description>
+ <request>
+ <method>GET</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/emptyadd/4.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='-1'>
+ <description>Clean-up</description>
+ <request user="$userid1:" pswd="$pswd1:">
+ <method>DELETEALL</method>
+ <ruri>$calendarpath1:/</ruri>
+ <ruri>$inboxpath1:/</ruri>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>WAITDELETEALL 1</method>
+ <ruri>$inboxpath2:/</ruri>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>DELETEALL</method>
+ <ruri>$calendarpath2:/</ruri>
+ </request>
+ </test>
+ </test-suite>
+
+ <test-suite name='Invite group, then remove member'>
+ <test name='1'>
+ <description>Organizer invites Group Attendee</description>
+ <request>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/implicit/groups/existingremove/1.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>Organizer checks data</description>
+ <request>
+ <method>GET</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/existingremove/2.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>Attendee Inbox Item</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>WAITDELETEALL 1</method>
+ <ruri>$inboxpath2:/</ruri>
+ </request>
+ </test>
+ <test name='4'>
+ <description>Attendee has data</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>GETNEW</method>
+ <ruri>$calendarpath2:/</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/existingremove/3.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='5'>
+ <description>Remove group member</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlremovemember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='6'>
+ <description>Attendee Inbox Item</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>WAITDELETEALL 1</method>
+ <ruri>$inboxpath2:/</ruri>
+ </request>
+ </test>
+ <test name='7'>
+ <description>Attendee has data</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>GETNEW</method>
+ <ruri>$calendarpath2:/</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/existingremove/4.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='8'>
+ <description>Organizer checks data</description>
+ <request>
+ <method>GET</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/existingremove/5.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='-1'>
+ <description>Clean-up</description>
+ <request user="$userid1:" pswd="$pswd1:">
+ <method>DELETEALL</method>
+ <ruri>$calendarpath1:/</ruri>
+ <ruri>$inboxpath1:/</ruri>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>DELETEALL</method>
+ <ruri>$calendarpath2:/</ruri>
+ <ruri>$inboxpath2:/</ruri>
+ </request>
+ </test>
+ </test-suite>
+
+ <test-suite name='Recurring invite empty group, then add member to split'>
+ <test name='1'>
+ <description>Organizer invites Group Attendee</description>
+ <request>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/implicit/groups/splitemptyadd/1.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>Organizer checks data</description>
+ <request>
+ <method>GETNEW</method>
+ <ruri>$calendarpath1:/</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitemptyadd/2.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>Add group member</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controladdmember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='4'>
+ <description>Attendee Inbox Item</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>WAITDELETEALL 1</method>
+ <ruri>$inboxpath2:/</ruri>
+ </request>
+ </test>
+ <test name='5'>
+ <description>Attendee has data</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>GETNEW</method>
+ <ruri>$calendarpath2:/</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitemptyadd/3.ics</value>
+ </arg>
+ <arg>
+ <name>filter</name>
+ <value>RELATED-TO</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='6'>
+ <description>Organizer checks new split data</description>
+ <request>
+ <method>GET</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitemptyadd/4.ics</value>
+ </arg>
+ <arg>
+ <name>filter</name>
+ <value>RELATED-TO</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='7'>
+ <description>Organizer checks old splitdata</description>
+ <request>
+ <method>GETNEW</method>
+ <ruri>$calendarpath1:/</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitemptyadd/5.ics</value>
+ </arg>
+ <arg>
+ <name>filter</name>
+ <value>RELATED-TO</value>
+ <value>UID</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='-1'>
+ <description>Clean-up</description>
+ <request user="$userid1:" pswd="$pswd1:">
+ <method>DELETEALL</method>
+ <ruri>$calendarpath1:/</ruri>
+ <ruri>$inboxpath1:/</ruri>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>WAITDELETEALL 1</method>
+ <ruri>$inboxpath2:/</ruri>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>DELETEALL</method>
+ <ruri>$calendarpath2:/</ruri>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlremovemember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ </request>
+ </test>
+ </test-suite>
+
+ <test-suite name='Recurring invite two members group, then remove member to split' only='yes'>
+ <test name='1'>
+ <description>Add group members</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controladdmember2.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember1:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember2:</name>
+ <value>$userguid3:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>Organizer invites Group Attendee</description>
+ <request>
+ <method>PUT</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/implicit/groups/splitexistingremove/1.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>Organizer checks data</description>
+ <request>
+ <method>GETNEW</method>
+ <ruri>$calendarpath1:/</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitexistingremove/2.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='4'>
+ <description>Attendee Inbox Item</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>WAITDELETEALL 1</method>
+ <ruri>$inboxpath2:/</ruri>
+ </request>
+ </test>
+ <test name='5'>
+ <description>Attendee has data</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>GETNEW</method>
+ <ruri>$calendarpath2:/</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitexistingremove/3.ics</value>
+ </arg>
+ </verify>
+ <graburi>$href2:</graburi>
+ </request>
+ </test>
+ <test name='6'>
+ <description>Attendee Inbox Item</description>
+ <request user="$userid3:" pswd="$pswd3:">
+ <method>WAITDELETEALL 1</method>
+ <ruri>$inboxpath3:/</ruri>
+ </request>
+ </test>
+ <test name='7'>
+ <description>Attendee has data</description>
+ <request user="$userid3:" pswd="$pswd3:">
+ <method>GETNEW</method>
+ <ruri>$calendarpath3:/</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitexistingremove/3.ics</value>
+ </arg>
+ </verify>
+ <graburi>$href3:</graburi>
+ </request>
+ </test>
+ <test name='8'>
+ <description>Remove group member</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlremovemember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='9'>
+ <description>Attendee Inbox Item</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>WAITDELETEALL 1</method>
+ <ruri>$inboxpath2:/</ruri>
+ </request>
+ </test>
+ <test name='10'>
+ <description>Organizer checks data</description>
+ <request>
+ <method>GET</method>
+ <ruri>$calendarpath1:/1.ics</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitexistingremove/4.ics</value>
+ </arg>
+ <arg>
+ <name>filter</name>
+ <value>RELATED-TO</value>
+ </arg>
+ </verify>
+ <grabcalproperty>
+ <name>VEVENT/RELATED-TO</name>
+ <variable>$related:</variable>
+ </grabcalproperty>
+ </request>
+ </test>
+ <test name='11'>
+ <description>Organizer checks split data</description>
+ <request>
+ <method>GETNEW</method>
+ <ruri>$calendarpath1:/</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitexistingremove/5.ics</value>
+ </arg>
+ <arg>
+ <name>filter</name>
+ <value>RELATED-TO</value>
+ <value>UID</value>
+ </arg>
+ </verify>
+ <grabcalproperty>
+ <name>VEVENT/UID</name>
+ <variable>$uidsplit:</variable>
+ </grabcalproperty>
+ </request>
+ </test>
+ <test name='12'>
+ <description>Attendee has data</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>GET</method>
+ <ruri>$href2:</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitexistingremove/6.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='13'>
+ <description>Attendee has split data</description>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>GETOTHER</method>
+ <ruri>$href2:</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitexistingremove/7.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='14'>
+ <description>Attendee Inbox Item</description>
+ <request user="$userid3:" pswd="$pswd3:">
+ <method>WAITDELETEALL 1</method>
+ <ruri>$inboxpath3:/</ruri>
+ </request>
+ </test>
+ <test name='15'>
+ <description>Attendee has data</description>
+ <request user="$userid3:" pswd="$pswd3:">
+ <method>GET</method>
+ <ruri>$href3:</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitexistingremove/8.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='16'>
+ <description>Attendee has split data</description>
+ <request user="$userid3:" pswd="$pswd3:">
+ <method>GETOTHER</method>
+ <ruri>$href3:</ruri>
+ <verify>
+ <callback>calendarDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CalDAV/implicit/groups/splitexistingremove/7.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='-1'>
+ <description>Clean-up</description>
+ <request user="$userid1:" pswd="$pswd1:">
+ <method>DELETEALL</method>
+ <ruri>$calendarpath1:/</ruri>
+ <ruri>$inboxpath1:/</ruri>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>WAITDELETEALL 1</method>
+ <ruri>$inboxpath2:/</ruri>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>DELETEALL</method>
+ <ruri>$calendarpath2:/</ruri>
+ </request>
+ <request user="$userid3:" pswd="$pswd3:">
+ <method>WAITDELETEALL 2</method>
+ <ruri>$inboxpath3:/</ruri>
+ </request>
+ <request user="$userid3:" pswd="$pswd3:">
+ <method>DELETEALL</method>
+ <ruri>$calendarpath3:/</ruri>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlremovemember2.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember1:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember2:</name>
+ <value>$userguid3:</value>
+ </substitute>
+ </data>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ </request>
+ </test>
+ </test-suite>
+
<end/>
</caldavtest>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140922/fc1662bf/attachment-0001.html>
More information about the calendarserver-changes
mailing list