[CalendarServer-changes] [14083] CalDAVTester/trunk

source_changes at macosforge.org source_changes at macosforge.org
Thu Oct 16 09:09:17 PDT 2014


Revision: 14083
          http://trac.calendarserver.org//changeset/14083
Author:   cdaboo at apple.com
Date:     2014-10-16 09:09:16 -0700 (Thu, 16 Oct 2014)
Log Message:
-----------
Fixes for cross-pod proxy support.

Modified Paths:
--------------
    CalDAVTester/trunk/Resource/CalDAV-pod/sharing/proxies/setupproxies/5.ics
    CalDAVTester/trunk/scripts/tests-pod/CalDAV/calendaruserproxy.xml
    CalDAVTester/trunk/scripts/tests-pod/CalDAV/sharing-proxies.xml

Added Paths:
-----------
    CalDAVTester/trunk/Resource/CalDAV-pod/sharing/proxies/setupproxies/6.ics

Modified: CalDAVTester/trunk/Resource/CalDAV-pod/sharing/proxies/setupproxies/5.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV-pod/sharing/proxies/setupproxies/5.ics	2014-10-14 17:53:19 UTC (rev 14082)
+++ CalDAVTester/trunk/Resource/CalDAV-pod/sharing/proxies/setupproxies/5.ics	2014-10-16 16:09:16 UTC (rev 14083)
@@ -26,7 +26,7 @@
 DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
 DURATION:PT1H
 SUMMARY:event 1
-UID:54E181BC7CCC373042B28842 at ninevah.local
+UID:$uid1:
 CATEGORIES:cool
 END:VEVENT
 END:VCALENDAR

Added: CalDAVTester/trunk/Resource/CalDAV-pod/sharing/proxies/setupproxies/6.ics
===================================================================
--- CalDAVTester/trunk/Resource/CalDAV-pod/sharing/proxies/setupproxies/6.ics	                        (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV-pod/sharing/proxies/setupproxies/6.ics	2014-10-16 16:09:16 UTC (rev 14083)
@@ -0,0 +1,37 @@
+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+VERSION:2.0
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:$uid1:
+CATEGORIES:cool
+BEGIN:VALARM
+ACTION:DISPLAY
+DESCRIPTION:Alarm for sharee!
+TRIGGER;RELATED=START:-PT15M
+END:VALARM
+END:VEVENT
+END:VCALENDAR

Modified: CalDAVTester/trunk/scripts/tests-pod/CalDAV/calendaruserproxy.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests-pod/CalDAV/calendaruserproxy.xml	2014-10-14 17:53:19 UTC (rev 14082)
+++ CalDAVTester/trunk/scripts/tests-pod/CalDAV/calendaruserproxy.xml	2014-10-16 16:09:16 UTC (rev 14083)
@@ -71,6 +71,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='2'>
 			<description>Verify no group memberships right now</description>
@@ -94,6 +114,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal2:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='3'>
 			<description>Verify no access to resource</description>
@@ -146,6 +186,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal1:calendar-proxy-read/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value><![CDATA[{DAV:}group-member-set$<href xmlns="DAV:">$pprincipaluri1:</href>]]></value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='5'>
 			<description>Verify no group memberships right now</description>
@@ -169,6 +229,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='6'>
 			<description>Verify single group membership</description>
@@ -192,6 +272,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$principaluri1:calendar-proxy-read/]</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='7'>
 			<description>Verify access to resource</description>
@@ -262,6 +362,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal1:calendar-proxy-read/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='10'>
 			<description>Verify no group memberships right now</description>
@@ -285,6 +405,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='11'>
 			<description>Verify no group memberships right now</description>
@@ -308,6 +448,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='12'>
 			<description>Verify no access to resource</description>
@@ -360,6 +520,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal1:calendar-proxy-write/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$pprincipaluri1:]</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='14'>
 			<description>Verify no group memberships right now</description>
@@ -383,6 +563,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='15'>
 			<description>Verify single group membership</description>
