Revision: 882 http://trac.macosforge.org/projects/calendarserver/changeset/882 Author: cdaboo@apple.com Date: 2006-12-21 16:51:16 -0800 (Thu, 21 Dec 2006) Log Message: ----------- More tests for calendar user proxies. Modified Paths: -------------- CalDAVTester/trunk/scripts/server/serverinfo.xml CalDAVTester/trunk/scripts/tests/calendaruserproxy.xml Added Paths: ----------- CalDAVTester/trunk/Resource/calendaruserproxy/2.xml CalDAVTester/trunk/Resource/calendaruserproxy/3.xml CalDAVTester/trunk/Resource/calendaruserproxy/4.xml Added: CalDAVTester/trunk/Resource/calendaruserproxy/2.xml =================================================================== --- CalDAVTester/trunk/Resource/calendaruserproxy/2.xml (rev 0) +++ CalDAVTester/trunk/Resource/calendaruserproxy/2.xml 2006-12-22 00:51:16 UTC (rev 882) @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" ?> +<D:propfind xmlns:D="DAV:"> +<D:prop> +<D:group-member-set/> +<D:group-membership/> +</D:prop> +</D:propfind> Added: CalDAVTester/trunk/Resource/calendaruserproxy/3.xml =================================================================== --- CalDAVTester/trunk/Resource/calendaruserproxy/3.xml (rev 0) +++ CalDAVTester/trunk/Resource/calendaruserproxy/3.xml 2006-12-22 00:51:16 UTC (rev 882) @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" ?> +<D:propertyupdate xmlns:D="DAV:"> +<D:set> +<D:prop> +<D:group-member-set><D:href>$principal2:</D:href></D:group-member-set> +</D:prop> +</D:set> +</D:propertyupdate> Added: CalDAVTester/trunk/Resource/calendaruserproxy/4.xml =================================================================== --- CalDAVTester/trunk/Resource/calendaruserproxy/4.xml (rev 0) +++ CalDAVTester/trunk/Resource/calendaruserproxy/4.xml 2006-12-22 00:51:16 UTC (rev 882) @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" ?> +<D:propertyupdate xmlns:D="DAV:"> +<D:set> +<D:prop> +<D:group-member-set/> +</D:prop> +</D:set> +</D:propertyupdate> Modified: CalDAVTester/trunk/scripts/server/serverinfo.xml =================================================================== --- CalDAVTester/trunk/scripts/server/serverinfo.xml 2006-12-22 00:20:09 UTC (rev 881) +++ CalDAVTester/trunk/scripts/server/serverinfo.xml 2006-12-22 00:51:16 UTC (rev 882) @@ -54,7 +54,7 @@ <!-- relative path to admin principal resource--> <substitution> <key>$principaladmin:</key> - <value>/principals/user/admin</value> + <value>/principals/user/admin/</value> </substitution> <!-- relative path to principal collection--> @@ -76,7 +76,7 @@ <!-- relative path to first user principal resource--> <substitution> <key>$principal:</key> - <value>/principals/user/user01</value> + <value>/principals/user/user01/</value> </substitution> <!-- relative path to first user calendar home--> <substitution> @@ -107,7 +107,7 @@ <!-- relative path to second user principal resource--> <substitution> <key>$principal2:</key> - <value>/principals/user/user02</value> + <value>/principals/user/user02/</value> </substitution> <!-- relative path to second user calendar home--> <substitution> @@ -133,7 +133,7 @@ <!-- relative path to third user principal resource--> <substitution> <key>$principal3:</key> - <value>/principals/user/user03</value> + <value>/principals/user/user03/</value> </substitution> <!-- relative path to third user calendar home--> <substitution> @@ -154,7 +154,7 @@ <!-- relative path to first resource principal resource--> <substitution> <key>$rprincipal1:</key> - <value>/principals/resource/resource01</value> + <value>/principals/resource/resource01/</value> </substitution> </substitutions> <serverfilepath>/Users/cyrusdaboo/Documents/Development/Apple/eclipse/CalendarServer/twistedcaldav/test/data/</serverfilepath> Modified: CalDAVTester/trunk/scripts/tests/calendaruserproxy.xml =================================================================== --- CalDAVTester/trunk/scripts/tests/calendaruserproxy.xml 2006-12-22 00:20:09 UTC (rev 881) +++ CalDAVTester/trunk/scripts/tests/calendaruserproxy.xml 2006-12-22 00:51:16 UTC (rev 882) @@ -23,14 +23,23 @@ <caldavtest> <description>Test drop box features</description> - <start/> + <start> + <request end-delete="yes"> + <method>PUT</method> + <ruri>1.ics</ruri> + <data> + <content-type>text/calendar; charset=utf-8</content-type> + <filepath>Resource/delete/1.txt</filepath> + </data> + </request> + </start> - <test-suite name='Principal resources'> + <test-suite name='Principal resources' ignore='no'> <test name='1'> <description>Look for proxy principals</description> <request print-response="no"> <method>PROPFIND</method> - <ruri>$principal:/</ruri> + <ruri>$principal:</ruri> <data> <content-type>text/xml; charset=utf-8</content-type> <filepath>Resource/calendaruserproxy/1.xml</filepath> @@ -50,7 +59,7 @@ <description>Check resource type of read-only proxy principal</description> <request> <method>PROPFIND</method> - <ruri>$principal:/calendar-proxy-read/</ruri> + <ruri>$principal:calendar-proxy-read/</ruri> <data> <content-type>text/xml; charset=utf-8</content-type> <filepath>Resource/calendaruserproxy/1.xml</filepath> @@ -68,7 +77,7 @@ <description>Check resource type of read-write proxy principal</description> <request> <method>PROPFIND</method> - <ruri>$principal:/calendar-proxy-write/</ruri> + <ruri>$principal:calendar-proxy-write/</ruri> <data> <content-type>text/xml; charset=utf-8</content-type> <filepath>Resource/calendaruserproxy/1.xml</filepath> @@ -84,6 +93,435 @@ </test> </test-suite> + <test-suite name='Group membership'> + <test name='1'> + <description>Verify no group memberships right now</description> + <request print-response="no"> + <method>PROPFIND</method> + <ruri>$principal:</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.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> + <request print-response="no"> + <method>PROPFIND</method> + <ruri>$principal2:</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.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> + <request user="$userid2:" pswd="$pswd2:" print-response="no"> + <method>GET</method> + <ruri>1.ics</ruri> + <verify> + <callback>statusCode</callback> + <arg> + <name>status</name> + <value>403</value> + </arg> + </verify> + </request> + </test> + <test name='4'> + <description>Add user02 as read proxy for user01</description> + <request print-response="no"> + <method>PROPPATCH</method> + <ruri>$principal:calendar-proxy-read/</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/3.xml</filepath> + </data> + <verify> + <callback>propfindItems</callback> + <arg> + <name>okprops</name> + <value>DAV:group-member-set</value> + </arg> + </verify> + </request> + <request print-response="no"> + <method>PROPFIND</method> + <ruri>$principal:calendar-proxy-read/</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.xml</filepath> + </data> + <verify> + <callback>propfindItems</callback> + <arg> + <name>okprops</name> + <value>DAV:group-member-set$<href>$principal2:</href></value> + <value>DAV:group-membership$</value> + </arg> + </verify> + </request> + </test> + <test name='5'> + <description>Verify no group memberships right now</description> + <request print-response="no"> + <method>PROPFIND</method> + <header> + <name>Depth</name> + <value>0</value> + </header> + <ruri>$principal:</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.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> + <request print-response="no"> + <method>PROPFIND</method> + <header> + <name>Depth</name> + <value>0</value> + </header> + <ruri>$principal2:</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.xml</filepath> + </data> + <verify> + <callback>propfindItems</callback> + <arg> + <name>okprops</name> + <value>DAV:group-member-set$</value> + <value>DAV:group-membership$<href>$principal:calendar-proxy-read/</href></value> + </arg> + </verify> + </request> + </test> + <test name='7'> + <description>Verify access to resource</description> + <request user="$userid2:" pswd="$pswd2:" print-response="no"> + <method>GET</method> + <ruri>1.ics</ruri> + <verify> + <callback>statusCode</callback> + <arg> + <name>status</name> + <value>200</value> + </arg> + </verify> + </request> + </test> + <test name='8'> + <description>Clear user02 as read-only proxy for user01</description> + <request print-response="no"> + <method>PROPPATCH</method> + <ruri>$principal:calendar-proxy-read/</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/4.xml</filepath> + </data> + <verify> + <callback>propfindItems</callback> + <arg> + <name>okprops</name> + <value>DAV:group-member-set</value> + </arg> + </verify> + </request> + <request print-response="no"> + <method>PROPFIND</method> + <ruri>$principal:calendar-proxy-read/</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.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='9'> + <description>Verify no group memberships right now</description> + <request print-response="no"> + <method>PROPFIND</method> + <ruri>$principal:</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.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> + <request print-response="no"> + <method>PROPFIND</method> + <ruri>$principal2:</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.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 access to resource</description> + <request user="$userid2:" pswd="$pswd2:" print-response="no"> + <method>GET</method> + <ruri>1.ics</ruri> + <verify> + <callback>statusCode</callback> + <arg> + <name>status</name> + <value>403</value> + </arg> + </verify> + </request> + </test> + <test name='12'> + <description>Add user02 as read-write proxy for user01</description> + <request print-response="no"> + <method>PROPPATCH</method> + <ruri>$principal:calendar-proxy-write/</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/3.xml</filepath> + </data> + <verify> + <callback>propfindItems</callback> + <arg> + <name>okprops</name> + <value>DAV:group-member-set</value> + </arg> + </verify> + </request> + <request print-response="no"> + <method>PROPFIND</method> + <ruri>$principal:calendar-proxy-write/</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.xml</filepath> + </data> + <verify> + <callback>propfindItems</callback> + <arg> + <name>okprops</name> + <value>DAV:group-member-set$<href>$principal2:</href></value> + <value>DAV:group-membership$</value> + </arg> + </verify> + </request> + </test> + <test name='13'> + <description>Verify no group memberships right now</description> + <request print-response="no"> + <method>PROPFIND</method> + <header> + <name>Depth</name> + <value>0</value> + </header> + <ruri>$principal:</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.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='14'> + <description>Verify single group membership</description> + <request print-response="no"> + <method>PROPFIND</method> + <header> + <name>Depth</name> + <value>0</value> + </header> + <ruri>$principal2:</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.xml</filepath> + </data> + <verify> + <callback>propfindItems</callback> + <arg> + <name>okprops</name> + <value>DAV:group-member-set$</value> + <value>DAV:group-membership$<href>$principal:calendar-proxy-write/</href></value> + </arg> + </verify> + </request> + </test> + <test name='15'> + <description>Verify access to resource</description> + <request user="$userid2:" pswd="$pswd2:" print-response="no"> + <method>GET</method> + <ruri>1.ics</ruri> + <verify> + <callback>statusCode</callback> + <arg> + <name>status</name> + <value>200</value> + </arg> + </verify> + </request> + </test> + <test name='16'> + <description>Verify access to resource</description> + <request user="$userid2:" pswd="$pswd2:" print-response="no"> + <method>PUT</method> + <ruri>1.ics</ruri> + <data> + <content-type>text/calendar; charset=utf-8</content-type> + <filepath>Resource/delete/1.txt</filepath> + </data> + <verify> + <callback>statusCode</callback> + </verify> + </request> + </test> + <test name='17'> + <description>Clear user02 as read-write proxy for user01</description> + <request print-response="no"> + <method>PROPPATCH</method> + <ruri>$principal:calendar-proxy-write/</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/4.xml</filepath> + </data> + <verify> + <callback>propfindItems</callback> + <arg> + <name>okprops</name> + <value>DAV:group-member-set</value> + </arg> + </verify> + </request> + <request print-response="no"> + <method>PROPFIND</method> + <ruri>$principal:calendar-proxy-write/</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.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='18'> + <description>Verify no group memberships right now</description> + <request print-response="no"> + <method>PROPFIND</method> + <ruri>$principal:</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.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='19'> + <description>Verify no group memberships right now</description> + <request print-response="no"> + <method>PROPFIND</method> + <ruri>$principal2:</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/calendaruserproxy/2.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 access to resource</description> + <request user="$userid2:" pswd="$pswd2:" print-response="no"> + <method>GET</method> + <ruri>1.ics</ruri> + <verify> + <callback>statusCode</callback> + <arg> + <name>status</name> + <value>403</value> + </arg> + </verify> + </request> + </test> + </test-suite> + <end/> </caldavtest>