[CalendarServer-changes] [5260] CalDAVTester/branches/users/cdaboo/sharing-5228

source_changes at macosforge.org source_changes at macosforge.org
Fri Mar 5 13:15:54 PST 2010


Revision: 5260
          http://trac.macosforge.org/projects/calendarserver/changeset/5260
Author:   cdaboo at apple.com
Date:     2010-03-05 13:15:53 -0800 (Fri, 05 Mar 2010)
Log Message:
-----------
More sharing tests and tweaks to some others.

Modified Paths:
--------------
    CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-carddav.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-partitioning.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-template.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/sslserverinfo.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/schedulepost.xml

Added Paths:
-----------
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/feature/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/feature/downgrade_collection/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/feature/mkcalendar/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/feature/mkcol/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/feature/upgrade_collection/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/1.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/2.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/3.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/1.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/2.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/3.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/Common/MKCALENDAR/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/Common/MKCALENDAR/sharedcalendar.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/Common/PROPFIND/
    CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-sun.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing_feature.xml
    CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing_invites.xml

Removed Paths:
-------------
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/downgrade_collection/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/mkcalendar/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/mkcol/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/upgrade_collection/
    CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/Common/PROPFINDs/
    CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing.xml

Added: CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/1.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/1.xml	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/1.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<CS:share xmlns:D="DAV:" xmlns:CS="http://calendarserver.org/ns/">
+    <CS:set>
+        <D:href>mailto:user02 at example.com</D:href>
+        <CS:summary>My Shared Calendar</CS:summary>
+        <CS:read-write/>
+    </CS:set>
+</CS:share>

Added: CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/2.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/2.xml	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/2.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?><notification xmlns='http://calendarserver.org/ns/'>
+  <dtstamp></dtstamp>
+  <invite-notification>
+    <href xmlns='DAV:'>/principals/__uids__/user02/</href>
+    <invite-noresponse/>
+    <access>
+      <read-write/>
+    </access>
+    <hosturl>
+      <href xmlns='DAV:'>/calendars/__uids__/user01/shared</href>
+    </hosturl>
+    <resourcetype xmlns="DAV:">
+      <collection />
+      <calendar xmlns="urn:ietf:params:xml:ns:caldav" />
+    </resourcetype>
+    <organizer>
+      <href xmlns='DAV:'>/principals/__uids__/user01/</href>
+    </organizer>
+    <summary>My Shared Calendar</summary>
+    <uid></uid>
+    <sequence>1</sequence>
+  </invite-notification>
+</notification>

Added: CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/3.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/3.xml	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/new/3.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:propfind xmlns:D="DAV:" xmlns:CS="http://calendarserver.org/ns/">
+<D:prop>
+<CS:notification-type/>
+</D:prop>
+</D:propfind>

Added: CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/1.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/1.xml	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/1.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<CS:share xmlns:D="DAV:" xmlns:CS="http://calendarserver.org/ns/">
+    <CS:set>
+        <D:href>mailto:user02 at example.com</D:href>
+        <CS:summary>My Shared Calendar</CS:summary>
+        <CS:read/>
+    </CS:set>
+</CS:share>

Added: CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/2.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/2.xml	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/2.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?><notification xmlns='http://calendarserver.org/ns/'>
+  <dtstamp></dtstamp>
+  <invite-notification>
+    <href xmlns='DAV:'>/principals/__uids__/user02/</href>
+    <invite-noresponse/>
+    <access>
+      <read/>
+    </access>
+    <hosturl>
+      <href xmlns='DAV:'>/calendars/__uids__/user01/shared</href>
+    </hosturl>
+    <resourcetype xmlns="DAV:">
+      <collection />
+      <calendar xmlns="urn:ietf:params:xml:ns:caldav" />
+    </resourcetype>
+    <organizer>
+      <href xmlns='DAV:'>/principals/__uids__/user01/</href>
+    </organizer>
+    <summary>My Shared Calendar</summary>
+    <uid></uid>
+    <sequence>2</sequence>
+  </invite-notification>
+</notification>

Added: CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/3.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/3.xml	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/CalDAV/sharing/invites/update/3.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:propfind xmlns:D="DAV:" xmlns:CS="http://calendarserver.org/ns/">
+<D:prop>
+<CS:notification-type/>
+</D:prop>
+</D:propfind>

Added: CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/Common/MKCALENDAR/sharedcalendar.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/Common/MKCALENDAR/sharedcalendar.xml	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/Resource/Common/MKCALENDAR/sharedcalendar.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<C:mkcalendar xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"  xmlns:S="http://calendarserver.org/ns/">
+<D:set>
+<D:prop>
+<D:resourcetype><D:collection/><C:calendar/><S:shared-owner/></D:resourcetype>
+</D:prop>
+</D:set>
+</C:mkcalendar>

Modified: CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-carddav.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-carddav.xml	2010-03-05 21:11:52 UTC (rev 5259)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-carddav.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -182,6 +182,12 @@
 			<value>dropbox</value>
 		</substitution>
 
+		<!-- notification name-->
+		<substitution>
+			<key>$notification:</key>
+			<value>notification</value>
+		</substitution>
+
 		<!-- freebusy name-->
 		<substitution>
 			<key>$freebusy:</key>
@@ -356,6 +362,11 @@
 				<key>$dropboxpath%d:</key>
 				<value>$calendars_uids:$userguid%d:/$dropbox:</value>
 			</substitution>