@@ -406,6 +606,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$principaluri1:calendar-proxy-write/]</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='16'>
 			<description>Verify access to resource</description>
@@ -448,6 +668,13 @@
 					<callback>statusCode</callback>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>DELETE</method>
+				<ruri>$calendarpath1:/2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
 		</test>
 		<test name='19'>
 			<description>Clear podB user as read-write proxy for podA user01</description>
@@ -486,6 +713,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal1:calendar-proxy-write/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='20'>
 			<description>Verify no group memberships right now</description>
@@ -509,6 +756,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='21'>
 			<description>Verify no group memberships right now</description>
@@ -532,6 +799,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='22'>
 			<description>Verify no access to resource</description>
@@ -552,6 +839,26 @@
 	<test-suite name='Proxy on podB - requests from podB'>
 		<test name='1'>
 			<description>Verify no group memberships right now</description>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$principal1:</ruri>
@@ -575,6 +882,26 @@
 		</test>
 		<test name='2'>
 			<description>Verify no group memberships right now</description>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$principal2:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$principal2:</ruri>
@@ -627,6 +954,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$principal1:calendar-proxy-read/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value><![CDATA[{DAV:}group-member-set$<href xmlns="DAV:">$pprincipaluri1:</href>]]></value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$principal1:calendar-proxy-read/</ruri>
@@ -650,6 +997,26 @@
 		</test>
 		<test name='5'>
 			<description>Verify no group memberships right now</description>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$principal1:</ruri>
@@ -673,6 +1040,26 @@
 		</test>
 		<test name='6'>
 			<description>Verify single group membership</description>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$principaluri1:calendar-proxy-read/]</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:</ruri>
@@ -743,6 +1130,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$principal1:calendar-proxy-read/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$principal1:calendar-proxy-read/</ruri>
@@ -766,6 +1173,26 @@
 		</test>
 		<test name='10'>
 			<description>Verify no group memberships right now</description>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$principal1:</ruri>
@@ -789,6 +1216,26 @@
 		</test>
 		<test name='11'>
 			<description>Verify no group memberships right now</description>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:</ruri>
@@ -841,6 +1288,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$principal1:calendar-proxy-write/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$pprincipaluri1:]</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$principal1:calendar-proxy-write/</ruri>
@@ -864,6 +1331,26 @@
 		</test>
 		<test name='14'>
 			<description>Verify no group memberships right now</description>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$principal1:</ruri>
@@ -887,6 +1374,26 @@
 		</test>
 		<test name='15'>
 			<description>Verify single group membership</description>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$principaluri1:calendar-proxy-write/]</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:</ruri>
@@ -949,6 +1456,13 @@
 					<callback>statusCode</callback>
 				</verify>
 			</request>
+			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+				<method>DELETE</method>
+				<ruri>$calendarpath1:/2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
 		</test>
 		<test name='19'>
 			<description>Clear podB user as read-write proxy for podA user01</description>
@@ -967,6 +1481,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$principal1:calendar-proxy-write/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$principal1:calendar-proxy-write/</ruri>
@@ -990,6 +1524,26 @@
 		</test>
 		<test name='20'>
 			<description>Verify no group memberships right now</description>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$principal1:</ruri>
@@ -1013,6 +1567,26 @@
 		</test>
 		<test name='21'>
 			<description>Verify no group memberships right now</description>
+			<request>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes'>
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:</ruri>
@@ -1073,6 +1647,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='2'>
 			<description>Verify no group memberships right now</description>
@@ -1096,6 +1690,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal2:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='3'>
 			<description>Verify no access to resource</description>
@@ -1148,6 +1762,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:calendar-proxy-read/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$principaluri2:]</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='5'>
 			<description>Verify no group memberships right now</description>
@@ -1171,6 +1805,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='6'>
 			<description>Verify single group membership</description>
@@ -1194,6 +1848,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal2:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$pprincipaluri1:calendar-proxy-read/]</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='7'>
 			<description>Verify access to resource</description>
