[CalendarServer-changes] [14842] CalDAVTester/trunk

source_changes at macosforge.org source_changes at macosforge.org
Thu May 28 12:58:44 PDT 2015


Revision: 14842
          http://trac.calendarserver.org//changeset/14842
Author:   cdaboo at apple.com
Date:     2015-05-28 12:58:44 -0700 (Thu, 28 May 2015)
Log Message:
-----------
Tests for splitting of an attendee trashed item.

Modified Paths:
--------------
    CalDAVTester/trunk/scripts/tests/CalDAV/trash.xml

Added Paths:
-----------
    CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/
    CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/1.ics
    CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/2.ics
    CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/3.ics
    CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/4.ics
    CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/5.ics
    CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/6.ics
    CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/7.ics

Added: CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/1.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/1.ics	                        (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/1.ics	2015-05-28 19:58:44 UTC (rev 14842)
@@ -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.0:T000000Z
+DURATION:PT1H
+SUMMARY:event 1
+UID:$uid1:
+ORGANIZER;CN=$username1::$cuaddr1:
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$cuaddr2:
+RRULE:FREQ=DAILY
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/2.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/2.ics	                        (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/2.ics	2015-05-28 19:58:44 UTC (rev 14842)
@@ -0,0 +1,17 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.0:T000000Z
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+RRULE:FREQ=DAILY
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/3.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/3.ics	                        (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/3.ics	2015-05-28 19:58:44 UTC (rev 14842)
@@ -0,0 +1,17 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.0:T000000Z
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;PARTSTAT=DECLINED;EMAIL=$email2:;SCHEDULE-STATUS=2.0:$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+RRULE:FREQ=DAILY
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/4.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/4.ics	                        (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/4.ics	2015-05-28 19:58:44 UTC (rev 14842)
@@ -0,0 +1,19 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.4:T000000Z
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;PARTSTAT=DECLINED;EMAIL=$email2:;SCHEDULE-STATUS=2.0:$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+RELATED-TO;RELTYPE=X-CALENDARSERVER-RECURRENCE-SET:$relid:
+RRULE:FREQ=DAILY
+SEQUENCE:1
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/5.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/5.ics	                        (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/5.ics	2015-05-28 19:58:44 UTC (rev 14842)
@@ -0,0 +1,19 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$olduid:
+DTSTART:$now.0:T000000Z
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;PARTSTAT=DECLINED;EMAIL=$email2:;SCHEDULE-STATUS=2.0:$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+RELATED-TO;RELTYPE=X-CALENDARSERVER-RECURRENCE-SET:$relid:
+RRULE:FREQ=DAILY;UNTIL=$now.3:T235959Z
+SEQUENCE:1
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/6.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/6.ics	                        (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/6.ics	2015-05-28 19:58:44 UTC (rev 14842)
@@ -0,0 +1,19 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$uid1:
+DTSTART:$now.4:T000000Z
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2:;SCHEDULE-STATUS=2.0:$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+RELATED-TO;RELTYPE=X-CALENDARSERVER-RECURRENCE-SET:$relid:
+RRULE:FREQ=DAILY
+SEQUENCE:1
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/7.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/7.ics	                        (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/trash/organizersplit/7.ics	2015-05-28 19:58:44 UTC (rev 14842)
@@ -0,0 +1,19 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:$olduid:
+DTSTART:$now.0:T000000Z
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2:;SCHEDULE-STATUS=2.0:$cuaddrurn2:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+RELATED-TO;RELTYPE=X-CALENDARSERVER-RECURRENCE-SET:$relid:
+RRULE:FREQ=DAILY;UNTIL=$now.3:T235959Z
+SEQUENCE:1
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR

Modified: CalDAVTester/trunk/scripts/tests/CalDAV/trash.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/trash.xml	2015-05-28 15:32:34 UTC (rev 14841)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/trash.xml	2015-05-28 19:58:44 UTC (rev 14842)
@@ -1027,6 +1027,312 @@
 	</test-suite>
 
 
+	<test-suite name='Attendee trashes event, then Organizer splits it'>
+		<require-feature>
+			<feature>recurrence-splitting</feature>
+		</require-feature>
+		<test name='1'>
+			<description>Create a calendar</description>
+			<request>
+				<method>MKCALENDAR</method>
+				<ruri>$calendarhome1:/tobedeleted/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>PUT scheduled event</description>
+			<request>
+				<method>PUT</method>
+				<ruri>$calendarhome1:/tobedeleted/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/trash/organizersplit/1.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>One item in user02 Inbox</description>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>WAITDELETEALL 1</method>
+				<ruri>$inboxpath2:/</ruri>
+			</request>
+		</test>
+		<test name='4'>
+			<description>Attendee replies</description>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>GETNEW</method>
+				<ruri>$calendarpath2:/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>PUT</method>
+				<ruri>$</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/trash/organizersplit/2.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='5'>
+			<description>One item in user01 Inbox</description>
+			<request>
+				<method>WAITDELETEALL 1</method>
+				<ruri>$inboxpath1:/</ruri>
+			</request>
+		</test>
+		<test name='6'>
+			<description>Attendee trashes event</description>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>DELETE</method>
+				<ruri>$</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='7'>
+			<description>One item in user01 Inbox</description>
+			<request>
+				<method>WAITDELETEALL 1</method>
+				<ruri>$inboxpath1:/</ruri>
+			</request>
+		</test>
+		<test name='8'>
+			<description>Organizer sees declined</description>
+			<request>
+				<method>GET</method>
+				<ruri>$calendarhome1:/tobedeleted/1.ics</ruri>
+				<verify>
+					<callback>calendarDataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/CalDAV/trash/organizersplit/3.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9'>
+			<description>Attendee has no events</description>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>PROPFIND</method>
+				<ruri>$calendarpath2:/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/Common/PROPFIND/Count.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>count</name>
+						<value>0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='10'>
+			<description>Organizer splits event</description>
+			<request>
+				<method>POST</method>
+				<ruri>$calendarhome1:/tobedeleted/1.ics?action=split&amp;rid=$now.4:T000000Z</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>204</value>
+					</arg>
+				</verify>
+				<grabheader>
+					<name>Split-Component-URL</name>
+					<variable>$href2:</variable>
+				</grabheader>
+			</request>
+			<request>
+				<method>GET</method>
+				<ruri>$href2:</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<grabcalproperty>
+					<name>VEVENT/UID</name>
+					<variable>$olduid:</variable>
+				</grabcalproperty>
+				<grabcalproperty>
+					<name>VEVENT/RELATED-TO</name>
+					<variable>$relid:</variable>
+				</grabcalproperty>
+			</request>
+		</test>
+		<test name='12'>
+			<description>GET new-part split (original) resource</description>
+			<request>
+				<method>GET</method>
+				<ruri>$calendarhome1:/tobedeleted/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>calendarDataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/CalDAV/trash/organizersplit/4.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='13'>
+			<description>GET old-part split (new resource)</description>
+			<request>
+				<method>GET</method>
+				<ruri>$href2:</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>calendarDataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/CalDAV/trash/organizersplit/5.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='14'>
+			<description>Attendee still has no events</description>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>PROPFIND</method>
+				<ruri>$calendarpath2:/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/Common/PROPFIND/Count.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>count</name>
+						<value>0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='15'>
+			<description>Attendee recovers trash</description>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>POST</method>
+				<ruri>$calendarhome2:/?action=recovertrash&amp;mode=event&amp;id=all</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='16'>
+			<description>Attendee has two events</description>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>PROPFIND</method>
+				<ruri>$calendarpath2:/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/Common/PROPFIND/Count.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>count</name>
+						<value>2</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='17'>
+			<description>Two items in user01 Inbox</description>
+			<request>
+				<method>WAITDELETEALL 2</method>
+				<ruri>$inboxpath1:/</ruri>
+			</request>
+		</test>
+		<test name='18'>
+			<description>GET new-part split (original) resource - back to tentative</description>
+			<request>
+				<method>GET</method>
+				<ruri>$calendarhome1:/tobedeleted/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>calendarDataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/CalDAV/trash/organizersplit/6.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='19'>
+			<description>GET old-part split (new resource) - back to tentative</description>
+			<request>
+				<method>GET</method>
+				<ruri>$href2:</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>calendarDataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/CalDAV/trash/organizersplit/7.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='clean up'>
+			<request>
+				<method>DELETEALL</method>
+				<ruri>$calendarhome1:/tobedeleted/</ruri>
+			</request>
+			<request>
+				<method>DELETE</method>
+				<ruri>$calendarhome1:/tobedeleted/</ruri>
+			</request>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>WAITDELETEALL 2</method>
+				<ruri>$inboxpath2:/</ruri>
+			</request>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>DELETEALL</method>
+				<ruri>$calendarpath2:/</ruri>
+			</request>
+			<request>
+				<method>POST</method>
+				<ruri>$calendarhome1:/?action=emptytrash</ruri>
+			</request>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>POST</method>
+				<ruri>$calendarhome2:/?action=emptytrash</ruri>
+			</request>
+		</test>
+	</test-suite>
+
 	<end>
 		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20150528/75f78065/attachment-0001.html>


More information about the calendarserver-changes mailing list