+			<!-- relative path to user notification-->
+			<substitution>
+				<key>$notificationpath%d:</key>
+				<value>$calendars_uids:$userguid%d:/$notification:</value>
+			</substitution>
 			<!-- relative path to user freebusy-->
 			<substitution>
 				<key>$freebusypath%d:</key>

Modified: CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-partitioning.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-partitioning.xml	2010-03-05 21:11:52 UTC (rev 5259)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-partitioning.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -182,6 +182,12 @@
 			<value>dropbox</value>
 		</substitution>
 
+		<!-- notification name-->
+		<substitution>
+			<key>$notification:</key>
+			<value>notification</value>
+		</substitution>
+
 		<!-- freebusy name-->
 		<substitution>
 			<key>$freebusy:</key>
@@ -356,6 +362,11 @@
 				<key>$dropboxpath%d:</key>
 				<value>$calendars_uids:$userguid%d:/$dropbox:</value>
 			</substitution>
+			<!-- relative path to user notification-->
+			<substitution>
+				<key>$notificationpath%d:</key>
+				<value>$calendars_uids:$userguid%d:/$notification:</value>
+			</substitution>
 			<!-- relative path to user freebusy-->
 			<substitution>
 				<key>$freebusypath%d:</key>

Added: CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-sun.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-sun.xml	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-sun.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -0,0 +1,636 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE serverinfo SYSTEM "serverinfo.dtd">
+
+<!--
+ Copyright (c) 2006-2010 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.
+ -->
+
+<serverinfo>
+	<host>128.195.52.43</host>
+	<port>8080</port>
+	<authtype>basic</authtype>
+
+	<features>
+		<!--  Generic WebDAV extensions -->
+		<!-- <feature>COPY Method</feature> -->					<!-- COPY method -->
+		<!-- <feature>MOVE Method</feature> -->					<!-- MOVE method -->
+		
+		<!-- ACL related -->
+		<!-- <feature>ACL Method</feature> -->					<!-- ACL method -->
+		<!-- <feature>acl-principal-prop-set REPORT</feature> --><!-- ACL acl-principal-prop-set REPORT -->
+		<feature>principal-match REPORT</feature>				<!-- ACL principal-match REPORT -->
+		<feature>principal-property-search REPORT</feature>		<!-- ACL principal-property-search REPORT -->
+		<feature>principal-search-property-set REPORT</feature>	<!-- ACL principal-search-property-set REPORT -->
+
+		<!-- <feature>add-member</feature> -->			<!-- Add-member used to create resources -->
+		<feature>ctag</feature>							<!-- ctag extension -->
+		<feature>current-user-principal</feature>		<!-- current-user-principal extension -->
+		<!-- <feature>directory listing</feature> -->	<!-- GET on collection -->
+		<!-- <feature>extended-principal-search</feature> --><!-- Extended principal-property-search REPORT extension -->
+		<!-- <feature>expand-property</feature> -->		<!-- Expand property REPORT -->
+		<feature>quota</feature>						<!-- WebDAV QUOTA -->
+		<feature>sync-report</feature>					<!-- WebDAV collection sync REPORT -->
+		<!-- <feature>well-known</feature> -->			<!-- well-known feature -->
+
+		<!-- CalDAV specific extension -->
+		<feature>caldav</feature>					    <!-- Basic CalDAV feature enabler -->
+		<!-- <feature>auto-accept</feature> -->			<!-- Auto-accept for rooms & locations -->
+		<!-- <feature>dropbox</feature> -->				<!-- dropbox extension -->
+		<!-- <feature>EMAIL parameter</feature> -->		<!-- Server normalizes cuaddress and adds EMAIL parameter -->
+		<feature>implicit-scheduling</feature>			<!-- CalDAV scheduling - implicit -->
+		<!-- <feature>maskuid</feature> -->				<!-- maskuid extension -->
+		<!-- <feature>partitioning</feature> -->		<!-- Partitioned server -->
+		<!-- <feature>private-comments</feature> -->	<!-- private-comments extension -->
+		<!-- <feature>private-events</feature> -->		<!-- private-events extension -->
+		<!-- <feature>proxy</feature> -->				<!-- calendar-user-proxy extension -->
+		<!-- <feature>proxy-authz</feature> -->			<!-- sudo user extension -->
+		<!-- <feature>schedule-changes</feature> -->	<!-- schedule-changes property extension -->
+		<!-- <feature>timezone-service</feature> -->	<!-- Timezone service extension -->
+		<!-- <feature>vavailability</feature> -->		<!-- VAVAILABILITY on inbox -->
+
+		<!-- CardDAV specific extension -->
+		<!-- <feature>carddav</feature> -->				<!-- Basic CardDAV feature enabler -->
+
+	</features>
+
+	<substitutions>
+		<substitution>
+			<key>$host:</key>
+			<value>http://128.195.52.43:8080</value>
+		</substitution>
+
+		<!-- relative path to caldav root-->
+		<substitution>
+			<key>$root:</key>
+			<value>/davserver/dav/</value>
+		</substitution>
+
+		<!-- relative path to main principal collection-->
+		<substitution>
+			<key>$principalcollection:</key>
+			<value>$root:principals/</value>
+		</substitution>
+
+		<!-- the core recored type collections-->
+		<substitution>
+			<key>$uidstype:</key>
+			<value></value>
+		</substitution>
+		<substitution>
+			<key>$userstype:</key>
+			<value></value>
+		</substitution>
+		<substitution>
+			<key>$groupstype:</key>
+			<value></value>
+		</substitution>
+		<substitution>
+			<key>$locationstype:</key>
+			<value></value>
+		</substitution>
+		<substitution>
+			<key>$resourcestype:</key>
+			<value></value>
+		</substitution>
+
+		<!-- relative path to record type principal collections-->
+		<substitution>
+			<key>$principals_uids:</key>
+			<value>$principalcollection:</value>
+		</substitution>
+		<substitution>
+			<key>$principals_users:</key>
+			<value>$principalcollection:</value>
+		</substitution>
+		<substitution>
+			<key>$principals_groups:</key>
+			<value>$principalcollection:</value>
+		</substitution>
+		<substitution>
+			<key>$principals_resources:</key>
+			<value>$principalcollection:</value>
+		</substitution>
+		<substitution>
+			<key>$principals_locations:</key>
+			<value>$principalcollection:</value>
+		</substitution>
+
+		<!-- relative path to calendars collection-->
+		<substitution>
+			<key>$calendars:</key>
+			<value>$root:home/</value>
+		</substitution>
+
+		<!-- relative path to record type calendar collections-->
+		<substitution>
+			<key>$calendars_uids:</key>
+			<value>$calendars:</value>
+		</substitution>
+		<substitution>
+			<key>$calendars_users:</key>
+			<value>$calendars:</value>
+		</substitution>
+		<substitution>
+			<key>$calendars_groups:</key>
+			<value>$calendars:</value>
+		</substitution>
+		<substitution>
+			<key>$calendars_resources:</key>
+			<value>$calendars:</value>
+		</substitution>
+		<substitution>
+			<key>$calendars_locations:</key>
+			<value>$calendars:</value>
+		</substitution>
+
+		<!-- primary calendar name-->
+		<substitution>
+			<key>$calendar:</key>
+			<value>calendar</value>
+		</substitution>
+
+		<!-- inbox name-->
+		<substitution>
+			<key>$inbox:</key>
+			<value>calendar-inbox</value>
+		</substitution>
+
+		<!-- outbox name-->
+		<substitution>
+			<key>$outbox:</key>
+			<value>calendar-outbox</value>
+		</substitution>
+
+		<!-- dropbox name-->
+		<substitution>
+			<key>$dropbox:</key>
+			<value>dropbox</value>
+		</substitution>
+
+		<!-- freebusy name-->
+		<substitution>
+			<key>$freebusy:</key>
+			<value>freebusy</value>
+		</substitution>
+
+		<!-- server-to-server inbox-->
+		<substitution>
+			<key>$servertoserver:</key>
+			<value>$root:inbox</value>
+		</substitution>
+
+		<!-- timezone service-->
+		<substitution>
+			<key>$timezoneservice:</key>
+			<value>$root:timezones</value>
+		</substitution>
+
+		<!-- relative path to calendars collection-->
+		<substitution>
+			<key>$addressbooks:</key>
+			<value>$root:addressbooks/</value>
+		</substitution>
+
+		<!-- relative path to record type calendar collections-->
+		<substitution>
+			<key>$addressbooks_uids:</key>
+			<value>$addressbooks:</value>
+		</substitution>
+		<substitution>
+			<key>$addressbooks_users:</key>
+			<value>$addressbooks:</value>
+		</substitution>
+		<substitution>
+			<key>$addressbooks_groups:</key>
+			<value>$addressbooks:</value>
+		</substitution>
+
+		<!-- primary calendar name-->
+		<substitution>
+			<key>$addressbook:</key>
+			<value>addressbook</value>
+		</substitution>
+
+		<!-- directory name-->
+		<substitution>
+			<key>$directory:</key>
+			<value>$root:directory/</value>
+		</substitution>
+
+		<!-- user id for admin user -->
+		<substitution>
+			<key>$useradmin:</key>
+			<value>admin</value>
+		</substitution>
+		<!-- guid for admin user -->
+		<substitution>
+			<key>$useradminguid:</key>
+			<value>admin</value>
+		</substitution>
+		<!-- password for admin user -->
+		<substitution>
+			<key>$pswdadmin:</key>
+			<value>admin</value>
+		</substitution>
+
+		<!-- relative path to admin principal resource-->
+		<substitution>
+			<key>$principal_admin:</key>
+			<value>$principals_users:$useradmin:/</value>
+		</substitution>
+		<substitution>
+			<key>$principaluri_admin:</key>
+			<value>$principals_uids:$useradminguid:/</value>
+		</substitution>
+
+		<!-- user id for apprentice user -->
+		<substitution>
+			<key>$userapprentice:</key>
+			<value>apprentice</value>
+		</substitution>
+		<!-- guid for apprentice user -->
+		<substitution>
+			<key>$userapprenticeguid:</key>
+			<value>apprentice</value>
+		</substitution>
+		<!-- password for admin user -->
+		<substitution>
+			<key>$pswdapprentice:</key>
+			<value>apprentice</value>
+		</substitution>
+
+		<!-- relative path to apprentice principal resource-->
+		<substitution>
+			<key>$principal_apprentice:</key>
+			<value>$principals_users:$userapprentice:/</value>
+		</substitution>
+		<substitution>
+			<key>$principaluri_apprentice:</key>
+			<value>$principals_uids:$userapprenticeguid:/</value>
+		</substitution>
+
+		<!-- user id for proxy user -->
+		<substitution>
+			<key>$userproxy:</key>
+			<value>superuser</value>
+		</substitution>
+		<!-- password for proxy user -->
+		<substitution>
+			<key>$pswdproxy:</key>
+			<value>superuser</value>
+		</substitution>
+
+		<!--  Ten user accounts -->
+		<repeat count="10">
+			<!-- user id -->
+			<substitution>
+				<key>$userid%d:</key>
+				<value>caluser%d</value>
+			</substitution>
+			<!-- user guid -->
+			<substitution>
+				<key>$userguid%d:</key>
+				<value>caluser%d</value>
+			</substitution>
+			<!-- user name -->
+			<substitution>
+				<key>$username%d:</key>
+				<value>User %d</value>
+			</substitution>
+			<!-- password -->
+			<substitution>
+				<key>$pswd%d:</key>
+				<value>secret</value>
+			</substitution>
+			<!-- relative path to user principal resource-->
+			<substitution>
+				<key>$principal%d:</key>
+				<value>$principals_users:$userid%d:/</value>
+			</substitution>
+			<substitution>
+				<key>$principaluri%d:</key>
+				<value>$principals_uids:$userguid%d:@Sun.COM/</value>
+			</substitution>
+			<substitution>
+				<key>$principal%dnoslash:</key>
+				<value>$principals_users:$userid%d:@Sun.COM</value>
+			</substitution>
+
+			<!-- relative path to user calendar home-->
+			<substitution>
+				<key>$pathprefix%d:</key>
+				<value>$calendars_uids:$userguid%d:</value>
+			</substitution>
+			<!-- relative path to user calendar-->
+			<substitution>
+				<key>$calendarpath%d:</key>
+				<value>$calendars_uids:$userguid%d:/$calendar:</value>
+			</substitution>
+			<!-- relative path to user inbox-->
+			<substitution>
+				<key>$inboxpath%d:</key>
+				<value>$calendars_uids:$userguid%d:/$inbox:</value>
+			</substitution>
+			<!-- relative path to user outbox-->
+			<substitution>
+				<key>$outboxpath%d:</key>
+				<value>$calendars_uids:$userguid%d:/$outbox:</value>
+			</substitution>
+			<!-- relative path to user dropbox-->
+			<substitution>
+				<key>$dropboxpath%d:</key>
+				<value>$calendars_uids:$userguid%d:/$dropbox:</value>
+			</substitution>
+			<!-- relative path to user freebusy-->
+			<substitution>
+				<key>$freebusypath%d:</key>
+				<value>$calendars_uids:$userguid%d:/$freebusy:</value>
+			</substitution>
+			<!-- relative path to user alternate calendar home-->
+			<substitution>
+				<key>$pathprefixalt%d:</key>
+				<value>$calendars_users:$userid%d:</value>
+			</substitution>
+			<!-- relative path to user alternate calendar-->
+			<substitution>
+				<key>$calendarpathalt%d:</key>
+				<value>$calendars_users:$userid%d:/$calendar:</value>
+			</substitution>
+			<substitution>
+				<key>$email%d:</key>
+				<value>$userid%d:@Sun.COM</value>
+			</substitution>
+			<!-- calendar user address of user-->
+			<substitution>
+				<key>$cuaddr%d:</key>
+				<value>MAILTO:$email%d:</value>
+			</substitution>
+			<substitution>
+				<key>$cuaddralt%d:</key>
+				<value>$principaluri%d:</value>
+			</substitution>
+			<substitution>
+				<key>$cuaddraltnoslash%d:</key>
+				<value>$principals_uids:$userguid%d:</value>
+			</substitution>
+			<substitution>
+				<key>$cuaddrurn%d:</key>
+				<value>MAILTO:$email%d:</value>
+			</substitution>
+
+			<!-- relative path to user addressbook home-->
+			<substitution>
+				<key>$addressbookhome%d:</key>
+				<value>$addressbooks_uids:$userguid%d:</value>
+			</substitution>
+			<!-- relative path to user addressbook-->
+			<substitution>
+				<key>$addressbookpath%d:</key>
+				<value>$addressbooks_uids:$userguid%d:/$addressbook:</value>
+			</substitution>
+		</repeat>
+
+		<!--  Ten public accounts -->
+		<repeat count="10">
+			<!-- user id -->
+			<substitution>
+				<key>$publicuserid%d:</key>
+				<value>public%02d</value>
+			</substitution>
+			<!-- user guid -->
+			<substitution>
+				<key>$publicuserguid%d:</key>
+				<value>public%02d</value>
+			</substitution>
+			<!-- user name -->
+			<substitution>
+				<key>$publicusername%d:</key>
+				<value>Public %02d</value>
+			</substitution>
+			<!-- password -->
+			<substitution>
+				<key>$publicpswd%d:</key>
+				<value>public%02d</value>
+			</substitution>
+			<!-- relative path to user principal resource-->
+			<substitution>
+				<key>$publicprincipal%d:</key>
+				<value>$principals_users:$publicuserid%d:/</value>
+			</substitution>
+			<substitution>
+				<key>$publicprincipaluri%d:</key>
+				<value>$principals_uids:$publicuserguid%d:/</value>
+			</substitution>
+			<!-- relative path to user calendar home-->
+			<substitution>
+				<key>$publicpathprefix%d:</key>
+				<value>$calendars_uids:$publicuserguid%d:</value>
+			</substitution>
+			<!-- relative path to user calendar-->
+			<substitution>
+				<key>$publiccalendarpath%d:</key>
+				<value>$calendars_uids:$publicuserguid%d:/$calendar:</value>
+			</substitution>
+			<substitution>
+				<key>$publicemail%d:</key>
+				<value>$publicuserid%d:@Sun.COM</value>
+			</substitution>
+			<!-- calendar user address of user-->
+			<substitution>
+				<key>$publiccuaddr%d:</key>
+				<value>mailto:$publicemail%d:</value>
+			</substitution>
+			<substitution>
+				<key>$publiccuaddralt%d:</key>
+				<value>$publicprincipaluri%d:</value>
+			</substitution>
+			<substitution>
+				<key>$publiccuaddrurn%d:</key>
+				<value>urn:uuid:$publicuserguid%d:</value>
+			</substitution>
+		</repeat>
+
+		<!--  Ten resource accounts -->
+		<repeat count="10">
+			<substitution>
+				<key>$resourceid%d:</key>
+				<value>resource%02d</value>
+			</substitution>
+			<!-- resource guid-->
+			<substitution>
+				<key>$resourceguid%d:</key>
+				<value>resource%02d</value>
+			</substitution>
+			<!-- resource name-->
+			<substitution>
+				<key>$resourcename%d:</key>
+				<value>Resource %02d</value>
+			</substitution>
+			<!-- relative path to first resource calendar home-->
+			<substitution>
+				<key>$rpathprefix%d:</key>
+				<value>$calendars_uids:$resourceguid%d:</value>
+			</substitution>
+			<!-- relative path to first resource calendar home-->
+			<substitution>
+				<key>$rcalendarpath%d:</key>
+				<value>$calendars_uids:$resourceguid%d:/$calendar:</value>
+			</substitution>
+			<!-- relative path to first resource inbox-->
+			<substitution>
+				<key>$rinboxpath%d:</key>
+				<value>$calendars_uids:$resourceguid%d:/$inbox:</value>
+			</substitution>
+			<!-- relative path to first resource outbox-->
+			<substitution>
+				<key>$routboxpath%d:</key>
+				<value>$calendars_uids:$resourceguid%d:/$outbox:</value>
+			</substitution>
+			<!-- relative path to first resource principal resource-->
+			<substitution>
+				<key>$rprincipal%d:</key>
+				<value>$principals_resources:$resourceid%d:/</value>
+			</substitution>
+			<substitution>
+				<key>$rprincipaluri%d:</key>
+				<value>$principals_uids:$resourceguid%d:/</value>
+			</substitution>
+			<substitution>
+				<key>$rcuaddralt%d:</key>
+				<value>$rprincipaluri%d:</value>
+			</substitution>
+			<substitution>
+				<key>$rcuaddrurn%d:</key>
+				<value>urn:uuid:$resourceguid%d:</value>
+			</substitution>
+		</repeat>
+
+		<!--  Ten Location accounts -->
+		<repeat count="10">
+			<substitution>
+				<key>$locationid%d:</key>
+				<value>location%02d</value>
+			</substitution>
+			<!-- location guid-->
+			<substitution>
+				<key>$locationguid%d:</key>
+				<value>location%02d</value>
+			</substitution>
+			<!-- location name-->
+			<substitution>
+				<key>$locationname%d:</key>
+				<value>Location %02d</value>
+			</substitution>
+			<!-- relative path to first location calendar home-->
+			<substitution>
+				<key>$lpathprefix%d:</key>
+				<value>$calendars_uids:$locationguid%d:</value>
+			</substitution>
+			<!-- relative path to first location calendar home-->
+			<substitution>
+				<key>$lcalendarpath%d:</key>
+				<value>$calendars_uids:$locationguid%d:/$calendar:</value>
+			</substitution>
+			<!-- relative path to first location inbox-->
+			<substitution>
+				<key>$linboxpath%d:</key>
+				<value>$calendars_uids:$locationguid%d:/$inbox:</value>
+			</substitution>
+			<!-- relative path to first location outbox-->
+			<substitution>
+				<key>$loutboxpath%d:</key>
+				<value>$calendars_uids:$locationguid%d:/$outbox:</value>
+			</substitution>
+			<!-- relative path to first location principal resource-->
+			<substitution>
+				<key>$lprincipal%d:</key>
+				<value>$principals_resources:$locationid%d:/</value>
+			</substitution>
+			<substitution>
+				<key>$lprincipaluri%d:</key>
+				<value>$principals_uids:$locationguid%d:/</value>
+			</substitution>
+			<substitution>
+				<key>$lcuaddralt%d:</key>
+				<value>$lprincipaluri%d:</value>
+			</substitution>
+			<substitution>
+				<key>$lcuaddrurn%d:</key>
+				<value>urn:uuid:$locationguid%d:</value>
+			</substitution>
+		</repeat>
+
+
+		<!--  Four Group accounts -->
+		<repeat count="4">
+			<substitution>
+				<key>$groupid%d:</key>
+				<value>group%02d</value>
+			</substitution>
+			<!-- group guid-->
+			<substitution>
+				<key>$groupguid%d:</key>
+				<value>group%02d</value>
+			</substitution>
+			<!-- group name-->
+			<substitution>
+				<key>$groupname%d:</key>
+				<value>Group %02d</value>
+			</substitution>
+			<!-- relative path to first group principal resource-->
+			<substitution>
+				<key>$gprincipal%d:</key>
+				<value>$principals_resources:$groupid%d:/</value>
+			</substitution>
+			<substitution>
+				<key>$gprincipaluri%d:</key>
+				<value>$principals_uids:$groupguid%d:/</value>
+			</substitution>
+			<substitution>
+				<key>$gcuaddralt%d:</key>
+				<value>$gprincipaluri%d:</value>
+			</substitution>
+			<substitution>
+				<key>$gcuaddrurn%d:</key>
+				<value>urn:uuid:$groupguid%d:</value>
+			</substitution>
+		</repeat>
+
+		<!-- relative path to disabled group principal resource-->
+		<substitution>
+			<key>$principaldisabled:</key>
+			<value>$principals_groups:disabledgroup/</value>
+		</substitution>
+		<substitution>
+			<key>$principaluridisabled:</key>
+			<value>$principals_uids:disabledgroup/</value>
+		</substitution>
+		<!-- calendar user address of disabled group-->
+		<substitution>
+			<key>$cuaddrdisabled:</key>
+			<value>$principals_uids:disabledgroup/</value>
+		</substitution>
+
+		<!--  Override some of the above definitions for special cases -->
+
+		<!-- calendar user address of second user-->
+		<substitution>
+			<key>$cuaddr2:</key>
+			<value>MAILTO:$email2:</value>
+		</substitution>
+
+	</substitutions>
+</serverinfo>