@@ -1264,6 +1938,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:calendar-proxy-read/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='10'>
 			<description>Verify no group memberships right now</description>
@@ -1287,6 +1981,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='11'>
 			<description>Verify no group memberships right now</description>
@@ -1310,6 +2024,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='12'>
 			<description>Verify no access to resource</description>
@@ -1362,6 +2096,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:calendar-proxy-write/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$principaluri2:]</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='14'>
 			<description>Verify no group memberships right now</description>
@@ -1385,6 +2139,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='15'>
 			<description>Verify single group membership</description>
@@ -1408,6 +2182,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal2:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$pprincipaluri1:calendar-proxy-write/]</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='16'>
 			<description>Verify access to resource</description>
@@ -1450,6 +2244,13 @@
 					<callback>statusCode</callback>
 				</verify>
 			</request>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>DELETE</method>
+				<ruri>$pcalendarpath1:/2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
 		</test>
 		<test name='19'>
 			<description>Clear podA user02 as read-write proxy for podB user</description>
@@ -1488,6 +2289,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:calendar-proxy-write/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='20'>
 			<description>Verify no group memberships right now</description>
@@ -1511,6 +2332,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='21'>
 			<description>Verify no group memberships right now</description>
@@ -1534,6 +2375,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:" host2='yes'>
+				<method>PROPFIND</method>
+				<ruri>$principal2:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 		</test>
 		<test name='22'>
 			<description>Verify no access to resource</description>
@@ -1554,6 +2415,26 @@
 	<test-suite name='Proxy on podA - requests from podB'>
 		<test name='1'>
 			<description>Verify no group memberships right now</description>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:</ruri>
@@ -1577,6 +2458,26 @@
 		</test>
 		<test name='2'>
 			<description>Verify no group memberships right now</description>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$principal2:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$principal2:</ruri>
@@ -1629,6 +2530,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:calendar-proxy-read/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$principaluri2:]</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:calendar-proxy-read/</ruri>
@@ -1652,6 +2573,26 @@
 		</test>
 		<test name='5'>
 			<description>Verify no group memberships right now</description>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:</ruri>
@@ -1675,6 +2616,26 @@
 		</test>
 		<test name='6'>
 			<description>Verify single group membership</description>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$principal2:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$pprincipaluri1:calendar-proxy-read/]</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$principal2:</ruri>
@@ -1745,6 +2706,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:calendar-proxy-read/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:calendar-proxy-read/</ruri>
@@ -1768,6 +2749,26 @@
 		</test>
 		<test name='10'>
 			<description>Verify no group memberships right now</description>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:</ruri>
@@ -1791,6 +2792,26 @@
 		</test>
 		<test name='11'>
 			<description>Verify no group memberships right now</description>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$principal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$principal1:</ruri>
@@ -1843,6 +2864,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:calendar-proxy-write/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$principaluri2:]</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:calendar-proxy-write/</ruri>
@@ -1866,6 +2907,26 @@
 		</test>
 		<test name='14'>
 			<description>Verify no group memberships right now</description>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:</ruri>
@@ -1889,6 +2950,26 @@
 		</test>
 		<test name='15'>
 			<description>Verify single group membership</description>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$principal2:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>xmlElementMatch</callback>
+					<arg>
+						<name>exists</name>
+						<value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+						<value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$pprincipaluri1:calendar-proxy-write/]</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$principal2:</ruri>
@@ -1951,6 +3032,13 @@
 					<callback>statusCode</callback>
 				</verify>
 			</request>
+			<request host2='yes' user="$userid2:" pswd="$pswd2:">
+				<method>DELETE</method>
+				<ruri>$pcalendarpath1:/2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
 		</test>
 		<test name='19'>
 			<description>Clear podA user02 as read-write proxy for podB user</description>
@@ -1969,6 +3057,26 @@
 					</arg>
 				</verify>
 			</request>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:calendar-proxy-write/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:calendar-proxy-write/</ruri>
