[CalendarServer-changes] [11147] CalDAVTester/trunk

source_changes at macosforge.org source_changes at macosforge.org
Wed May 8 11:00:48 PDT 2013


Revision: 11147
          http://trac.calendarserver.org//changeset/11147
Author:   cdaboo at apple.com
Date:     2013-05-08 11:00:48 -0700 (Wed, 08 May 2013)
Log Message:
-----------
Test that default calendar can be deleted and automatically re-appears when scheduling occurs.

Modified Paths:
--------------
    CalDAVTester/trunk/scripts/tests/CalDAV/implicitdefaultcalendar.xml
    CalDAVTester/trunk/scripts/tests/CardDAV/errors.xml
    CalDAVTester/trunk/src/request.py
    CalDAVTester/trunk/verifiers/multistatusItems.py

Added Paths:
-----------
    CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/6.ics
    CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/7.ics
    CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/8.ics

Added: CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/6.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/6.ics	                        (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/6.ics	2013-05-08 18:00:48 UTC (rev 11147)
@@ -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:event1 at ninevah.local
+ORGANIZER;CN=$username1::$cuaddr1:
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1:
+ATTENDEE;CN=$username10:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$cuaddr10:
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/7.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/7.ics	                        (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/7.ics	2013-05-08 18:00:48 UTC (rev 11147)
@@ -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:event1 at ninevah.local
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username10:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$email10::$cuaddrurn10:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR

Added: CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/8.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/8.ics	                        (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/implicit/defaultcalendar/8.ics	2013-05-08 18:00:48 UTC (rev 11147)
@@ -0,0 +1,35 @@
+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:event1 at ninevah.local
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username10:;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;EMAIL=$email10::$cuaddrurn10:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR

Modified: CalDAVTester/trunk/scripts/tests/CalDAV/implicitdefaultcalendar.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/implicitdefaultcalendar.xml	2013-05-08 02:24:33 UTC (rev 11146)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/implicitdefaultcalendar.xml	2013-05-08 18:00:48 UTC (rev 11147)
@@ -248,22 +248,36 @@
 		</test>
 	</test-suite>
 	
-	<test-suite name='Delete default calendar' ignore='no'>
+	<test-suite name='Delete previously default calendar' ignore='no'>
 		<test name='1'>
+			<description>Set property on Inbox</description>
+			<request print-response='no'>
+				<method>PROPPATCH</method>
+				<ruri>$inboxpath1:/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/implicit/defaultcalendar/5.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
 			<description>Delete calendar</description>
 			<request print-response='no'>
 				<method>DELETE</method>
 				<ruri>$calendarhome1:/calendar-moved/</ruri>
 				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>{urn:ietf:params:xml:ns:caldav}default-calendar-delete-allowed</value>
-					</arg>
+					<callback>statusCode</callback>
 				</verify>
 			</request>
 		</test>
-		<test name='2'>
+		<test name='3'>
 			<description>Verify property on inbox</description>
 			<request print-response="no">
 				<method>PROPFIND</method>
@@ -280,67 +294,185 @@
 					<callback>propfindItems</callback>
 					<arg>
 						<name>okprops</name>
-						<value><![CDATA[{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL$<href xmlns="DAV:">$calendarhome1:/calendar-moved</href>]]></value>
+						<value><![CDATA[{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL$<href xmlns="DAV:">$calendarpath1:</href>]]></value>
 					</arg>
 				</verify>
 			</request>
 		</test>
 	</test-suite>
 	
-	<test-suite name='Delete previously default calendar' ignore='no'>
+	<test-suite name='Delete default calendar' ignore='no'>
 		<test name='1'>
-			<description>Set property on Inbox</description>
-			<request print-response='no'>
-				<method>PROPPATCH</method>
-				<ruri>$inboxpath1:/</ruri>
+			<description>Delete calendar</description>
+			<request user="$userid10:" pswd="$pswd10:" print-response='no'>
+				<method>DELETE</method>
+				<ruri>$calendarpath10:/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>Verify property on inbox</description>
+			<request user="$userid10:" pswd="$pswd10:" print-response="no">
+				<method>PROPFIND</method>
+				<ruri>$inboxpath10:/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/CalDAV/implicit/defaultcalendar/5.xml</filepath>
+					<filepath>Resource/CalDAV/implicit/defaultcalendar/1.xml</filepath>
 				</data>
 				<verify>
 					<callback>propfindItems</callback>
 					<arg>
 						<name>okprops</name>
-						<value>{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL</value>
+						<value><![CDATA[{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL$]]></value>
 					</arg>
 				</verify>
 			</request>
 		</test>
+	</test-suite>
+	
+	<test-suite name='Auto-create default calendar on scheduling' ignore='no'>
+		<test name='1'>
+			<description>Attendee has no calendar</description>
+			<request user="$userid10:" pswd="$pswd10:" print-response='no'>
+				<method>PROPFIND</method>
+				<ruri>$calendarhome10:/</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>ignoremissing</name>
+					</arg>
+					<arg>
+						<name>nohrefs</name>
+						<value>events/</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
 		<test name='2'>
-			<description>Delete calendar</description>
+			<description>Organizer invites Attendee</description>
 			<request print-response='no'>
-				<method>DELETE</method>
-				<ruri>$calendarhome1:/calendar-moved/</ruri>
+				<method>PUT</method>
+				<ruri>$calendarpath1:/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/implicit/defaultcalendar/6.ics</filepath>
+				</data>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
 			</request>
 		</test>
 		<test name='3'>
-			<description>Verify property on inbox</description>
-			<request print-response="no">
+			<description>Organizer checks data</description>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$calendarpath1:/1.ics</ruri>
+				<verify>
+					<callback>calendarDataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/CalDAV/implicit/defaultcalendar/7.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4'>
+			<description>Attendee Inbox Item</description>
+			<request user="$userid10:" pswd="$pswd10:" print-response='no'>
+				<method>WAITCOUNT 1</method>
+				<ruri>$inboxpath10:/</ruri>
+			</request>
+			<request user="$userid10:" pswd="$pswd10:" print-response='no'>
+				<method>GETNEW</method>
+				<ruri>$inboxpath10:/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='5'>
+			<description>Attendee has calendar</description>
+			<request user="$userid10:" pswd="$pswd10:" print-response='no'>
 				<method>PROPFIND</method>
-				<ruri>$inboxpath1:/</ruri>
+				<ruri>$calendarhome10:/</ruri>
 				<header>
 					<name>Depth</name>
-					<value>0</value>
+					<value>1</value>
 				</header>
 				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/CalDAV/implicit/defaultcalendar/1.xml</filepath>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/Common/PROPFIND/count.xml</filepath>
 				</data>
 				<verify>
-					<callback>propfindItems</callback>
+					<callback>multistatusItems</callback>
 					<arg>
-						<name>okprops</name>
-						<value><![CDATA[{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL$<href xmlns="DAV:">$calendarpath1:</href>]]></value>
+						<name>ignoremissing</name>
 					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>events/</value>
+					</arg>
 				</verify>
 			</request>
 		</test>
+		<test name='6'>
+			<description>Attendee has data</description>
+			<request user="$userid10:" pswd="$pswd10:" print-response='no'>
+				<method>GETNEW</method>
+				<ruri>$calendarhome10:/events/</ruri>
+				<verify>
+					<callback>calendarDataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/CalDAV/implicit/defaultcalendar/8.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='-1'>
+			<description>Clean-up</description>
+			<request user="$userid1:" pswd="$pswd1:">
+				<method>DELETEALL</method>
+				<ruri>$calendarpath1:/</ruri>
+			</request>
+			<request user="$userid10:" pswd="$pswd10:">
+				<method>DELETEALL</method>
+				<ruri>$calendarhome10:/events/</ruri>
+			</request>
+			<request user="$userid1:" pswd="$pswd1:">
+				<method>DELETEALL</method>
+				<ruri>$inboxpath1:/</ruri>
+			</request>
+			<request user="$userid10:" pswd="$pswd10:">
+				<method>DELETEALL</method>
+				<ruri>$inboxpath10:/</ruri>
+			</request>
+			<request user="$userid10:" pswd="$pswd10:" print-response='no'>
+				<method>MKCALENDAR</method>
+				<ruri>$calendarpath10:/</ruri>
+			</request>
+			<request user="$userid10:" pswd="$pswd10:">
+				<method>DELETE</method>
+				<ruri>$calendarhome10:/events/</ruri>
+			</request>
+		</test>
 	</test-suite>
 	
-	<test-suite name='Set valid Property' ignore='no'>
+	<test-suite name='Set valid Property' ignore='yes'>
 		<test name='1'>
 			<description>Look for existing property on inbox</description>
 			<request print-response="no">

Modified: CalDAVTester/trunk/scripts/tests/CardDAV/errors.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CardDAV/errors.xml	2013-05-08 02:24:33 UTC (rev 11146)
+++ CalDAVTester/trunk/scripts/tests/CardDAV/errors.xml	2013-05-08 18:00:48 UTC (rev 11147)
@@ -179,9 +179,6 @@
 				</data>
 				<verify>
 					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-					</arg>
 				</verify>
 			</request>
 		</test>

Modified: CalDAVTester/trunk/src/request.py
===================================================================
--- CalDAVTester/trunk/src/request.py	2013-05-08 02:24:33 UTC (rev 11146)
+++ CalDAVTester/trunk/src/request.py	2013-05-08 18:00:48 UTC (rev 11147)
@@ -529,7 +529,7 @@
                     values.append(self.manager.server_info.subs(child.text.encode("utf-8")))
                 else:
                     values.append("")
-        if name and len(values):
+        if name:
             self.args[name] = values
 
 

Modified: CalDAVTester/trunk/verifiers/multistatusItems.py
===================================================================
--- CalDAVTester/trunk/verifiers/multistatusItems.py	2013-05-08 02:24:33 UTC (rev 11146)
+++ CalDAVTester/trunk/verifiers/multistatusItems.py	2013-05-08 18:00:48 UTC (rev 11147)
@@ -42,7 +42,7 @@
         totalcount = args.get("totalcount", [])
         responsecount = args.get("responsecount", [])
         prefix = args.get("prefix", [])
-        ignoremissing = args.get("ignoremissing", [])
+        ignoremissing = args.get("ignoremissing", None)
         if len(prefix):
             prefix = prefix[0] if prefix[0] != "-" else ""
         else:
@@ -147,10 +147,10 @@
         if doOKBad:
             # Now do set difference
             ok_missing = ok_test_set.difference(ok_result_set)
-            ok_extras = ok_result_set.difference(ok_test_set) if not ignoremissing else set()
+            ok_extras = ok_result_set.difference(ok_test_set) if ignoremissing is None else set()
             no_extras = ok_result_set.intersection(no_test_set)
             bad_missing = bad_test_set.difference(bad_result_set)
-            bad_extras = bad_result_set.difference(bad_test_set) if not ignoremissing else set()
+            bad_extras = bad_result_set.difference(bad_test_set) if ignoremissing is None else set()
 
             if len(ok_missing) + len(ok_extras) + len(no_extras) + len(bad_missing) + len(bad_extras) != 0:
                 if len(ok_missing) != 0:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130508/47767c63/attachment-0001.html>


More information about the calendarserver-changes mailing list