Modified: CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-template.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-template.xml	2010-03-05 21:11:52 UTC (rev 5259)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo-template.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -182,6 +182,12 @@
 			<value>dropbox</value>
 		</substitution>
 
+		<!-- notification name-->
+		<substitution>
+			<key>$notification:</key>
+			<value>notification</value>
+		</substitution>
+
 		<!-- freebusy name-->
 		<substitution>
 			<key>$freebusy:</key>
@@ -360,6 +366,11 @@
 				<key>$dropboxpath%%d:</key>
 				<value>$calendars_uids:$userguid%%d:/$dropbox:</value>
 			</substitution>
+			<!-- relative path to user notification-->
+			<substitution>
+				<key>$notificationpath%d:</key>
+				<value>$calendars_uids:$userguid%d:/$notification:</value>
+			</substitution>
 			<!-- relative path to user freebusy-->
 			<substitution>
 				<key>$freebusypath%%d:</key>

Modified: CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo.xml	2010-03-05 21:11:52 UTC (rev 5259)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/serverinfo.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -182,6 +182,12 @@
 			<value>dropbox</value>
 		</substitution>
 
+		<!-- notification name-->
+		<substitution>
+			<key>$notification:</key>
+			<value>notification</value>
+		</substitution>
+
 		<!-- freebusy name-->
 		<substitution>
 			<key>$freebusy:</key>
