[CalendarServer-changes] [11229] CalDAVTester/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Tue May 21 10:44:43 PDT 2013
Revision: 11229
http://trac.calendarserver.org//changeset/11229
Author: cdaboo at apple.com
Date: 2013-05-21 10:44:43 -0700 (Tue, 21 May 2013)
Log Message:
-----------
Add more detailed sharing+sync tests (including ones for CardDAV).
Modified Paths:
--------------
CalDAVTester/trunk/Resource/Common/POST/sharingreply2.xml
CalDAVTester/trunk/Resource/Common/POST/sharingreply23.xml
CalDAVTester/trunk/Resource/Common/POST/sharingreply24.xml
CalDAVTester/trunk/Resource/Common/POST/sharingreply3.xml
CalDAVTester/trunk/scripts/tests/CalDAV/implicitsharing.xml
CalDAVTester/trunk/scripts/tests/CalDAV/managed-attachments-sharing.xml
CalDAVTester/trunk/scripts/tests/CalDAV/sharing-dropbox.xml
CalDAVTester/trunk/scripts/tests/CalDAV/sharing-freebusy.xml
CalDAVTester/trunk/scripts/tests/CalDAV/sharing-moves.xml
CalDAVTester/trunk/scripts/tests/CalDAV/sharing-notification-sync.xml
CalDAVTester/trunk/scripts/tests/CalDAV/sharing-peruser-data.xml
CalDAVTester/trunk/scripts/tests/CalDAV/sharing-quota.xml
CalDAVTester/trunk/scripts/tests/CalDAV/sharing-sync.xml
CalDAVTester/trunk/scripts/tests/CalDAV/sharing-webcal.xml
Added Paths:
-----------
CalDAVTester/trunk/Resource/CardDAV/sharing/sync/
CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/
CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/1.xml
CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/2.vcf
CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/3.vcf
CalDAVTester/trunk/Resource/Common/POST/sharingremove2.xml
CalDAVTester/trunk/Resource/Common/REPORT/
CalDAVTester/trunk/Resource/Common/REPORT/sync-init-level-1.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-init-level-infinite.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token1-level-1.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token1-level-infinite.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token2-level-1.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token2-level-infinite.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token3-level-1.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token3-level-infinite.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token4-level-1.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token4-level-infinite.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token5-level-1.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token5-level-infinite.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token6-level-1.xml
CalDAVTester/trunk/Resource/Common/REPORT/sync-token6-level-infinite.xml
CalDAVTester/trunk/scripts/tests/CardDAV/sharing-sync.xml
Added: CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/1.xml
===================================================================
--- CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/1.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<notification xmlns='http://calendarserver.org/ns/'>
+ <dtstamp></dtstamp>
+ <invite-notification shared-type='addressbook'>
+ <uid></uid>
+ <href xmlns='DAV:'>$cuaddrurn2:</href>
+ <invite-noresponse/>
+ <access>
+ <read-write/>
+ </access>
+ <hosturl>
+ <href xmlns='DAV:'>$addressbookpath1:</href>
+ </hosturl>
+ <organizer>
+ <href xmlns='DAV:'>$principaluri1:</href>
+ <common-name>User 01</common-name>
+ </organizer>
+ <summary>My Shared Calendar</summary>
+ </invite-notification>
+</notification>
Added: CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/2.vcf
===================================================================
--- CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/2.vcf (rev 0)
+++ CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/2.vcf 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,11 @@
+BEGIN:VCARD
+VERSION:3.0
+N:Thompson;Default;;;
+FN:Default Thompson
+EMAIL;type=INTERNET;type=WORK;type=pref:lthompson at example.com
+TEL;type=WORK;type=pref:1-555-555-5555
+TEL;type=CELL:1-444-444-4444
+item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;USA
+item1.X-ABADR:us
+UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson-1
+END:VCARD
Added: CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/3.vcf
===================================================================
--- CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/3.vcf (rev 0)
+++ CalDAVTester/trunk/Resource/CardDAV/sharing/sync/addressbook/3.vcf 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,11 @@
+BEGIN:VCARD
+VERSION:3.0
+N:Thompson;Default;;;
+FN:Default Thompson
+EMAIL;type=INTERNET;type=WORK;type=pref:lthompson at example.com
+TEL;type=WORK;type=pref:1-555-444-3210
+TEL;type=CELL:1-444-444-4444
+item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;USA
+item1.X-ABADR:us
+UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson-1
+END:VCARD
Added: CalDAVTester/trunk/Resource/Common/POST/sharingremove2.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/POST/sharingremove2.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/POST/sharingremove2.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<CS:share xmlns:D="DAV:" xmlns:CS="http://calendarserver.org/ns/">
+ <CS:remove>
+ <D:href>$cuaddr2:</D:href>
+ <CS:read-write/>
+ </CS:remove>
+</CS:share>
Modified: CalDAVTester/trunk/Resource/Common/POST/sharingreply2.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/POST/sharingreply2.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/Resource/Common/POST/sharingreply2.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -3,7 +3,7 @@
<href xmlns='DAV:'>mailto:$email2:</href>
<invite-accepted/>
<hosturl>
- <href xmlns='DAV:'>$calendarhome1:/shared</href>
+ <href xmlns='DAV:'>$hosturl2:</href>
</hosturl>
<in-reply-to>$inviteuid2:</in-reply-to>
<summary>The Shared Calendar</summary>
Modified: CalDAVTester/trunk/Resource/Common/POST/sharingreply23.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/POST/sharingreply23.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/Resource/Common/POST/sharingreply23.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -3,9 +3,9 @@
<href xmlns='DAV:'>mailto:$email3:</href>
<invite-accepted/>
<hosturl>
- <href xmlns='DAV:'>$calendarhome2:/shared</href>
+ <href xmlns='DAV:'>$hosturl23:</href>
</hosturl>
- <in-reply-to>$inviteuid3:</in-reply-to>
+ <in-reply-to>$inviteuid23:</in-reply-to>
<summary>The Shared Calendar</summary>
<common-name>$username3:</common-name>
<first-name>$firstname3:</first-name>
Modified: CalDAVTester/trunk/Resource/Common/POST/sharingreply24.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/POST/sharingreply24.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/Resource/Common/POST/sharingreply24.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -3,9 +3,9 @@
<href xmlns='DAV:'>mailto:$email4:</href>
<invite-accepted/>
<hosturl>
- <href xmlns='DAV:'>$calendarhome2:/shared</href>
+ <href xmlns='DAV:'>$hosturl24:</href>
</hosturl>
- <in-reply-to>$inviteuid4:</in-reply-to>
+ <in-reply-to>$inviteuid24:</in-reply-to>
<summary>The Shared Calendar</summary>
<common-name>$username4:</common-name>
<first-name>$firstname4:</first-name>
Modified: CalDAVTester/trunk/Resource/Common/POST/sharingreply3.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/POST/sharingreply3.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/Resource/Common/POST/sharingreply3.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -3,7 +3,7 @@
<href xmlns='DAV:'>mailto:$email3:</href>
<invite-accepted/>
<hosturl>
- <href xmlns='DAV:'>$calendarhome1:/shared</href>
+ <href xmlns='DAV:'>$hosturl3:</href>
</hosturl>
<in-reply-to>$inviteuid3:</in-reply-to>
<summary>The Shared Calendar</summary>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-init-level-1.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-init-level-1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-init-level-1.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token/>
+<D:sync-level>1</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-init-level-infinite.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-init-level-infinite.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-init-level-infinite.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token/>
+<D:sync-level>infinite</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token1-level-1.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token1-level-1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token1-level-1.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken1:</D:sync-token>
+<D:sync-level>1</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token1-level-infinite.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token1-level-infinite.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token1-level-infinite.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken1:</D:sync-token>
+<D:sync-level>infinite</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token2-level-1.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token2-level-1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token2-level-1.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken2:</D:sync-token>
+<D:sync-level>1</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token2-level-infinite.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token2-level-infinite.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token2-level-infinite.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken2:</D:sync-token>
+<D:sync-level>infinite</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token3-level-1.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token3-level-1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token3-level-1.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken3:</D:sync-token>
+<D:sync-level>1</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token3-level-infinite.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token3-level-infinite.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token3-level-infinite.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken3:</D:sync-token>
+<D:sync-level>infinite</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token4-level-1.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token4-level-1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token4-level-1.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken4:</D:sync-token>
+<D:sync-level>1</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token4-level-infinite.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token4-level-infinite.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token4-level-infinite.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken4:</D:sync-token>
+<D:sync-level>infinite</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token5-level-1.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token5-level-1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token5-level-1.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken5:</D:sync-token>
+<D:sync-level>1</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token5-level-infinite.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token5-level-infinite.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token5-level-infinite.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken5:</D:sync-token>
+<D:sync-level>infinite</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token6-level-1.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token6-level-1.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token6-level-1.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken6:</D:sync-token>
+<D:sync-level>1</D:sync-level>
+</D:sync-collection>
Added: CalDAVTester/trunk/Resource/Common/REPORT/sync-token6-level-infinite.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/REPORT/sync-token6-level-infinite.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/REPORT/sync-token6-level-infinite.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:sync-collection xmlns:D="DAV:">
+<D:sync-token>$synctoken6:</D:sync-token>
+<D:sync-level>infinite</D:sync-level>
+</D:sync-collection>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/implicitsharing.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/implicitsharing.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/implicitsharing.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -72,6 +72,10 @@
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid3:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl3:</variable>
+ </grabelement>
</request>
<request user="$userid3:" pswd="$pswd3:" print-response='no'>
<method>DELETE</method>
@@ -113,8 +117,12 @@
<ruri>$notificationpath3:/</ruri>
<grabelement>
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
- <variable>$inviteuid3:</variable>
+ <variable>$inviteuid23:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl23:</variable>
+ </grabelement>
</request>
<request user="$userid3:" pswd="$pswd3:" print-response='no'>
<method>DELETE</method>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/managed-attachments-sharing.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/managed-attachments-sharing.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/managed-attachments-sharing.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -55,6 +55,10 @@
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid2:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl2:</variable>
+ </grabelement>
</request>
<request user="$userid2:" pswd="$pswd2:" print-response='no'>
<method>POST</method>
@@ -79,6 +83,10 @@
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid3:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl3:</variable>
+ </grabelement>
</request>
<request user="$userid3:" pswd="$pswd3:" print-response='no'>
<method>POST</method>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/sharing-dropbox.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/sharing-dropbox.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/sharing-dropbox.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -78,8 +78,12 @@
</verify>
<grabelement>
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
- <variable>$inviteuid3:</variable>
+ <variable>$inviteuid23:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl23:</variable>
+ </grabelement>
</request>
</test>
<test name='3'>
@@ -114,8 +118,12 @@
</verify>
<grabelement>
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
- <variable>$inviteuid4:</variable>
+ <variable>$inviteuid24:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl24:</variable>
+ </grabelement>
</request>
</test>
<test name='5'>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/sharing-freebusy.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/sharing-freebusy.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/sharing-freebusy.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -53,6 +53,10 @@
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid2:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl2:</variable>
+ </grabelement>
</request>
<request user="$userid2:" pswd="$pswd2:" print-response='no'>
<method>POST</method>
@@ -77,6 +81,10 @@
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid3:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl3:</variable>
+ </grabelement>
</request>
<request user="$userid3:" pswd="$pswd3:" print-response='no'>
<method>POST</method>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/sharing-moves.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/sharing-moves.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/sharing-moves.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -53,6 +53,10 @@
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid2:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl2:</variable>
+ </grabelement>
</request>
<request user="$userid2:" pswd="$pswd2:" print-response='no'>
<method>POST</method>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/sharing-notification-sync.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/sharing-notification-sync.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/sharing-notification-sync.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -383,6 +383,7 @@
<value>{http://calendarserver.org/ns/}uid</value>
</arg>
</verify>
+ <graburi>basename($notification2:)</graburi>
<grabelement>
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid:</variable>
@@ -403,17 +404,13 @@
<callback>multistatusItems</callback>
<arg>
<name>totalcount</name>
- <value>1</value>
+ <value>2</value>
</arg>
</verify>
<grabelement>
<name>/{DAV:}multistatus/{DAV:}sync-token</name>
<variable>$synctoken2:</variable>
</grabelement>
- <grabelement>
- <name>/{DAV:}multistatus/{DAV:}response/{DAV:}href</name>
- <variable>$href2:</variable>
- </grabelement>
</request>
</test>
<test name='3'>
@@ -439,12 +436,12 @@
<verify>
<callback>multistatusItems</callback>
<arg>
- <name>prefix</name>
- <value/>
+ <name>okhrefs</name>
+ <value>$notification:/</value>
</arg>
<arg>
<name>badhrefs</name>
- <value>$href2:</value>
+ <value>$notification:/$notification2:</value>
</arg>
</verify>
<grabelement>
@@ -582,6 +579,7 @@
<value>{http://calendarserver.org/ns/}uid</value>
</arg>
</verify>
+ <graburi>basename($notification2:)</graburi>
<grabelement>
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid:</variable>
@@ -602,17 +600,13 @@
<callback>multistatusItems</callback>
<arg>
<name>totalcount</name>
- <value>1</value>
+ <value>2</value>
</arg>
</verify>
<grabelement>
<name>/{DAV:}multistatus/{DAV:}sync-token</name>
<variable>$synctoken2:</variable>
</grabelement>
- <grabelement>
- <name>/{DAV:}multistatus/{DAV:}response/{DAV:}href</name>
- <variable>$href2:</variable>
- </grabelement>
</request>
</test>
<test name='3'>
@@ -638,12 +632,12 @@
<verify>
<callback>multistatusItems</callback>
<arg>
- <name>prefix</name>
- <value/>
+ <name>okhrefs</name>
+ <value>$notification:/</value>
</arg>
<arg>
<name>badhrefs</name>
- <value>$href2:</value>
+ <value>$notification:/$notification2:</value>
</arg>
</verify>
<grabelement>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/sharing-peruser-data.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/sharing-peruser-data.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/sharing-peruser-data.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -53,6 +53,10 @@
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid2:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl2:</variable>
+ </grabelement>
</request>
<request user="$userid2:" pswd="$pswd2:" print-response='no'>
<method>POST</method>
@@ -77,6 +81,10 @@
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid3:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl3:</variable>
+ </grabelement>
</request>
<request user="$userid3:" pswd="$pswd3:" print-response='no'>
<method>POST</method>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/sharing-quota.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/sharing-quota.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/sharing-quota.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -79,8 +79,12 @@
</verify>
<grabelement>
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
- <variable>$inviteuid3:</variable>
+ <variable>$inviteuid23:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl23:</variable>
+ </grabelement>
</request>
</test>
<test name='3'>
@@ -115,8 +119,12 @@
</verify>
<grabelement>
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
- <variable>$inviteuid4:</variable>
+ <variable>$inviteuid24:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl24:</variable>
+ </grabelement>
</request>
</test>
<test name='5'>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/sharing-sync.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/sharing-sync.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/sharing-sync.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -55,20 +55,98 @@
<test-suite name='Read-write calendar'>
<test name='1' ignore='no'>
+ <description>Initial sync tokens</description>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
+ </grabelement>
+ </request>
+ </test>
+ <test name='2' ignore='no'>
<description>POST invitation</description>
<request print-response='no'>
<method>POST</method>
<ruri>$calendarhome1:/shared/</ruri>
<data>
<content-type>text/xml; charset=utf-8</content-type>
- <filepath>Resource/CalDAV/sharing/sync/depth1-cache/1.xml</filepath>
+ <filepath>Resource/Common/POST/sharinginvite2.xml</filepath>
</data>
<verify>
<callback>statusCode</callback>
</verify>
</request>
</test>
- <test name='2'>
+ <test name='3'>
<description>Check Sharee notification collection</description>
<request user="$userid2:" pswd="$pswd2:" print-response='no'>
<method>WAITCOUNT 1</method>
@@ -91,71 +169,158 @@
</verify>
<grabelement>
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
- <variable>$inviteuid:</variable>
+ <variable>$inviteuid2:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl2:</variable>
+ </grabelement>
</request>
</test>
- <test name='3'>
+ <test name='4'>
<description>Sharee replies ACCEPTED</description>
<request user="$userid2:" pswd="$pswd2:" print-response='no'>
<method>POST</method>
<ruri>$calendarhome2:/</ruri>
<data substitutions='yes'>
<content-type>application/xml; charset=utf-8</content-type>
- <filepath>Resource/CalDAV/sharing/sync/depth1-cache/3.xml</filepath>
+ <filepath>Resource/Common/POST/sharingreply2.xml</filepath>
</data>
<verify>
<callback>statusCode</callback>
</verify>
<grabelement>
<name>{DAV:}href</name>
- <variable>$sharedcalendar:</variable>
+ <variable>basename($sharedcalendar:)</variable>
</grabelement>
</request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>DELETEALL</method>
+ <ruri>$notificationpath1:/</ruri>
+ <ruri>$notificationpath2:/</ruri>
+ </request>
</test>
- <test name='4'>
- <description>Sharer Depth:1 PROPFIND</description>
+ <test name='5' ignore='no'>
+ <description>Updated tokens</description>
<request print-response='no'>
- <method>PROPFIND</method>
+ <method>REPORT</method>
<ruri>$calendarhome1:/</ruri>
- <header>
- <name>Depth</name>
- <value>1</value>
- </header>
- <data>
+ <data substitutions='yes'>
<content-type>text/xml; charset=utf-8</content-type>
- <filepath>Resource/Common/PROPFIND/sync-token.xml</filepath>
+ <filepath>Resource/Common/REPORT/sync-token1-level-1.xml</filepath>
</data>
<verify>
- <callback>statusCode</callback>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>shared/</value>
+ <value>$notification:/</value>
+ </arg>
</verify>
<grabelement>
- <name>$verify-response-prefix:/{DAV:}sync-token</name>
- <parent>$multistatus-response-prefix:[^{DAV:}href=$calendarhome1:/shared/]</parent>
- <variable>$synctoken1_1:</variable>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
</grabelement>
</request>
- </test>
- <test name='5'>
- <description>Sharee Depth:1 PROPFIND</description>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token2-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>ignoremissing</name>
+ <value>1</value>
+ </arg>
+ <arg>
+ <name>okhrefs</name>
+ <value>shared/</value>
+ <value>$notification:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token3-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
<request user="$userid2:" pswd="$pswd2:" print-response='no'>
- <method>PROPFIND</method>
+ <method>REPORT</method>
<ruri>$calendarhome2:/</ruri>
- <header>
- <name>Depth</name>
- <value>1</value>
- </header>
- <data>
+ <data substitutions='yes'>
<content-type>text/xml; charset=utf-8</content-type>
- <filepath>Resource/Common/PROPFIND/sync-token.xml</filepath>
+ <filepath>Resource/Common/REPORT/sync-token4-level-1.xml</filepath>
</data>
<verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedcalendar:/</value>
+ <value>$notification:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token5-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>ignoremissing</name>
+ <value>1</value>
+ </arg>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedcalendar:/</value>
+ <value>$notification:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/$sharedcalendar:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-1.xml</filepath>
+ </data>
+ <verify>
<callback>statusCode</callback>
</verify>
<grabelement>
- <name>$verify-response-prefix:/{DAV:}sync-token</name>
- <parent>$multistatus-response-prefix:[^{DAV:}href=$sharedcalendar:/]</parent>
- <variable>$synctoken2_1:</variable>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken6:</variable>
</grabelement>
</request>
</test>
@@ -163,7 +328,7 @@
<description>Sharee creates event</description>
<request user="$userid2:" pswd="$pswd2:" print-response='no'>
<method>PUT</method>
- <ruri>$sharedcalendar:/1.ics</ruri>
+ <ruri>$calendarhome2:/$sharedcalendar:/1.ics</ruri>
<data>
<content-type>text/calendar; charset=utf-8</content-type>
<filepath>Resource/CalDAV/sharing/sync/depth1-cache/4.ics</filepath>
@@ -173,69 +338,126 @@
</verify>
</request>
</test>
- <test name='7'>
- <description>Sharer Depth:1 PROPFIND</description>
+ <test name='7' ignore='no'>
+ <description>Updated tokens</description>
<request print-response='no'>
- <method>PROPFIND</method>
+ <method>REPORT</method>
<ruri>$calendarhome1:/</ruri>
- <header>
- <name>Depth</name>
- <value>1</value>
- </header>
- <data>
+ <data substitutions='yes'>
<content-type>text/xml; charset=utf-8</content-type>
- <filepath>Resource/Common/PROPFIND/sync-token.xml</filepath>
+ <filepath>Resource/Common/REPORT/sync-token1-level-1.xml</filepath>
</data>
<verify>
- <callback>xmlElementMatch</callback>
+ <callback>multistatusItems</callback>
<arg>
- <name>parent</name>
- <value>$multistatus-response-prefix:[^{DAV:}href=$calendarhome1:/shared/]</value>
+ <name>okhrefs</name>
+ <value>shared/</value>
</arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token2-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
<arg>
- <name>exists</name>
- <value>$verify-response-prefix:/{DAV:}sync-token[!$synctoken1_1:]</value>
+ <name>okhrefs</name>
+ <value>shared/</value>
+ <value>shared/1.ics</value>
</arg>
</verify>
<grabelement>
- <name>$verify-response-prefix:/{DAV:}sync-token</name>
- <parent>$multistatus-response-prefix:[^{DAV:}href=$calendarhome1:/shared/]</parent>
- <variable>$synctoken1_2:</variable>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
</grabelement>
</request>
- </test>
- <test name='8'>
- <description>Sharee Depth:1 PROPFIND</description>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token3-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.ics</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
<request user="$userid2:" pswd="$pswd2:" print-response='no'>
- <method>PROPFIND</method>
+ <method>REPORT</method>
<ruri>$calendarhome2:/</ruri>
- <header>
- <name>Depth</name>
- <value>1</value>
- </header>
- <data>
+ <data substitutions='yes'>
<content-type>text/xml; charset=utf-8</content-type>
- <filepath>Resource/Common/PROPFIND/sync-token.xml</filepath>
+ <filepath>Resource/Common/REPORT/sync-token4-level-1.xml</filepath>
</data>
<verify>
- <callback>xmlElementMatch</callback>
+ <callback>multistatusItems</callback>
<arg>
- <name>parent</name>
- <value>$multistatus-response-prefix:[^{DAV:}href=$sharedcalendar:/]</value>
+ <name>okhrefs</name>
+ <value>$sharedcalendar:/</value>
</arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token5-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
<arg>
- <name>exists</name>
- <value>$verify-response-prefix:/{DAV:}sync-token[!$synctoken2_1:]</value>
+ <name>okhrefs</name>
+ <value>$sharedcalendar:/</value>
+ <value>$sharedcalendar:/1.ics</value>
</arg>
</verify>
<grabelement>
- <name>$verify-response-prefix:/{DAV:}sync-token</name>
- <parent>$multistatus-response-prefix:[^{DAV:}href=$sharedcalendar:/]</parent>
- <variable>$synctoken2_2:</variable>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
</grabelement>
</request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/$sharedcalendar:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token6-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.ics</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken6:</variable>
+ </grabelement>
+ </request>
</test>
- <test name='9'>
+ <test name='8'>
<description>Sharer changes event</description>
<request print-response='no'>
<method>PUT</method>
@@ -249,67 +471,394 @@
</verify>
</request>
</test>
- <test name='10'>
- <description>Sharer Depth:1 PROPFIND</description>
+ <test name='9' ignore='no'>
+ <description>Updated tokens</description>
<request print-response='no'>
- <method>PROPFIND</method>
+ <method>REPORT</method>
<ruri>$calendarhome1:/</ruri>
- <header>
- <name>Depth</name>
- <value>1</value>
- </header>
- <data>
+ <data substitutions='yes'>
<content-type>text/xml; charset=utf-8</content-type>
- <filepath>Resource/Common/PROPFIND/sync-token.xml</filepath>
+ <filepath>Resource/Common/REPORT/sync-token1-level-1.xml</filepath>
</data>
<verify>
- <callback>xmlElementMatch</callback>
+ <callback>multistatusItems</callback>
<arg>
- <name>parent</name>
- <value>$multistatus-response-prefix:[^{DAV:}href=$calendarhome1:/shared/]</value>
+ <name>okhrefs</name>
+ <value>shared/</value>
</arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token2-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
<arg>
- <name>exists</name>
- <value>$verify-response-prefix:/{DAV:}sync-token[!$synctoken1_2:]</value>
+ <name>okhrefs</name>
+ <value>shared/</value>
+ <value>shared/1.ics</value>
</arg>
</verify>
<grabelement>
- <name>$verify-response-prefix:/{DAV:}sync-token</name>
- <parent>$multistatus-response-prefix:[^{DAV:}href=$calendarhome1:/shared/]</parent>
- <variable>$synctoken1_3:</variable>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
</grabelement>
</request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token3-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.ics</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token4-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedcalendar:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token5-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedcalendar:/</value>
+ <value>$sharedcalendar:/1.ics</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/$sharedcalendar:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token6-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.ics</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken6:</variable>
+ </grabelement>
+ </request>
</test>
- <test name='11'>
- <description>Sharee Depth:1 PROPFIND</description>
+ <test name='10'>
+ <description>Sharee deletes event</description>
<request user="$userid2:" pswd="$pswd2:" print-response='no'>
- <method>PROPFIND</method>
+ <method>DELETE</method>
+ <ruri>$calendarhome2:/$sharedcalendar:/1.ics</ruri>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='11' ignore='no'>
+ <description>Updated tokens</description>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token1-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>shared/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token2-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>shared/</value>
+ </arg>
+ <arg>
+ <name>badhrefs</name>
+ <value>shared/1.ics</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token3-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>badhrefs</name>
+ <value>1.ics</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
<ruri>$calendarhome2:/</ruri>
- <header>
- <name>Depth</name>
- <value>1</value>
- </header>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token4-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedcalendar:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token5-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedcalendar:/</value>
+ </arg>
+ <arg>
+ <name>badhrefs</name>
+ <value>$sharedcalendar:/1.ics</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/$sharedcalendar:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token6-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>badhrefs</name>
+ <value>1.ics</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken6:</variable>
+ </grabelement>
+ </request>
+ </test>
+ <test name='12'>
+ <description>Sharer unshares</description>
+ <request print-response='no'>
+ <method>POST</method>
+ <ruri>$calendarhome1:/shared/</ruri>
<data>
<content-type>text/xml; charset=utf-8</content-type>
- <filepath>Resource/Common/PROPFIND/sync-token.xml</filepath>
+ <filepath>Resource/Common/POST/sharingremove2.xml</filepath>
</data>
<verify>
- <callback>xmlElementMatch</callback>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='13' ignore='no'>
+ <description>Updated tokens</description>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token1-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
<arg>
- <name>parent</name>
- <value>$multistatus-response-prefix:[^{DAV:}href=$sharedcalendar:/]</value>
+ <name>okhrefs</name>
+ <value>shared/</value>
</arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token2-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
<arg>
- <name>exists</name>
- <value>$verify-response-prefix:/{DAV:}sync-token[!$synctoken2_2:]</value>
+ <name>okhrefs</name>
+ <value>shared/</value>
</arg>
</verify>
<grabelement>
- <name>$verify-response-prefix:/{DAV:}sync-token</name>
- <parent>$multistatus-response-prefix:[^{DAV:}href=$sharedcalendar:/]</parent>
- <variable>$synctoken2_3:</variable>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
</grabelement>
</request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token3-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token4-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$notification:/</value>
+ </arg>
+ <arg>
+ <name>badhrefs</name>
+ <value>$sharedcalendar:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token5-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>ignoremissing</name>
+ <value>1</value>
+ </arg>
+ <arg>
+ <name>okhrefs</name>
+ <value>$notification:/</value>
+ </arg>
+ <arg>
+ <name>badhrefs</name>
+ <value>$sharedcalendar:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$calendarhome2:/$sharedcalendar:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token6-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ <arg>
+ <name>status</name>
+ <value>404</value>
+ </arg>
+ </verify>
+ </request>
</test>
</test-suite>
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/sharing-webcal.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/sharing-webcal.xml 2013-05-21 17:43:34 UTC (rev 11228)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/sharing-webcal.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -76,6 +76,10 @@
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid2:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl2:</variable>
+ </grabelement>
</request>
</test>
<test name='3'>
@@ -112,6 +116,10 @@
<name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
<variable>$inviteuid3:</variable>
</grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl3:</variable>
+ </grabelement>
</request>
</test>
<test name='5'>
Added: CalDAVTester/trunk/scripts/tests/CardDAV/sharing-sync.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CardDAV/sharing-sync.xml (rev 0)
+++ CalDAVTester/trunk/scripts/tests/CardDAV/sharing-sync.xml 2013-05-21 17:44:43 UTC (rev 11229)
@@ -0,0 +1,840 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ Copyright (c) 2006-2013 Apple Inc. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<caldavtest>
+ <description>Test address book/group sharing and cached home sync tokens</description>
+
+ <require-feature>
+ <feature>carddav</feature>
+ <feature>shared-addressbooks</feature>
+ <feature>sync-report</feature>
+ </require-feature>
+
+ <start>
+ <request user="$userid1:" pswd="$pswd1:">
+ <method>DELETE</method>
+ <ruri>$addressbookpath1:/</ruri>
+ </request>
+ <request user="$userid1:" pswd="$pswd1:">
+ <method>DELETEALL</method>
+ <ruri>$notificationpath1:/</ruri>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:">
+ <method>DELETEALL</method>
+ <ruri>$notificationpath2:/</ruri>
+ </request>
+ </start>
+
+ <test-suite name='Read-write addressbook'>
+ <test name='1' ignore='no'>
+ <description>Initial sync tokens</description>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
+ </grabelement>
+ </request>
+ </test>
+ <test name='2' ignore='no'>
+ <description>POST invitation</description>
+ <request print-response='no'>
+ <method>POST</method>
+ <ruri>$addressbookpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/sharinginvite2.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>Check Sharee notification collection</description>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>WAITCOUNT 1</method>
+ <ruri>$notificationpath2:/</ruri>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>GETNEW</method>
+ <ruri>$notificationpath2:/</ruri>
+ <verify>
+ <callback>xmlDataMatch</callback>
+ <arg>
+ <name>filepath</name>
+ <value>Resource/CardDAV/sharing/sync/addressbook/1.xml</value>
+ </arg>
+ <arg>
+ <name>filter</name>
+ <value>{http://calendarserver.org/ns/}dtstamp</value>
+ <value>{http://calendarserver.org/ns/}uid</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
+ <variable>$inviteuid2:</variable>
+ </grabelement>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}hosturl/{DAV:}href</name>
+ <variable>$hosturl2:</variable>
+ </grabelement>
+ </request>
+ </test>
+ <test name='4'>
+ <description>Sharee replies ACCEPTED</description>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>POST</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>application/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/sharingreply2.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>{DAV:}href</name>
+ <variable>basename($sharedaddressbook:)</variable>
+ </grabelement>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>DELETEALL</method>
+ <ruri>$notificationpath1:/</ruri>
+ <ruri>$notificationpath2:/</ruri>
+ </request>
+ </test>
+ <test name='5' ignore='no'>
+ <description>Updated tokens</description>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token1-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$addressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token2-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$addressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookpath1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token3-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token4-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedaddressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token5-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedaddressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/$sharedaddressbook:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-init-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken6:</variable>
+ </grabelement>
+ </request>
+ </test>
+ <test name='6'>
+ <description>Sharee creates vcard</description>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>PUT</method>
+ <ruri>$addressbookhome2:/$sharedaddressbook:/1.vcf</ruri>
+ <data>
+ <content-type>text/vcard; charset=utf-8</content-type>
+ <filepath>Resource/CardDAV/sharing/sync/addressbook/2.vcf</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='7' ignore='no'>
+ <description>Updated tokens</description>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token1-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$addressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token2-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$addressbook:/</value>
+ <value>$addressbook:/1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookpath1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token3-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token4-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedaddressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token5-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedaddressbook:/</value>
+ <value>$sharedaddressbook:/1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/$sharedaddressbook:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token6-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken6:</variable>
+ </grabelement>
+ </request>
+ </test>
+ <test name='8'>
+ <description>Sharer changes event</description>
+ <request print-response='no'>
+ <method>PUT</method>
+ <ruri>$addressbookpath1:/1.vcf</ruri>
+ <data>
+ <content-type>text/vcard; charset=utf-8</content-type>
+ <filepath>Resource/CardDAV/sharing/sync/addressbook/3.vcf</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='9' ignore='no'>
+ <description>Updated tokens</description>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token1-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$addressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token2-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$addressbook:/</value>
+ <value>$addressbook:/1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookpath1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token3-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token4-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedaddressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token5-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedaddressbook:/</value>
+ <value>$sharedaddressbook:/1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/$sharedaddressbook:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token6-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken6:</variable>
+ </grabelement>
+ </request>
+ </test>
+ <test name='10'>
+ <description>Sharee deletes event</description>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>DELETE</method>
+ <ruri>$addressbookhome2:/$sharedaddressbook:/1.vcf</ruri>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='11' ignore='no'>
+ <description>Updated tokens</description>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token1-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$addressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token2-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$addressbook:/</value>
+ </arg>
+ <arg>
+ <name>badhrefs</name>
+ <value>$addressbook:/1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookpath1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token3-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>badhrefs</name>
+ <value>1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token4-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedaddressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token5-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$sharedaddressbook:/</value>
+ </arg>
+ <arg>
+ <name>badhrefs</name>
+ <value>$sharedaddressbook:/1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/$sharedaddressbook:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token6-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>badhrefs</name>
+ <value>1.vcf</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken6:</variable>
+ </grabelement>
+ </request>
+ </test>
+ <test name='12'>
+ <description>Sharer unshares</description>
+ <request print-response='no'>
+ <method>POST</method>
+ <ruri>$addressbookpath1:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/sharingremove2.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='13' ignore='no'>
+ <description>Updated tokens</description>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token1-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$addressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken1:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token2-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>$addressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken2:</variable>
+ </grabelement>
+ </request>
+ <request print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookpath1:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token3-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken3:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token4-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>badhrefs</name>
+ <value>$sharedaddressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken4:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token5-level-infinite.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>badhrefs</name>
+ <value>$sharedaddressbook:/</value>
+ </arg>
+ </verify>
+ <grabelement>
+ <name>/{DAV:}multistatus/{DAV:}sync-token</name>
+ <variable>$synctoken5:</variable>
+ </grabelement>
+ </request>
+ <request user="$userid2:" pswd="$pswd2:" print-response='no'>
+ <method>REPORT</method>
+ <ruri>$addressbookhome2:/$sharedaddressbook:/</ruri>
+ <data substitutions='yes'>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/REPORT/sync-token6-level-1.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ <arg>
+ <name>status</name>
+ <value>404</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
+ <end>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>DELETEALL</method>
+ <ruri>$notificationpath1:/</ruri>
+ <ruri>$notificationpath2:/</ruri>
+ <ruri>$notificationpath3:/</ruri>
+ <ruri>$notificationpath4:/</ruri>
+ </request>
+ </end>
+
+</caldavtest>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130521/19062150/attachment-0001.html>
More information about the calendarserver-changes
mailing list