@@ -1992,6 +3100,26 @@
 		</test>
 		<test name='20'>
 			<description>Verify no group memberships right now</description>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$pprincipal1:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$pprincipal1:</ruri>
@@ -2015,6 +3143,26 @@
 		</test>
 		<test name='21'>
 			<description>Verify no group memberships right now</description>
+			<request user="$puserid1:" pswd="$ppswd1:">
+				<method>PROPFIND</method>
+				<ruri>$principal2:</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV-pod/calendaruserproxy/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>{DAV:}group-member-set$</value>
+						<value>{DAV:}group-membership$</value>
+					</arg>
+				</verify>
+			</request>
 			<request host2='yes' user="$puserid1:" pswd="$ppswd1:">
 				<method>PROPFIND</method>
 				<ruri>$principal2:</ruri>

Modified: CalDAVTester/trunk/scripts/tests-pod/CalDAV/sharing-proxies.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests-pod/CalDAV/sharing-proxies.xml	2014-10-14 17:53:19 UTC (rev 14082)
+++ CalDAVTester/trunk/scripts/tests-pod/CalDAV/sharing-proxies.xml	2014-10-16 16:09:16 UTC (rev 14083)
@@ -55,7 +55,7 @@
 	
 	<test-suite name='Setup proxies'>
 		<test name='1'>
-			<description>Add user03 as read proxy for user02</description>
+			<description>Add puser03 as read proxy for puser02</description>
 			<request host2="yes" user="$puserid2:" pswd="$ppswd2:">
 				<method>PROPPATCH</method>
 				<ruri>$pprincipal2:calendar-proxy-read/</ruri>
@@ -73,7 +73,7 @@
 			</request>
 		</test>
 		<test name='2'>
-			<description>Add user04 as write proxy for user02</description>
+			<description>Add puser04 as write proxy for puser02</description>
 			<request host2="yes" user="$puserid2:" pswd="$ppswd2:">
 				<method>PROPPATCH</method>
 				<ruri>$pprincipal2:calendar-proxy-write/</ruri>
@@ -417,7 +417,7 @@
 				<ruri>$shareecalendar:/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/CalDAV/sharing/proxies/put/2.ics</filepath>
+					<filepath>Resource/CalDAV-pod/sharing/proxies/setupproxies/6.ics</filepath>
 				</data>
 				<verify>
 					<callback>statusCode</callback>
@@ -433,7 +433,7 @@
 					<callback>calendarDataMatch</callback>
 					<arg>
 						<name>filepath</name>
-						<value>Resource/CalDAV/sharing/proxies/put/3.ics</value>
+						<value>Resource/CalDAV-pod/sharing/proxies/setupproxies/5.ics</value>
 					</arg>
 				</verify>
 			</request>
@@ -447,7 +447,7 @@
 					<callback>calendarDataMatch</callback>
 					<arg>
 						<name>filepath</name>
-						<value>Resource/CalDAV/sharing/proxies/put/2.ics</value>
+						<value>Resource/CalDAV-pod/sharing/proxies/setupproxies/6.ics</value>
 					</arg>
 				</verify>
 			</request>
@@ -456,7 +456,7 @@
 
 	<test-suite name='Proxy property changes'>
 		<test name='1'>
-			<description>Read proxy cannot write properties</description>
+			<description>Read proxy can write properties</description>
 			<request host2="yes" user="$puserid3:" pswd="$ppswd3:">
 				<method>PROPPATCH</method>
 				<ruri>$shareecalendar:/</ruri>
@@ -465,10 +465,10 @@
 					<filepath>Resource/CalDAV/sharing/proxies/properties/1.xml</filepath>
 				</data>
 				<verify>
-					<callback>statusCode</callback>
+					<callback>propfindItems</callback>
 					<arg>
-						<name>status</name>
-						<value>403</value>
+						<name>okprops</name>
+						<value>{DAV:}displayname</value>
 					</arg>
 				</verify>
 			</request>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20141016/cada73be/attachment-0001.html>


More information about the calendarserver-changes mailing list