@@ -356,6 +362,11 @@
 				<key>$dropboxpath%d:</key>
 				<value>$calendars_uids:$userguid%d:/$dropbox:</value>
 			</substitution>
+			<!-- relative path to user notification-->
+			<substitution>
+				<key>$notificationpath%d:</key>
+				<value>$calendars_uids:$userguid%d:/$notification:</value>
+			</substitution>
 			<!-- relative path to user freebusy-->
 			<substitution>
 				<key>$freebusypath%d:</key>

Modified: CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/sslserverinfo.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/sslserverinfo.xml	2010-03-05 21:11:52 UTC (rev 5259)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/server/sslserverinfo.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -183,6 +183,12 @@
 			<value>dropbox</value>
 		</substitution>
 
+		<!-- notification name-->
+		<substitution>
+			<key>$notification:</key>
+			<value>notification</value>
+		</substitution>
+
 		<!-- freebusy name-->
 		<substitution>
 			<key>$freebusy:</key>
@@ -357,6 +363,11 @@
 				<key>$dropboxpath%d:</key>
 				<value>$calendars_uids:$userguid%d:/$dropbox:</value>
 			</substitution>
+			<!-- relative path to user notification-->
+			<substitution>
+				<key>$notificationpath%d:</key>
+				<value>$calendars_uids:$userguid%d:/$notification:</value>
+			</substitution>
 			<!-- relative path to user freebusy-->
 			<substitution>
 				<key>$freebusypath%d:</key>

Modified: CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/schedulepost.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/schedulepost.xml	2010-03-05 21:11:52 UTC (rev 5259)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/schedulepost.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -130,7 +130,7 @@
 					<callback>statusCode</callback>
 					<arg>
 						<name>status</name>
-						<value>405</value>
+						<value>403</value>
 					</arg>
 				</verify>
 			</request>

Deleted: CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing.xml	2010-03-05 21:11:52 UTC (rev 5259)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -1,297 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- Copyright (c) 2006-2010 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 calendar sharing</description>
-
-	<require-feature>
-		<feature>caldav</feature>
-		<feature>shared-calendars</feature>
-	</require-feature>
-
-	<start/>
-	
-	<test-suite name='OPTIONS header' ignore='no'>
-		<test name='1'>
-			<description>Look for options header tag on principal</description>
-			<request print-response="no">
-				<method>OPTIONS</method>
-				<ruri>$principal1:</ruri>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>*DAV$.*calendarserver-sharing.*</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>Look for options header tag on calendar</description>
-			<request print-response="no">
-				<method>OPTIONS</method>
-				<ruri>$calendarpath1:/</ruri>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>*DAV$.*calendarserver-sharing.*</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	<test-suite name='Upgrade calendar to shared'>
-		<test name='1'>
-			<description>Create new calendar</description>
-			<request end-delete="yes">
-				<method>MKCALENDAR</method>
-				<ruri>$pathprefix1:/shared1/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Not shared</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<ruri>$pathprefix1:/shared1/</ruri>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/Common/PROPFINDs/resourcetype.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindValues</callback>
-					<arg>
-						<name>props</name>
-						<value>DAV:resourcetype!.*shared-owner.*</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>Upgrade via PROPPATCH</description>
-			<request>
-				<method>PROPPATCH</method>
-				<ruri>$pathprefix1:/shared1/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/CalDAV/sharing/upgrade_collection/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>Is shared</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<ruri>$pathprefix1:/shared1/</ruri>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/Common/PROPFINDs/resourcetype.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindValues</callback>
-					<arg>
-						<name>props</name>
-						<value>DAV:resourcetype$.*shared-owner.*</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Downgrade calendar to shared'>
-		<test name='1'>
-			<description>Create new shared calendar</description>
-			<request end-delete="yes">
-				<method>MKCALENDAR</method>
-				<ruri>$pathprefix1:/shared2/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>PROPPATCH</method>
-				<ruri>$pathprefix1:/shared2/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/CalDAV/sharing/downgrade_collection/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Is shared</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<ruri>$pathprefix1:/shared2/</ruri>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/Common/PROPFINDs/resourcetype.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindValues</callback>
-					<arg>
-						<name>props</name>
-						<value>DAV:resourcetype$.*shared-owner.*</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>Downgrade via PROPPATCH</description>
-			<request>
-				<method>PROPPATCH</method>
-				<ruri>$pathprefix1:/shared2/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/CalDAV/sharing/downgrade_collection/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>Is not shared</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<ruri>$pathprefix1:/shared2/</ruri>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/Common/PROPFINDs/resourcetype.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindValues</callback>
-					<arg>
-						<name>props</name>
-						<value>DAV:resourcetype!.*shared-owner.*</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Upgrade calendar to shared via MKCALENDAR'>
-		<test name='1'>
-			<description>Create new calendar</description>
-			<request end-delete="yes">
-				<method>MKCALENDAR</method>
-				<ruri>$pathprefix1:/shared3/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/CalDAV/sharing/mkcalendar/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Is shared</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<ruri>$pathprefix1:/shared3/</ruri>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/Common/PROPFINDs/resourcetype.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindValues</callback>
-					<arg>
-						<name>props</name>
-						<value>DAV:resourcetype$.*shared-owner.*</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Upgrade calendar to shared via extended MKCOL'>
-		<require-feature>
-			<feature>Extended MKCOL</feature>
-		</require-feature>
-		<test name='1'>
-			<description>Create new calendar</description>
-			<request end-delete="yes">
-				<method>MKCOL</method>
-				<ruri>$pathprefix1:/shared4/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/CalDAV/sharing/mkcol/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Is shared</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<ruri>$pathprefix1:/shared4/</ruri>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/Common/PROPFINDs/resourcetype.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindValues</callback>
-					<arg>
-						<name>props</name>
-						<value>DAV:resourcetype$.*shared-owner.*</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Copied: CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing_feature.xml (from rev 5230, CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing.xml)
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing_feature.xml	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing_feature.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -0,0 +1,294 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ Copyright (c) 2006-2010 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 calendar sharing</description>
+
+	<require-feature>
+		<feature>caldav</feature>
+		<feature>shared-calendars</feature>
+	</require-feature>
+
+	<start/>
+	
+	<test-suite name='OPTIONS header' ignore='no'>
+		<test name='1'>
+			<description>Look for options header tag on principal</description>
+			<request print-response="no">
+				<method>OPTIONS</method>
+				<ruri>$principal1:</ruri>
+				<verify>
+					<callback>header</callback>
+					<arg>
+						<name>header</name>
+						<value>*DAV$.*calendarserver-sharing.*</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>Look for options header tag on calendar</description>
+			<request print-response="no">
+				<method>OPTIONS</method>
+				<ruri>$calendarpath1:/</ruri>
+				<verify>
+					<callback>header</callback>
+					<arg>
+						<name>header</name>
+						<value>*DAV$.*calendarserver-sharing.*</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	<test-suite name='Upgrade calendar to shared'>
+		<test name='1'>
+			<description>Create new calendar</description>
+			<request end-delete="yes">
+				<method>MKCALENDAR</method>
+				<ruri>$pathprefix1:/shared1/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Not shared</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<ruri>$pathprefix1:/shared1/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/Common/PROPFIND/resourcetype.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindValues</callback>
+					<arg>
+						<name>props</name>
+						<value>DAV:resourcetype!.*shared-owner.*</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>Upgrade via PROPPATCH</description>
+			<request print-response='no'>
+				<method>PROPPATCH</method>
+				<ruri>$pathprefix1:/shared1/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/sharing/feature/upgrade_collection/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>badprops</name>
+						<value>DAV:resourcetype</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>Is not shared</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<ruri>$pathprefix1:/shared1/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/Common/PROPFIND/resourcetype.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindValues</callback>
+					<arg>
+						<name>props</name>
+						<value>DAV:resourcetype!.*shared-owner.*</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Downgrade calendar from shared'>
+		<test name='1'>
+			<description>Create new shared calendar</description>
+			<request end-delete="yes">
+				<method>MKCALENDAR</method>
+				<ruri>$pathprefix1:/shared2/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/sharing/feature/mkcalendar/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Is shared</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<ruri>$pathprefix1:/shared2/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/Common/PROPFIND/resourcetype.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindValues</callback>
+					<arg>
+						<name>props</name>
+						<value>DAV:resourcetype$.*shared-owner.*</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>Downgrade via PROPPATCH</description>
+			<request>
+				<method>PROPPATCH</method>
+				<ruri>$pathprefix1:/shared2/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/sharing/feature/downgrade_collection/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>Is not shared</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<ruri>$pathprefix1:/shared2/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/Common/PROPFIND/resourcetype.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindValues</callback>
+					<arg>
+						<name>props</name>
+						<value>DAV:resourcetype!.*shared-owner.*</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Upgrade calendar to shared via MKCALENDAR'>
+		<test name='1'>
+			<description>Create new calendar</description>
+			<request end-delete="yes">
+				<method>MKCALENDAR</method>
+				<ruri>$pathprefix1:/shared3/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/sharing/feature/mkcalendar/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Is shared</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<ruri>$pathprefix1:/shared3/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/Common/PROPFIND/resourcetype.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindValues</callback>
+					<arg>
+						<name>props</name>
+						<value>DAV:resourcetype$.*shared-owner.*</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Upgrade calendar to shared via extended MKCOL'>
+		<require-feature>
+			<feature>Extended MKCOL</feature>
+		</require-feature>
+		<test name='1'>
+			<description>Create new calendar</description>
+			<request end-delete="yes">
+				<method>MKCOL</method>
+				<ruri>$pathprefix1:/shared4/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/sharing/feature/mkcol/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Is shared</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<ruri>$pathprefix1:/shared4/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/Common/PROPFIND/resourcetype.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindValues</callback>
+					<arg>
+						<name>props</name>
+						<value>DAV:resourcetype$.*shared-owner.*</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing_invites.xml
===================================================================
--- CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing_invites.xml	                        (rev 0)
+++ CalDAVTester/branches/users/cdaboo/sharing-5228/scripts/tests/CalDAV/sharing_invites.xml	2010-03-05 21:15:53 UTC (rev 5260)
@@ -0,0 +1,185 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ Copyright (c) 2006-2010 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 calendar sharing invitations</description>
+
+	<require-feature>
+		<feature>caldav</feature>
+		<feature>shared-calendars</feature>
+	</require-feature>
+
+	<start>
+		<request user="$userid1:" pswd="$pswd1:">
+			<method>DELETEALL</method>
+			<ruri>$notificationpath1:/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>DELETEALL</method>
+			<ruri>$notificationpath2:/</ruri>
+		</request>
+		<request end-delete="yes">
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix1:/shared/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/Common/MKCALENDAR/sharedcalendar.xml</filepath>
+			</data>
+			<verify>
+				<callback>statusCode</callback>
+			</verify>
+		</request>
+	</start>
+	
+	<test-suite name='Send new invite'>
+		<test name='1' ignore='no'>
+			<description>POST invitation</description>
+			<request print-response='no'>
+				<method>POST</method>
+				<ruri>$pathprefix1:/shared/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/sharing/invites/new/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<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/CalDAV/sharing/invites/new/2.xml</value>
+					</arg>
+					<arg>
+						<name>filter</name>
+						<value>{http://calendarserver.org/ns/}dtstamp</value>
+						<value>{http://calendarserver.org/ns/}uid</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>Notification type property</description>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
+				<method>PROPFIND</method>
+				<ruri>$</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>application/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/sharing/invites/new/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindValues</callback>
+					<arg>
+						<name>props</name>
+						<value><![CDATA[http://calendarserver.org/ns/notification-type$invite-notification]]></value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Update new invite'>
+		<test name='1' ignore='no'>
+			<description>POST invitation</description>
+			<request print-response='no'>
+				<method>POST</method>
+				<ruri>$pathprefix1:/shared/</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/sharing/invites/update/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<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/CalDAV/sharing/invites/update/2.xml</value>
+					</arg>
+					<arg>
+						<name>filter</name>
+						<value>{http://calendarserver.org/ns/}dtstamp</value>
+						<value>{http://calendarserver.org/ns/}uid</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>Notification type property</description>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
+				<method>PROPFIND</method>
+				<ruri>$</ruri>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>application/xml; charset=utf-8</content-type>
+					<filepath>Resource/CalDAV/sharing/invites/update/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindValues</callback>
+					<arg>
+						<name>props</name>
+						<value><![CDATA[http://calendarserver.org/ns/notification-type$invite-notification]]></value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end/>
+	
+</caldavtest>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100305/e9c4d6a0/attachment-0001.html>


More information about the calendarserver-changes mailing list