[CalendarServer-changes] [239] CalDAVTester/trunk

source_changes at macosforge.org source_changes at macosforge.org
Wed Oct 4 09:02:45 PDT 2006


Revision: 239
          http://trac.macosforge.org/projects/calendarserver/changeset/239
Author:   cdaboo at apple.com
Date:     2006-10-04 09:02:44 -0700 (Wed, 04 Oct 2006)

Log Message:
-----------
Reworked main config file so that key/value pairs for text substitution can now be used for most
parameters. All xml config files have been changed to use these for substitutions to avoid hard
coded paths. There are still some paths (calendar user addresses) that need to be fixed.

Also added some preliminary multi-threaded performance test options - more to come.

Modified Paths:
--------------
    CalDAVTester/trunk/Resource/acldisabled/1.xml
    CalDAVTester/trunk/Resource/aclreports/10.xml
    CalDAVTester/trunk/Resource/aclreports/19.xml
    CalDAVTester/trunk/Resource/aclreports/20.xml
    CalDAVTester/trunk/Resource/aclreports/9.xml
    CalDAVTester/trunk/Resource/acls/10.xml
    CalDAVTester/trunk/Resource/acls/12.xml
    CalDAVTester/trunk/Resource/acls/13.xml
    CalDAVTester/trunk/Resource/acls/20.xml
    CalDAVTester/trunk/Resource/acls/3.xml
    CalDAVTester/trunk/Resource/acls/4.xml
    CalDAVTester/trunk/Resource/acls/5.xml
    CalDAVTester/trunk/Resource/acls/6.xml
    CalDAVTester/trunk/Resource/acls/7.xml
    CalDAVTester/trunk/Resource/acls/8.xml
    CalDAVTester/trunk/Resource/acls/9.xml
    CalDAVTester/trunk/Resource/depthreportsacl/1.xml
    CalDAVTester/trunk/Resource/depthreportsacl/2.xml
    CalDAVTester/trunk/Resource/depthreportsacl/3.xml
    CalDAVTester/trunk/Resource/schedule/15.xml
    CalDAVTester/trunk/acl.xml
    CalDAVTester/trunk/acldisabled.xml
    CalDAVTester/trunk/aclreports.xml
    CalDAVTester/trunk/copymove.xml
    CalDAVTester/trunk/delete.xml
    CalDAVTester/trunk/depthreportsacl.xml
    CalDAVTester/trunk/encodedURIs.xml
    CalDAVTester/trunk/quota.xml
    CalDAVTester/trunk/schedule.xml
    CalDAVTester/trunk/scheduleacl.xml
    CalDAVTester/trunk/scheduleauto.xml
    CalDAVTester/trunk/schedulenormal.xml
    CalDAVTester/trunk/schedulepost.xml
    CalDAVTester/trunk/schedulepostacl.xml
    CalDAVTester/trunk/schedulepostauto.xml
    CalDAVTester/trunk/schedulepostnormal.xml
    CalDAVTester/trunk/scheduleprops.xml
    CalDAVTester/trunk/serverinfo.dtd
    CalDAVTester/trunk/serverinfo.xml
    CalDAVTester/trunk/sslserverinfo.xml
    CalDAVTester/trunk/testcaldav.py
    CalDAVTester/trunk/tests/caldavtest.py
    CalDAVTester/trunk/tests/manager.py
    CalDAVTester/trunk/tests/request.py
    CalDAVTester/trunk/tests/serverinfo.py
    CalDAVTester/trunk/tests/xmlDefs.py

Added Paths:
-----------
    CalDAVTester/trunk/tests/multithread.py

Modified: CalDAVTester/trunk/Resource/acldisabled/1.xml
===================================================================
--- CalDAVTester/trunk/Resource/acldisabled/1.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acldisabled/1.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user02</D:href>
+			<D:href>$principal2:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><D:read/></D:privilege>

Modified: CalDAVTester/trunk/Resource/aclreports/10.xml
===================================================================
--- CalDAVTester/trunk/Resource/aclreports/10.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/aclreports/10.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:propertyupdate xmlns:D="DAV:">
 <D:set>
 <D:prop>
-<D:whoami><D:href>/principals/users/user02</D:href></D:whoami>
+<D:whoami><D:href>$principal2:</D:href></D:whoami>
 </D:prop>
 </D:set>
 </D:propertyupdate>

Modified: CalDAVTester/trunk/Resource/aclreports/19.xml
===================================================================
--- CalDAVTester/trunk/Resource/aclreports/19.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/aclreports/19.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <multistatus xmlns='DAV:'>
   <response>
-    <href>/calendars/users/user01/calendar/1.ics</href>
+    <href>$pathprefix:/calendar/1.ics</href>
     <propstat>
       <prop>
         <supported-report-set>

Modified: CalDAVTester/trunk/Resource/aclreports/20.xml
===================================================================
--- CalDAVTester/trunk/Resource/aclreports/20.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/aclreports/20.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -46,7 +46,7 @@
     </propstat>
   </response>
   <response>
-    <href>/principals/users/user01</href>
+    <href>$principal:</href>
     <propstat>
       <prop>
         <supported-report-set>

Modified: CalDAVTester/trunk/Resource/aclreports/9.xml
===================================================================
--- CalDAVTester/trunk/Resource/aclreports/9.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/aclreports/9.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:propertyupdate xmlns:D="DAV:">
 <D:set>
 <D:prop>
-<D:whoami><D:href>/principals/users/user01</D:href></D:whoami>
+<D:whoami><D:href>$principal:</D:href></D:whoami>
 </D:prop>
 </D:set>
 </D:propertyupdate>

Modified: CalDAVTester/trunk/Resource/acls/10.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/10.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acls/10.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user03</D:href>
+			<D:href>$principal3:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><schedule xmlns='urn:ietf:params:xml:ns:caldav'/></D:privilege>

Modified: CalDAVTester/trunk/Resource/acls/12.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/12.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acls/12.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user02</D:href>
+			<D:href>$principal2:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><D:read/></D:privilege>

Modified: CalDAVTester/trunk/Resource/acls/13.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/13.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acls/13.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user03</D:href>
+			<D:href>$principal3:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><D:read/></D:privilege>
@@ -10,7 +10,7 @@
 	</D:ace>
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user01</D:href>
+			<D:href>$principal:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><D:read/></D:privilege>

Modified: CalDAVTester/trunk/Resource/acls/20.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/20.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acls/20.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user01</D:href>
+			<D:href>$principal:</D:href>
 		</D:principal>
 		<D:deny>
 			<D:privilege><D:read/></D:privilege>

Modified: CalDAVTester/trunk/Resource/acls/3.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/3.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acls/3.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user01</D:href>
+			<D:href>$principal:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><D:read/></D:privilege>

Modified: CalDAVTester/trunk/Resource/acls/4.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/4.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acls/4.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user03</D:href>
+			<D:href>$principal3:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><D:read/></D:privilege>
@@ -10,7 +10,7 @@
 	</D:ace>
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user01</D:href>
+			<D:href>$principal:</D:href>
 		</D:principal>
 		<D:deny>
 			<D:privilege><D:read/></D:privilege>

Modified: CalDAVTester/trunk/Resource/acls/5.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/5.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acls/5.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user02</D:href>
+			<D:href>$principal2:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><D:read/></D:privilege>

Modified: CalDAVTester/trunk/Resource/acls/6.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/6.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acls/6.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,11 +2,11 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user02</D:href>
+			<D:href>$principal2:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><D:read/></D:privilege>
 		</D:grant>
-		<D:inherited><D:href>/calendars/users/user02</D:href></D:inherited>
+		<D:inherited><D:href>$pathprefix2:</D:href></D:inherited>
 	</D:ace>
 </D:acl>

Modified: CalDAVTester/trunk/Resource/acls/7.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/7.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acls/7.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/admin</D:href>
+			<D:href>$principaladmin:</D:href>
 		</D:principal>
 		<D:deny>
 			<D:privilege><D:write-acl/></D:privilege>

Modified: CalDAVTester/trunk/Resource/acls/8.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/8.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acls/8.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user01</D:href>
+			<D:href>$principal:</D:href>
 		</D:principal>
 		<D:deny>
 			<D:privilege><D:write-acl/></D:privilege>

Modified: CalDAVTester/trunk/Resource/acls/9.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/9.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/acls/9.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user03</D:href>
+			<D:href>$principal3:</D:href>
 		</D:principal>
 		<D:deny>
 			<D:privilege><D:write-acl/></D:privilege>
@@ -10,7 +10,7 @@
 	</D:ace>
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user03</D:href>
+			<D:href>$principal3:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><D:read/></D:privilege>

Modified: CalDAVTester/trunk/Resource/depthreportsacl/1.xml
===================================================================
--- CalDAVTester/trunk/Resource/depthreportsacl/1.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/depthreportsacl/1.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user02</D:href>
+			<D:href>$principal2:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><D:read/></D:privilege>
@@ -10,7 +10,7 @@
 	</D:ace>
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user02</D:href>
+			<D:href>$principal2:</D:href>
 		</D:principal>
 		<D:deny>
 			<D:privilege><D:all/></D:privilege>

Modified: CalDAVTester/trunk/Resource/depthreportsacl/2.xml
===================================================================
--- CalDAVTester/trunk/Resource/depthreportsacl/2.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/depthreportsacl/2.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user02</D:href>
+			<D:href>$principal2:</D:href>
 		</D:principal>
 		<D:deny>
 			<D:privilege><D:all/></D:privilege>

Modified: CalDAVTester/trunk/Resource/depthreportsacl/3.xml
===================================================================
--- CalDAVTester/trunk/Resource/depthreportsacl/3.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/depthreportsacl/3.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -2,7 +2,7 @@
 <D:acl xmlns:D="DAV:"  xmlns:C="urn:ietf:params:xml:ns:caldav">
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user02</D:href>
+			<D:href>$principal2:</D:href>
 		</D:principal>
 		<D:grant>
 			<D:privilege><C:read-free-busy/></D:privilege>
@@ -10,7 +10,7 @@
 	</D:ace>
 	<D:ace>
 		<D:principal>
-			<D:href>/principals/users/user02</D:href>
+			<D:href>$principal2:</D:href>
 		</D:principal>
 		<D:deny>
 			<D:privilege><D:all/></D:privilege>

Modified: CalDAVTester/trunk/Resource/schedule/15.xml
===================================================================
--- CalDAVTester/trunk/Resource/schedule/15.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/Resource/schedule/15.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -9,5 +9,5 @@
 </C:comp>
 </C:calendar-data>
 </D:prop>
-<D:href>/calendars/users/user01/inbox/1.ics</D:href>
+<D:href>$pathprefix:/inbox/1.ics</D:href>
 </C:calendar-multiget>

Modified: CalDAVTester/trunk/acl.xml
===================================================================
--- CalDAVTester/trunk/acl.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/acl.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -48,109 +48,109 @@
 				<filepath>Resource/todo/1.txt</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>MKCALENDAR</method>
-			<ruri>/calendars/users/user02/visibletouser01/</ruri>
+			<ruri>$pathprefix2:/visibletouser01/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>ACL</method>
-			<ruri>/calendars/users/user02/visibletouser01/</ruri>
+			<ruri>$pathprefix2:/visibletouser01/</ruri>
 			<data>
 				<content-type>text/xml; charset=utf-8</content-type>
 				<filepath>Resource/acls/3.xml</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>PUT</method>
-			<ruri>/calendars/users/user02/visibletouser01/hidden1.ics</ruri>
+			<ruri>$pathprefix2:/visibletouser01/hidden1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/acls/16.ics</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>ACL</method>
-			<ruri>/calendars/users/user02/visibletouser01/hidden1.ics</ruri>
+			<ruri>$pathprefix2:/visibletouser01/hidden1.ics</ruri>
 			<data>
 				<content-type>text/xml; charset=utf-8</content-type>
 				<filepath>Resource/acls/20.xml</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>PUT</method>
-			<ruri>/calendars/users/user02/visibletouser01/visible2.ics</ruri>
+			<ruri>$pathprefix2:/visibletouser01/visible2.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/acls/17.ics</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>MKCALENDAR</method>
-			<ruri>/calendars/users/user02/notvisibletouser01/</ruri>
+			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>ACL</method>
-			<ruri>/calendars/users/user02/notvisibletouser01/</ruri>
+			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
 			<data>
 				<content-type>text/xml; charset=utf-8</content-type>
 				<filepath>Resource/acls/4.xml</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>PUT</method>
-			<ruri>/calendars/users/user02/notvisibletouser01/hidden1.ics</ruri>
+			<ruri>$pathprefix2:/notvisibletouser01/hidden1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/acls/16.ics</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>MKCALENDAR</method>
-			<ruri>/calendars/users/user02/writeabletouser01/</ruri>
+			<ruri>$pathprefix2:/writeabletouser01/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>ACL</method>
-			<ruri>/calendars/users/user02/writeabletouser01/</ruri>
+			<ruri>$pathprefix2:/writeabletouser01/</ruri>
 			<data>
 				<content-type>text/xml; charset=utf-8</content-type>
 				<filepath>Resource/acls/13.xml</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>MKCALENDAR</method>
-			<ruri>/calendars/users/user02/calreadtoauth/</ruri>
+			<ruri>$pathprefix2:/calreadtoauth/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>ACL</method>
-			<ruri>/calendars/users/user02/calreadtoauth/</ruri>
+			<ruri>$pathprefix2:/calreadtoauth/</ruri>
 			<data>
 				<content-type>text/xml; charset=utf-8</content-type>
 				<filepath>Resource/acls/18.xml</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>PUT</method>
-			<ruri>/calendars/users/user02/calreadtoauth/1.ics</ruri>
+			<ruri>$pathprefix2:/calreadtoauth/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/acls/16.ics</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user02/colreadtoauth/</ruri>
+			<ruri>$pathprefix2:/colreadtoauth/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>ACL</method>
-			<ruri>/calendars/users/user02/colreadtoauth/</ruri>
+			<ruri>$pathprefix2:/colreadtoauth/</ruri>
 			<data>
 				<content-type>text/xml; charset=utf-8</content-type>
 				<filepath>Resource/acls/18.xml</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>PUT</method>
-			<ruri>/calendars/users/user02/colreadtoauth/1.ics</ruri>
+			<ruri>$pathprefix2:/colreadtoauth/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/acls/16.ics</filepath>
@@ -161,7 +161,7 @@
 	<test-suite name='Read ACLs' ignore='no'>
 		<test name='1' ignore='no'>
 			<description>PROPFIND existing VEVENT</description>
-			<request print-response='no' user='admin' pswd='admin'>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
 				<method>PROPFIND</method>
 				<header>
 					<name>Depth</name>
@@ -241,7 +241,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/1.xml</filepath>
@@ -267,7 +267,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/1.xml</filepath>
@@ -293,7 +293,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/calendar/</ruri>
+				<ruri>$pathprefix:/calendar/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/1.xml</filepath>
@@ -325,7 +325,7 @@
 					<name>Depth</name>
 					<value>1</value>
 				</header>
-				<ruri>/calendars/users/user02/</ruri>
+				<ruri>$pathprefix2:/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/2.xml</filepath>
@@ -334,7 +334,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>prefix</name>
-						<value>/calendars/users/user02/</value>
+						<value>$pathprefix2:/</value>
 					</arg>
 					<arg>
 						<name>okhrefs</name>
@@ -374,7 +374,7 @@
 			<description>Failure when DAV:write-acl not granted</description>
 			<request print-response='no'>
 				<method>ACL</method>
-				<ruri>/calendars/users/user02/</ruri>
+				<ruri>$pathprefix2:/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/4.xml</filepath>
@@ -543,7 +543,7 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user02/visibletouser01/copy1.ics</value>
+					<value>$host:$pathprefix2:/visibletouser01/copy1.ics</value>
 				</header>
 				<ruri>1.ics</ruri>
 				<verify>
@@ -561,7 +561,7 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user02/notvisibletouser01/copy1.ics</value>
+					<value>$host:$pathprefix2:/notvisibletouser01/copy1.ics</value>
 				</header>
 				<ruri>1.ics</ruri>
 				<verify>
@@ -579,7 +579,7 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user02/notvisibletouser01/hidden1.ics</value>
+					<value>$host:$pathprefix2:/notvisibletouser01/hidden1.ics</value>
 				</header>
 				<header>
 					<name>Overwrite</name>
@@ -601,7 +601,7 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user02/writeabletouser01/1.ics</value>
+					<value>$host:$pathprefix2:/writeabletouser01/1.ics</value>
 				</header>
 				<ruri>1.ics</ruri>
 				<verify>
@@ -619,7 +619,7 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user02/writeabletouser01/copy1.ics</value>
+					<value>$host:$pathprefix2:/writeabletouser01/copy1.ics</value>
 				</header>
 				<ruri>1.ics</ruri>
 				<verify>
@@ -637,7 +637,7 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user02/visibletouser01/move2.ics</value>
+					<value>$host:$pathprefix2:/visibletouser01/move2.ics</value>
 				</header>
 				<ruri>2.ics</ruri>
 				<verify>
@@ -655,7 +655,7 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user02/notvisibletouser01/move2.ics</value>
+					<value>$host:$pathprefix2:/notvisibletouser01/move2.ics</value>
 				</header>
 				<ruri>2.ics</ruri>
 				<verify>
@@ -673,7 +673,7 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user02/notvisibletouser01/hidden1.ics</value>
+					<value>$host:$pathprefix2:/notvisibletouser01/hidden1.ics</value>
 				</header>
 				<header>
 					<name>Overwrite</name>
@@ -695,7 +695,7 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user02/writeabletouser01/move2.ics</value>
+					<value>$host:$pathprefix2:/writeabletouser01/move2.ics</value>
 				</header>
 				<ruri>2.ics</ruri>
 				<verify>
@@ -712,13 +712,13 @@
 	<test-suite name='Principal Properties' ignore='no'>
 		<test name='1' ignore='no'>
 			<description>PROPFIND principal VEVENT</description>
-			<request print-response='no' user='admin' pswd='admin'>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
 				<method>PROPFIND</method>
 				<header>
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/principals/users/user01</ruri>
+				<ruri>$principal:</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/15.xml</filepath>
@@ -728,7 +728,7 @@
 					<arg>
 						<name>okprops</name>
 						<value>DAV:alternate-URI-set</value>
-						<value>DAV:principal-URL$&lt;href>/principals/users/user01&lt;/href></value>
+						<value>DAV:principal-URL$&lt;href>$principal:&lt;/href></value>
 						<value>DAV:group-member-set</value>
 						<value>DAV:group-membership</value>
 						<value>DAV:displayname$User 01</value>
@@ -743,7 +743,7 @@
 			<description>Get calendar home collection</description>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user02/</ruri>
+				<ruri>$pathprefix2:/</ruri>
 				<verify>
 					<callback>dataString</callback>
 					<arg>
@@ -757,7 +757,7 @@
 			<description>Get calendar collection</description>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user02/visibletouser01/</ruri>
+				<ruri>$pathprefix2:/visibletouser01/</ruri>
 				<verify>
 					<callback>dataString</callback>
 					<arg>
@@ -782,7 +782,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user02/calreadtoauth/</ruri>
+				<ruri>$pathprefix2:/calreadtoauth/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/1.xml</filepath>
@@ -804,7 +804,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user02/calreadtoauth/1.ics</ruri>
+				<ruri>$pathprefix2:/calreadtoauth/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/1.xml</filepath>
@@ -820,9 +820,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>Set read on collection only</description>
-			<request user="user02" pswd="user02">
+			<request user="$userid2:" pswd="$pswd2:">
 				<method>ACL</method>
-				<ruri>/calendars/users/user02/calreadtoauth/</ruri>
+				<ruri>$pathprefix2:/calreadtoauth/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/19.xml</filepath>
@@ -840,7 +840,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user02/calreadtoauth/</ruri>
+				<ruri>$pathprefix2:/calreadtoauth/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/1.xml</filepath>
@@ -862,7 +862,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user02/calreadtoauth/1.ics</ruri>
+				<ruri>$pathprefix2:/calreadtoauth/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/1.xml</filepath>
@@ -887,7 +887,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user02/colreadtoauth/</ruri>
+				<ruri>$pathprefix2:/colreadtoauth/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/1.xml</filepath>
@@ -909,7 +909,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user02/colreadtoauth/1.ics</ruri>
+				<ruri>$pathprefix2:/colreadtoauth/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/1.xml</filepath>
@@ -925,9 +925,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>Set read on collection only</description>
-			<request user="user02" pswd="user02">
+			<request user="$userid2:" pswd="$pswd2:">
 				<method>ACL</method>
-				<ruri>/calendars/users/user02/colreadtoauth/</ruri>
+				<ruri>$pathprefix2:/colreadtoauth/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/19.xml</filepath>
@@ -945,7 +945,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user02/colreadtoauth/</ruri>
+				<ruri>$pathprefix2:/colreadtoauth/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/1.xml</filepath>
@@ -967,7 +967,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user02/colreadtoauth/1.ics</ruri>
+				<ruri>$pathprefix2:/colreadtoauth/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acls/1.xml</filepath>
@@ -984,25 +984,25 @@
 	</test-suite>
 
 	<end>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETE</method>
-			<ruri>/calendars/users/user02/visibletouser01/</ruri>
+			<ruri>$pathprefix2:/visibletouser01/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETE</method>
-			<ruri>/calendars/users/user02/notvisibletouser01/</ruri>
+			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETE</method>
-			<ruri>/calendars/users/user02/writeabletouser01/</ruri>
+			<ruri>$pathprefix2:/writeabletouser01/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETE</method>
-			<ruri>/calendars/users/user02/calreadtoauth/</ruri>
+			<ruri>$pathprefix2:/calreadtoauth/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETE</method>
-			<ruri>/calendars/users/user02/colreadtoauth/</ruri>
+			<ruri>$pathprefix2:/colreadtoauth/</ruri>
 		</request>
 	</end>
 	

Modified: CalDAVTester/trunk/acldisabled.xml
===================================================================
--- CalDAVTester/trunk/acldisabled.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/acldisabled.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -26,15 +26,15 @@
 	<start>
 		<request>
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user01/collection/</ruri>
+			<ruri>$pathprefix:/collection/</ruri>
 		</request>
 		<request>
 			<method>MKCALENDAR</method>
-			<ruri>/calendars/users/user01/collection/disabled/</ruri>
+			<ruri>$pathprefix:/collection/disabled/</ruri>
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/disabled/1.ics</ruri>
+			<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/delete/1.txt</filepath>
@@ -42,7 +42,7 @@
 		</request>
 		<request>
 			<method>ACL</method>
-			<ruri>/calendars/users/user01/collection/disabled/1.ics</ruri>
+			<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
 			<data>
 				<content-type>text/xml; charset=utf-8</content-type>
 				<filepath>Resource/acldisabled/1.xml</filepath>
@@ -50,11 +50,11 @@
 		</request>
 		<request>
 			<method>MKCALENDAR</method>
-			<ruri>/calendars/users/user01/collection/enabled/</ruri>
+			<ruri>$pathprefix:/collection/enabled/</ruri>
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/enabled/1.ics</ruri>
+			<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/delete/1.txt</filepath>
@@ -62,7 +62,7 @@
 		</request>
 		<request>
 			<method>ACL</method>
-			<ruri>/calendars/users/user01/collection/enabled/1.ics</ruri>
+			<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
 			<data>
 				<content-type>text/xml; charset=utf-8</content-type>
 				<filepath>Resource/acldisabled/1.xml</filepath>
@@ -70,12 +70,12 @@
 		</request>
 	</start>
 	
-	<test-suite name='Read Resource OK' ignore='no'>
+	<test-suite name='Read Resource OK' ignore='yes'>
 		<test name='1' ignore='no'>
 			<description>GET on disabled ics, user01</description>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/disabled/1.ics</ruri>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -83,9 +83,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>GET on disabled ics, user02</description>
-			<request print-response='no' user='user02' pswd='user02'>
+			<request print-response='no' user='$userid2:' pswd="$pswd2:">
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/disabled/1.ics</ruri>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -93,9 +93,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>GET on disabled ics, admin</description>
-			<request print-response='no' user='admin' pswd='admin'>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/disabled/1.ics</ruri>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -105,7 +105,7 @@
 			<description>GET on enabled ics, user01</description>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/enabled/1.ics</ruri>
+				<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -113,7 +113,7 @@
 		</test>
 	</test-suite>
 	
-	<test-suite name='PROPFIND OK' ignore='no'>
+	<test-suite name='PROPFIND OK' ignore='yes'>
 		<test name='1' ignore='no'>
 			<description>PROPFIND on collection, depth infinity</description>
 			<request print-response='no'>
@@ -122,7 +122,7 @@
 					<name>Depth</name>
 					<value>infinity</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/</ruri>
+				<ruri>$pathprefix:/collection/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acldisabled/2.xml</filepath>
@@ -131,7 +131,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>prefix</name>
-						<value>/calendars/users/user01/collection/</value>
+						<value>$pathprefix:/collection/</value>
 					</arg>
 					<arg>
 						<name>okhrefs</name>
@@ -152,7 +152,7 @@
 					<name>Depth</name>
 					<value>infinity</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/disabled/</ruri>
+				<ruri>$pathprefix:/collection/disabled/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acldisabled/2.xml</filepath>
@@ -161,7 +161,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>prefix</name>
-						<value>/calendars/users/user01/collection/disabled/</value>
+						<value>$pathprefix:/collection/disabled/</value>
 					</arg>
 					<arg>
 						<name>okhrefs</name>
@@ -178,7 +178,7 @@
 			<description>Disable access</description>
 			<request>
 				<method>ACCESS-DISABLE</method>
-				<ruri>/calendars/users/user01/collection/disabled</ruri>
+				<ruri>$pathprefix:/collection/disabled</ruri>
 			</request>
 		</test>
 	</test-suite>
@@ -188,7 +188,7 @@
 			<description>GET on ics, user01</description>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/disabled/1.ics</ruri>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -200,9 +200,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>GET on ics, user02</description>
-			<request print-response='no' user='user02' pswd='user02'>
+			<request print-response='no' user='$userid2:' pswd="$pswd2:">
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/disabled/1.ics</ruri>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -214,9 +214,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>GET on ics, admin</description>
-			<request print-response='no' user='admin' pswd='admin'>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/disabled/1.ics</ruri>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -230,7 +230,7 @@
 			<description>GET on enabled ics, user01</description>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/enabled/1.ics</ruri>
+				<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -247,7 +247,7 @@
 					<name>Depth</name>
 					<value>infinity</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/</ruri>
+				<ruri>$pathprefix:/collection/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acldisabled/2.xml</filepath>
@@ -256,7 +256,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>prefix</name>
-						<value>/calendars/users/user01/collection/</value>
+						<value>$pathprefix:/collection/</value>
 					</arg>
 					<arg>
 						<name>okhrefs</name>
@@ -275,7 +275,7 @@
 					<name>Depth</name>
 					<value>infinity</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/disabled/</ruri>
+				<ruri>$pathprefix:/collection/disabled/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/acldisabled/2.xml</filepath>
@@ -296,7 +296,7 @@
 			<description>DELETE on ics, user01</description>
 			<request print-response='no'>
 				<method>DELETE</method>
-				<ruri>/calendars/users/user01/collection/disabled/1.ics</ruri>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -310,14 +310,14 @@
 			<description>Enable access</description>
 			<request>
 				<method>ACCESS-ENABLE</method>
-				<ruri>/calendars/users/user01/collection/disabled</ruri>
+				<ruri>$pathprefix:/collection/disabled</ruri>
 			</request>
 		</test>
 		<test name='3' ignore='no'>
 			<description>DELETE on ics, user01</description>
 			<request print-response='no'>
 				<method>DELETE</method>
-				<ruri>/calendars/users/user01/collection/disabled/1.ics</ruri>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -328,7 +328,7 @@
 	<end>
 		<request>
 			<method>DELETE</method>
-			<ruri>/calendars/users/user01/collection/</ruri>
+			<ruri>$pathprefix:/collection/</ruri>
 		</request>
 	</end>
 	

Modified: CalDAVTester/trunk/aclreports.xml
===================================================================
--- CalDAVTester/trunk/aclreports.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/aclreports.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -155,7 +155,7 @@
 			<description>No DAV:read-acl privilege</description>
 			<request print-response='no'>
 				<method>REPORT</method>
-				<ruri>/calendars/users/user02/</ruri>
+				<ruri>$pathprefix2:/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/aclreports/1.xml</filepath>
@@ -186,11 +186,11 @@
 					</arg>
 					<arg>
 						<name>okhrefs</name>
-						<value>user01</value>
+						<value>$userid1:</value>
 					</arg>
 					<arg>
 						<name>badhrefs</name>
-						<value>admin</value>
+						<value>$useradmin:</value>
 					</arg>
 				</verify>
 			</request>
@@ -273,7 +273,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>user01</value>
+						<value>$userid1:</value>
 					</arg>
 				</verify>
 			</request>
@@ -291,7 +291,7 @@
 					<callback>multistatusItems</callback>
 					<arg>
 						<name>okhrefs</name>
-						<value>user01</value>
+						<value>$userid1:</value>
 					</arg>
 				</verify>
 			</request>
@@ -300,7 +300,7 @@
 			<description>Valid principal-search report with DAV:prop</description>
 			<request print-response='no'>
 				<method>REPORT</method>
-				<ruri>/calendars/users/user01/calendar/</ruri>
+				<ruri>$pathprefix:/calendar/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/aclreports/7.xml</filepath>
@@ -318,7 +318,7 @@
 			<description>Valid principal-search report without DAV:prop</description>
 			<request print-response='no'>
 				<method>REPORT</method>
-				<ruri>/calendars/users/user01/calendar/</ruri>
+				<ruri>$pathprefix:/calendar/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/aclreports/8.xml</filepath>
@@ -334,9 +334,9 @@
 		</test>
 		<test name='8' ignore='no'>
 			<description>principal-search with inaccessible property</description>
-			<request print-response='no' user='user02' pswd='user02'>
+			<request print-response='no' user='$userid2:' pswd='$pswd2:'>
 				<method>REPORT</method>
-				<ruri>/calendars/users/user01/</ruri>
+				<ruri>$pathprefix:/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/aclreports/11.xml</filepath>
@@ -395,7 +395,7 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>Valid non-apply-to report with DAV:prop</description>
-			<request print-response='no' user='admin' pswd='admin'>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
 				<method>REPORT</method>
 				<ruri>/principals/users/</ruri>
 				<data>
@@ -408,14 +408,14 @@
 						<name>okhrefs</name>
 						<value>public01</value>
 						<value>resource01</value>
-						<value>user01</value>
+						<value>$userid1:</value>
 					</arg>
 				</verify>
 			</request>
 		</test>
 		<test name='4' ignore='no'>
 			<description>Valid non-apply-to report without DAV:prop</description>
-			<request print-response='no' user='admin' pswd='admin'>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
 				<method>REPORT</method>
 				<ruri>/principals/users/</ruri>
 				<data>
@@ -435,7 +435,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>Valid apply-to report with DAV:prop</description>
-			<request print-response='no' user='admin' pswd='admin'>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
 				<method>REPORT</method>
 				<ruri>1.ics</ruri>
 				<data>
@@ -452,14 +452,14 @@
 						<name>okhrefs</name>
 						<value>public01</value>
 						<value>resource01</value>
-						<value>user01</value>
+						<value>$userid1:</value>
 					</arg>
 				</verify>
 			</request>
 		</test>
 		<test name='6' ignore='no'>
 			<description>Valid non-apply-to report without DAV:prop</description>
-			<request print-response='no' user='admin' pswd='admin'>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
 				<method>REPORT</method>
 				<ruri>1.ics</ruri>
 				<data>
@@ -532,7 +532,7 @@
 			<description>Report on non-principal collection</description>
 			<request print-response='no'>
 				<method>REPORT</method>
-				<ruri>/calendars/users/user01/</ruri>
+				<ruri>$pathprefix:/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/aclreports/16.xml</filepath>

Modified: CalDAVTester/trunk/copymove.xml
===================================================================
--- CalDAVTester/trunk/copymove.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/copymove.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -106,7 +106,7 @@
 	<test-suite name='COPY'>
 		<test name='1' ignore='no'>
 			<description>COPY within same calendar to new resource</description>
-			<request>
+			<request print-response="no">
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
@@ -118,6 +118,7 @@
 					<arg>
 						<name>status</name>
 						<value>403</value>
+						<value>409</value>
 					</arg>
 				</verify>
 			</request>
@@ -140,6 +141,7 @@
 					<arg>
 						<name>status</name>
 						<value>403</value>
+						<value>409</value>
 					</arg>
 				</verify>
 			</request>
@@ -162,13 +164,14 @@
 					<arg>
 						<name>status</name>
 						<value>403</value>
+						<value>409</value>
 					</arg>
 				</verify>
 			</request>
 		</test>
 		<test name='4'>
 			<description>COPY to different calendar, new resource</description>
-			<request>
+			<request print-response="no">
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
@@ -198,6 +201,7 @@
 					<arg>
 						<name>status</name>
 						<value>403</value>
+						<value>409</value>
 					</arg>
 				</verify>
 			</request>
@@ -242,6 +246,7 @@
 					<arg>
 						<name>status</name>
 						<value>403</value>
+						<value>409</value>
 					</arg>
 				</verify>
 			</request>
@@ -329,6 +334,7 @@
 					<arg>
 						<name>status</name>
 						<value>403</value>
+						<value>409</value>
 					</arg>
 				</verify>
 			</request>

Modified: CalDAVTester/trunk/delete.xml
===================================================================
--- CalDAVTester/trunk/delete.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/delete.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -25,7 +25,7 @@
 	of server indexing</description>
 
 	<start>
-		<request end-delete="yes">
+		<request end-delete="yes" print-response="yes">
 			<method>PUT</method>
 			<ruri>1.ics</ruri>
 			<data>

Modified: CalDAVTester/trunk/depthreportsacl.xml
===================================================================
--- CalDAVTester/trunk/depthreportsacl.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/depthreportsacl.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -222,7 +222,7 @@
 	<test-suite name='Reports' ignore='no'>
 		<test name='1' ignore='no'>
 			<description>multiget on top collection</description>
-			<request user='user02' pswd='user02' print-response='no'>
+			<request user='$userid2:' pswd='$pswd2:' print-response='no'>
 				<method>REPORT</method>
 				<header>
 					<name>Depth</name>
@@ -255,7 +255,7 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>query on top collection</description>
-			<request user='user02' pswd='user02' print-response='no'>
+			<request user='$userid2:' pswd='$pswd2:' print-response='no'>
 				<method>REPORT</method>
 				<header>
 					<name>Depth</name>
@@ -277,7 +277,7 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>query for free busy on collection with Depth infinity</description>
-			<request user='user02' pswd='user02' print-response='no'>
+			<request user='$userid2:' pswd='$pswd2:' print-response='no'>
 				<method>REPORT</method>
 				<header>
 					<name>Depth</name>

Modified: CalDAVTester/trunk/encodedURIs.xml
===================================================================
--- CalDAVTester/trunk/encodedURIs.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/encodedURIs.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -24,15 +24,15 @@
 	<start>
 		<request end-delete='yes'>
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user01/collection%201/</ruri>
+			<ruri>$pathprefix:/collection%201/</ruri>
 		</request>
 		<request end-delete='yes'>
 			<method>MKCALENDAR</method>
-			<ruri>/calendars/users/user01/calendar%202/</ruri>
+			<ruri>$pathprefix:/calendar%202/</ruri>
 		</request>
 		<request end-delete='yes'>
 			<method>MKCALENDAR</method>
-			<ruri>/calendars/users/user01/calendar%203/</ruri>
+			<ruri>$pathprefix:/calendar%203/</ruri>
 		</request>
 	</start>
 
@@ -41,7 +41,7 @@
 			<description>PUT</description>
 			<request print-response='no' end-delete='yes'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection%201/2%20a.ics</ruri>
+				<ruri>$pathprefix:/collection%201/2%20a.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/recurrenceput/2.txt</filepath>
@@ -65,9 +65,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user01/collection%201/2_2%20a.ics</value>
+					<value>$host:$pathprefix:/collection%201/2_2%20a.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection%201/2%20a.ics</ruri>
+				<ruri>$pathprefix:/collection%201/2%20a.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -75,7 +75,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$$host:/calendars/users/user01/collection%201/2_2%20a.ics</value>
+						<value>Location$$host:$pathprefix:/collection%201/2_2%20a.ics</value>
 					</arg>
 				</verify>
 			</request>
@@ -85,7 +85,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection%201/2_2%20a.ics</ruri>
+				<ruri>$pathprefix:/collection%201/2_2%20a.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/propfinds/1.txt</filepath>
@@ -101,7 +101,7 @@
 					</arg>
 					<arg>
 						<name>okhrefs</name>
-						<value>/calendars/users/user01/collection%201/2_2%20a.ics</value>
+						<value>$pathprefix:/collection%201/2_2%20a.ics</value>
 					</arg>
 				</verify>
 			</request>
@@ -112,9 +112,9 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user01/collection%201/2_3%20a.ics</value>
+					<value>$host:$pathprefix:/collection%201/2_3%20a.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection%201/2%20a.ics</ruri>
+				<ruri>$pathprefix:/collection%201/2%20a.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -122,7 +122,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$$host:/calendars/users/user01/collection%201/2_3%20a.ics</value>
+						<value>Location$$host:$pathprefix:/collection%201/2_3%20a.ics</value>
 					</arg>
 				</verify>
 			</request>
@@ -132,7 +132,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection%201/2_2%20a.ics</ruri>
+				<ruri>$pathprefix:/collection%201/2_2%20a.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/propfinds/1.txt</filepath>
@@ -148,7 +148,7 @@
 					</arg>
 					<arg>
 						<name>okhrefs</name>
-						<value>/calendars/users/user01/collection%201/2_2%20a.ics</value>
+						<value>$pathprefix:/collection%201/2_2%20a.ics</value>
 					</arg>
 				</verify>
 			</request>
@@ -183,7 +183,7 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user01/calendar%202/2_2%20a.ics</value>
+					<value>$host:$pathprefix:/calendar%202/2_2%20a.ics</value>
 				</header>
 				<ruri>2%20a.ics</ruri>
 				<verify>
@@ -193,7 +193,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$$host:/calendars/users/user01/calendar%202/2_2%20a.ics</value>
+						<value>Location$$host:$pathprefix:/calendar%202/2_2%20a.ics</value>
 					</arg>
 				</verify>
 			</request>
@@ -203,7 +203,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/calendar%202/2_2%20a.ics</ruri>
+				<ruri>$pathprefix:/calendar%202/2_2%20a.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/propfinds/1.txt</filepath>
@@ -219,7 +219,7 @@
 					</arg>
 					<arg>
 						<name>okhrefs</name>
-						<value>/calendars/users/user01/calendar%202/2_2%20a.ics</value>
+						<value>$pathprefix:/calendar%202/2_2%20a.ics</value>
 					</arg>
 				</verify>
 			</request>
@@ -230,7 +230,7 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>$host:/calendars/users/user01/calendar%203/2_3%20a.ics</value>
+					<value>$host:$pathprefix:/calendar%203/2_3%20a.ics</value>
 				</header>
 				<ruri>2%20a.ics</ruri>
 				<verify>
@@ -240,7 +240,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$$host:/calendars/users/user01/calendar%203/2_3%20a.ics</value>
+						<value>Location$$host:$pathprefix:/calendar%203/2_3%20a.ics</value>
 					</arg>
 				</verify>
 			</request>
@@ -250,7 +250,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/calendar%203/2_3%20a.ics</ruri>
+				<ruri>$pathprefix:/calendar%203/2_3%20a.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/propfinds/1.txt</filepath>
@@ -266,7 +266,7 @@
 					</arg>
 					<arg>
 						<name>okhrefs</name>
-						<value>/calendars/users/user01/calendar%203/2_3%20a.ics</value>
+						<value>$pathprefix:/calendar%203/2_3%20a.ics</value>
 					</arg>
 				</verify>
 			</request>

Modified: CalDAVTester/trunk/quota.xml
===================================================================
--- CalDAVTester/trunk/quota.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/quota.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -26,15 +26,15 @@
 	<start>
 		<request>
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user01/collection/</ruri>
+			<ruri>$pathprefix:/collection/</ruri>
 		</request>
 		<request>
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user01/collection/temp/</ruri>
+			<ruri>$pathprefix:/collection/temp/</ruri>
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/temp/1.ics</ruri>
+			<ruri>$pathprefix:/collection/temp/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/1.ics</filepath>
@@ -42,7 +42,7 @@
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/temp/2.ics</ruri>
+			<ruri>$pathprefix:/collection/temp/2.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/2.ics</filepath>
@@ -50,7 +50,7 @@
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/temp/3.ics</ruri>
+			<ruri>$pathprefix:/collection/temp/3.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/3.ics</filepath>
@@ -58,7 +58,7 @@
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/temp/4.ics</ruri>
+			<ruri>$pathprefix:/collection/temp/4.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/4.ics</filepath>
@@ -66,7 +66,7 @@
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/temp/5.ics</ruri>
+			<ruri>$pathprefix:/collection/temp/5.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/5.ics</filepath>
@@ -74,7 +74,7 @@
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/temp/6.ics</ruri>
+			<ruri>$pathprefix:/collection/temp/6.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/6.ics</filepath>
@@ -82,11 +82,11 @@
 		</request>
 		<request>
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user01/collection/noquotacol/</ruri>
+			<ruri>$pathprefix:/collection/noquotacol/</ruri>
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/noquotacol/1.ics</ruri>
+			<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/1.ics</filepath>
@@ -94,15 +94,15 @@
 		</request>
 		<request>
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user01/collection/quotacol/</ruri>
+			<ruri>$pathprefix:/collection/quotacol/</ruri>
 		</request>
 		<request>
 			<method>QUOTA-ENABLE-2048</method>
-			<ruri>/calendars/users/user01/collection/quotacol/</ruri>
+			<ruri>$pathprefix:/collection/quotacol/</ruri>
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/quotacol/1.ics</ruri>
+			<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/1.ics</filepath>
@@ -110,11 +110,11 @@
 		</request>
 		<request>
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user01/collection/quotacol/temp/</ruri>
+			<ruri>$pathprefix:/collection/quotacol/temp/</ruri>
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/quotacol/temp/1.ics</ruri>
+			<ruri>$pathprefix:/collection/quotacol/temp/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/1.ics</filepath>
@@ -122,7 +122,7 @@
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/quotacol/temp/2.ics</ruri>
+			<ruri>$pathprefix:/collection/quotacol/temp/2.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/2.ics</filepath>
@@ -130,43 +130,43 @@
 		</request>
 		<request>
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+			<ruri>$pathprefix:/collection/largequotacol/</ruri>
 		</request>
 		<request>
 			<method>QUOTA-ENABLE-1048576</method><!-- 1Mb -->
-			<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+			<ruri>$pathprefix:/collection/largequotacol/</ruri>
 		</request>
 		<request>
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user01/collection/parentquotacol/</ruri>
+			<ruri>$pathprefix:/collection/parentquotacol/</ruri>
 		</request>
 		<request>
 			<method>QUOTA-ENABLE-4096</method><!-- 4Kb -->
-			<ruri>/calendars/users/user01/collection/parentquotacol/</ruri>
+			<ruri>$pathprefix:/collection/parentquotacol/</ruri>
 		</request>
 		<request>
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/</ruri>
+			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
 		</request>
 		<request>
 			<method>QUOTA-ENABLE-2048</method><!-- 2Kb -->
-			<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/</ruri>
+			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
 		</request>
 		<request>
 			<method>MKCOL</method>
-			<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol2/</ruri>
+			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
 		</request>
 		<request>
 			<method>QUOTA-ENABLE-1048576</method><!-- 1Mb -->
-			<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol2/</ruri>
+			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
 		</request>
 		<request>
 			<method>MKCALENDAR</method>
-			<ruri>/calendars/users/user01/collection/noquotacal/</ruri>
+			<ruri>$pathprefix:/collection/noquotacal/</ruri>
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/noquotacal/1.ics</ruri>
+			<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/1.ics</filepath>
@@ -174,15 +174,15 @@
 		</request>
 		<request>
 			<method>MKCALENDAR</method>
-			<ruri>/calendars/users/user01/collection/quotacal/</ruri>
+			<ruri>$pathprefix:/collection/quotacal/</ruri>
 		</request>
 		<request>
 			<method>QUOTA-ENABLE-2048</method>
-			<ruri>/calendars/users/user01/collection/quotacal/</ruri>
+			<ruri>$pathprefix:/collection/quotacal/</ruri>
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/collection/quotacal/1.ics</ruri>
+			<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/1.ics</filepath>
@@ -190,15 +190,15 @@
 		</request>
 		<request>
 			<method>MKCALENDAR</method>
-			<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+			<ruri>$pathprefix:/collection/largequotacal/</ruri>
 		</request>
 		<request>
 			<method>QUOTA-ENABLE-1048576</method><!-- 1Mb -->
-			<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+			<ruri>$pathprefix:/collection/largequotacal/</ruri>
 		</request>
 		<request>
 			<method>PUT</method>
-			<ruri>/calendars/users/user01/calendar/2.ics</ruri>
+			<ruri>$pathprefix:/calendar/2.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/quota/2.ics</filepath>
@@ -215,7 +215,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacol/</ruri>
+				<ruri>$pathprefix:/collection/noquotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.xml</filepath>
@@ -238,7 +238,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacol/</ruri>
+				<ruri>$pathprefix:/collection/quotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.xml</filepath>
@@ -261,7 +261,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacol/</ruri>
+				<ruri>$pathprefix:/collection/noquotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.xml</filepath>
@@ -284,7 +284,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacol/</ruri>
+				<ruri>$pathprefix:/collection/quotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.xml</filepath>
@@ -307,7 +307,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacol/</ruri>
+				<ruri>$pathprefix:/collection/noquotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -334,7 +334,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacol/</ruri>
+				<ruri>$pathprefix:/collection/quotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -361,7 +361,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.xml</filepath>
@@ -384,7 +384,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.xml</filepath>
@@ -407,7 +407,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.xml</filepath>
@@ -430,7 +430,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.xml</filepath>
@@ -453,7 +453,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -480,7 +480,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -507,7 +507,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacal/</ruri>
+				<ruri>$pathprefix:/collection/noquotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.xml</filepath>
@@ -530,7 +530,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacal/</ruri>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.xml</filepath>
@@ -553,7 +553,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacal/</ruri>
+				<ruri>$pathprefix:/collection/noquotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.xml</filepath>
@@ -576,7 +576,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacal/</ruri>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.xml</filepath>
@@ -599,7 +599,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacal/</ruri>
+				<ruri>$pathprefix:/collection/noquotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -626,7 +626,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacal/</ruri>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -653,7 +653,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.xml</filepath>
@@ -676,7 +676,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.xml</filepath>
@@ -699,7 +699,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.xml</filepath>
@@ -722,7 +722,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.xml</filepath>
@@ -745,7 +745,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/noquotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -772,7 +772,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -795,7 +795,7 @@
 			<description>over quota on quota collection with new resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/quotacol/2.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/2.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.ics</filepath>
@@ -810,7 +810,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/2.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/2.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -824,7 +824,7 @@
 			<description>over quota on quota collection with existing resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/quotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.ics</filepath>
@@ -839,7 +839,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -860,7 +860,7 @@
 			<description>over quota on quota sub-collection with new resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/quotacol/temp/3.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/temp/3.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.ics</filepath>
@@ -875,7 +875,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/temp/3.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/temp/3.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -889,7 +889,7 @@
 			<description>over quota on quota sub-collection with existing resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/quotacol/temp/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/temp/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.ics</filepath>
@@ -904,7 +904,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/temp/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/temp/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -928,7 +928,7 @@
 			<description>over quota on quota calendar with new resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/quotacal/4.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacal/4.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/4.ics</filepath>
@@ -943,7 +943,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacal/4.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacal/4.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -957,7 +957,7 @@
 			<description>over quota on quota calendar with existing resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/quotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/6.ics</filepath>
@@ -972,7 +972,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -998,9 +998,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/quotacol/2.ics</value>
+					<value>$pathprefix:/collection/quotacol/2.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/2.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1011,7 +1011,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/2.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/2.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1022,7 +1022,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/temp/2.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1034,9 +1034,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/quotacol/1.ics</value>
+					<value>$pathprefix:/collection/quotacol/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/3.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1047,7 +1047,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1065,7 +1065,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/temp/2.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1077,13 +1077,13 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/quotacol/test/</value>
+					<value>$pathprefix:/collection/quotacol/test/</value>
 				</header>
 				<header>
 					<name>Depth</name>
 					<value>infinity</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/</ruri>
+				<ruri>$pathprefix:/collection/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1094,7 +1094,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/test/</ruri>
+				<ruri>$pathprefix:/collection/quotacol/test/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1105,7 +1105,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/temp/</ruri>
+				<ruri>$pathprefix:/collection/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1120,9 +1120,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/quotacal/4.ics</value>
+					<value>$pathprefix:/collection/quotacal/4.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/4.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/4.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1133,7 +1133,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/4.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/4.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1144,7 +1144,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/temp/4.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/4.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1155,7 +1155,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacal/</ruri>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1177,9 +1177,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/quotacal/1.ics</value>
+					<value>$pathprefix:/collection/quotacal/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/6.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/6.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1190,7 +1190,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1208,7 +1208,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/temp/6.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/6.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1219,7 +1219,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacal/</ruri>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1241,13 +1241,13 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/quotacal/test/</value>
+					<value>$pathprefix:/collection/quotacal/test/</value>
 				</header>
 				<header>
 					<name>Depth</name>
 					<value>infinity</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/</ruri>
+				<ruri>$pathprefix:/collection/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1258,7 +1258,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacal/test/</ruri>
+				<ruri>$pathprefix:/collection/quotacal/test/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1269,7 +1269,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/temp/</ruri>
+				<ruri>$pathprefix:/collection/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1280,7 +1280,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/quotacal/</ruri>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1305,13 +1305,13 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/quotacol/test/</value>
+					<value>$pathprefix:/collection/quotacol/test/</value>
 				</header>
 				<header>
 					<name>Depth</name>
 					<value>infinity</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/</ruri>
+				<ruri>$pathprefix:/collection/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1322,7 +1322,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/test/</ruri>
+				<ruri>$pathprefix:/collection/quotacol/test/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1333,7 +1333,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/temp/</ruri>
+				<ruri>$pathprefix:/collection/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1345,13 +1345,13 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/quotacol/temp/</value>
+					<value>$pathprefix:/collection/quotacol/temp/</value>
 				</header>
 				<header>
 					<name>Depth</name>
 					<value>infinity</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/</ruri>
+				<ruri>$pathprefix:/collection/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1362,14 +1362,14 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/temp/</ruri>
+				<ruri>$pathprefix:/collection/quotacol/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/temp/3.ics</ruri>
+				<ruri>$pathprefix:/collection/quotacol/temp/3.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1385,13 +1385,13 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/quotacol/temp/test/</value>
+					<value>$pathprefix:/collection/quotacol/temp/test/</value>
 				</header>
 				<header>
 					<name>Depth</name>
 					<value>infinity</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/</ruri>
+				<ruri>$pathprefix:/collection/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1402,7 +1402,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/quotacol/temp/test/</ruri>
+				<ruri>$pathprefix:/collection/quotacol/temp/test/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -1413,7 +1413,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/temp/</ruri>
+				<ruri>$pathprefix:/collection/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1430,7 +1430,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1450,7 +1450,7 @@
 			<description>PUT new resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/largequotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.ics</filepath>
@@ -1465,7 +1465,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1485,7 +1485,7 @@
 			<description>PUT existing resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/largequotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.ics</filepath>
@@ -1500,7 +1500,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1520,7 +1520,7 @@
 			<description>DELETE existing resource</description>
 			<request print-response='no'>
 				<method>DELETE</method>
-				<ruri>/calendars/users/user01/collection/largequotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1531,7 +1531,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1553,9 +1553,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/largequotacol/1.ics</value>
+					<value>$pathprefix:/collection/largequotacol/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/1.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1566,7 +1566,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1588,9 +1588,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/largequotacol/1.ics</value>
+					<value>$pathprefix:/collection/largequotacol/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/3.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1601,7 +1601,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1621,7 +1621,7 @@
 			<description>DELETE existing resource</description>
 			<request print-response='no'>
 				<method>DELETE</method>
-				<ruri>/calendars/users/user01/collection/largequotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1632,7 +1632,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1654,9 +1654,9 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/largequotacol/1.ics</value>
+					<value>$pathprefix:/collection/largequotacol/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/1.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1667,7 +1667,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1689,9 +1689,9 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/largequotacol/1.ics</value>
+					<value>$pathprefix:/collection/largequotacol/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/3.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1702,7 +1702,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1722,7 +1722,7 @@
 			<description>DELETE existing resource</description>
 			<request print-response='no'>
 				<method>DELETE</method>
-				<ruri>/calendars/users/user01/collection/largequotacol/1.ics</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1733,7 +1733,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1760,7 +1760,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1778,7 +1778,7 @@
 			<!-- Make sure we have the source collection files in place -->
 			<request>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/temp/1.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.ics</filepath>
@@ -1786,7 +1786,7 @@
 			</request>
 			<request>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/temp/2.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.ics</filepath>
@@ -1794,7 +1794,7 @@
 			</request>
 			<request>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/temp/3.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.ics</filepath>
@@ -1805,7 +1805,7 @@
 			<description>PUT new resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/largequotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.ics</filepath>
@@ -1820,7 +1820,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1840,7 +1840,7 @@
 			<description>PUT existing resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/largequotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.ics</filepath>
@@ -1855,7 +1855,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1875,7 +1875,7 @@
 			<description>DELETE existing resource</description>
 			<request print-response='no'>
 				<method>DELETE</method>
-				<ruri>/calendars/users/user01/collection/largequotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1886,7 +1886,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1908,9 +1908,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/largequotacal/1.ics</value>
+					<value>$pathprefix:/collection/largequotacal/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/1.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1921,7 +1921,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1943,9 +1943,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/largequotacal/1.ics</value>
+					<value>$pathprefix:/collection/largequotacal/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/3.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1956,7 +1956,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -1976,7 +1976,7 @@
 			<description>DELETE existing resource</description>
 			<request print-response='no'>
 				<method>DELETE</method>
-				<ruri>/calendars/users/user01/collection/largequotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -1987,7 +1987,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2009,9 +2009,9 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/largequotacal/1.ics</value>
+					<value>$pathprefix:/collection/largequotacal/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/1.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -2022,7 +2022,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2044,9 +2044,9 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/largequotacal/1.ics</value>
+					<value>$pathprefix:/collection/largequotacal/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/3.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -2057,7 +2057,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2077,7 +2077,7 @@
 			<description>DELETE existing resource</description>
 			<request print-response='no'>
 				<method>DELETE</method>
-				<ruri>/calendars/users/user01/collection/largequotacal/1.ics</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -2088,7 +2088,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacal/</ruri>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2115,7 +2115,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2133,7 +2133,7 @@
 			<!-- Make sure we have the source collection files in place -->
 			<request>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/temp/1.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.ics</filepath>
@@ -2141,7 +2141,7 @@
 			</request>
 			<request>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/temp/2.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.ics</filepath>
@@ -2149,7 +2149,7 @@
 			</request>
 			<request>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/temp/3.ics</ruri>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.ics</filepath>
@@ -2162,9 +2162,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/largequotacol/test/</value>
+					<value>$pathprefix:/collection/largequotacol/test/</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/</ruri>
+				<ruri>$pathprefix:/collection/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -2175,7 +2175,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2195,7 +2195,7 @@
 			<description>DELETE existing collection</description>
 			<request print-response='no'>
 				<method>DELETE</method>
-				<ruri>/calendars/users/user01/collection/largequotacol/test/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/test/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -2206,7 +2206,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2228,9 +2228,9 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/collection/largequotacol/test/</value>
+					<value>$pathprefix:/collection/largequotacol/test/</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/temp/</ruri>
+				<ruri>$pathprefix:/collection/temp/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -2241,7 +2241,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2261,7 +2261,7 @@
 			<description>DELETE existing resource</description>
 			<request print-response='no'>
 				<method>DELETE</method>
-				<ruri>/calendars/users/user01/collection/largequotacol/test/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/test/</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -2272,7 +2272,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/largequotacol/</ruri>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2299,7 +2299,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2320,7 +2320,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2341,7 +2341,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol2/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2361,7 +2361,7 @@
 			<description>PUT small resource below nested and below parent quota</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/1.ics</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/1.ics</filepath>
@@ -2376,7 +2376,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2397,7 +2397,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2418,7 +2418,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol2/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2438,7 +2438,7 @@
 			<description>PUT smallish resource above nested but below parent quota</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/4.ics</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/4.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/4.ics</filepath>
@@ -2453,7 +2453,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/4.ics</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/4.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -2468,7 +2468,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2489,7 +2489,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2510,7 +2510,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol2/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2530,7 +2530,7 @@
 			<description>PUT smallish resource below nested (2) and below parent quota</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol2/4.ics</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/4.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/4.ics</filepath>
@@ -2545,7 +2545,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2566,7 +2566,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2587,7 +2587,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol2/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2607,7 +2607,7 @@
 			<description>PUT small resource below nested but above parent quota</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/2.ics</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/2.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/2.ics</filepath>
@@ -2622,7 +2622,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2643,7 +2643,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2664,7 +2664,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol2/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2684,7 +2684,7 @@
 			<description>PUT large resource below nested (2) but above parent quota</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol2/5.ics</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/5.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/5.ics</filepath>
@@ -2699,7 +2699,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2720,7 +2720,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol1/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2741,7 +2741,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/parentquotacol/nestedquotacol2/</ruri>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/quota/3.xml</filepath>
@@ -2764,7 +2764,7 @@
 			<description>PUT new oversized resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/calendar/1.ics</ruri>
+				<ruri>$pathprefix:/calendar/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/7.ics</filepath>
@@ -2779,7 +2779,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/calendar/1.ics</ruri>
+				<ruri>$pathprefix:/calendar/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -2793,7 +2793,7 @@
 			<description>PUT existing oversized resource</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/calendar/2.ics</ruri>
+				<ruri>$pathprefix:/calendar/2.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/7.ics</filepath>
@@ -2808,7 +2808,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/calendar/2.ics</ruri>
+				<ruri>$pathprefix:/calendar/2.ics</ruri>
 				<verify>
 					<callback>dataString</callback>
 					<arg>
@@ -2822,7 +2822,7 @@
 			<description>PUT new oversized resource to regular collection</description>
 			<request print-response='no'>
 				<method>PUT</method>
-				<ruri>/calendars/users/user01/collection/1.ics</ruri>
+				<ruri>$pathprefix:/collection/1.ics</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/quota/7.ics</filepath>
@@ -2838,9 +2838,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/calendar/1.ics</value>
+					<value>$pathprefix:/calendar/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/1.ics</ruri>
+				<ruri>$pathprefix:/collection/1.ics</ruri>
 				<verify>
 					<callback>prepostcondition</callback>
 					<arg>
@@ -2851,7 +2851,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/calendar/1.ics</ruri>
+				<ruri>$pathprefix:/calendar/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -2867,9 +2867,9 @@
 				<method>COPY</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/calendar/2.ics</value>
+					<value>$pathprefix:/calendar/2.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/1.ics</ruri>
+				<ruri>$pathprefix:/collection/1.ics</ruri>
 				<verify>
 					<callback>prepostcondition</callback>
 					<arg>
@@ -2880,7 +2880,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/calendar/2.ics</ruri>
+				<ruri>$pathprefix:/calendar/2.ics</ruri>
 				<verify>
 					<callback>dataString</callback>
 					<arg>
@@ -2896,9 +2896,9 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/calendar/1.ics</value>
+					<value>$pathprefix:/calendar/1.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/1.ics</ruri>
+				<ruri>$pathprefix:/collection/1.ics</ruri>
 				<verify>
 					<callback>prepostcondition</callback>
 					<arg>
@@ -2909,7 +2909,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/calendar/1.ics</ruri>
+				<ruri>$pathprefix:/calendar/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 					<arg>
@@ -2920,7 +2920,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/1.ics</ruri>
+				<ruri>$pathprefix:/collection/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -2932,9 +2932,9 @@
 				<method>MOVE</method>
 				<header>
 					<name>Destination</name>
-					<value>/calendars/users/user01/calendar/2.ics</value>
+					<value>$pathprefix:/calendar/2.ics</value>
 				</header>
-				<ruri>/calendars/users/user01/collection/1.ics</ruri>
+				<ruri>$pathprefix:/collection/1.ics</ruri>
 				<verify>
 					<callback>prepostcondition</callback>
 					<arg>
@@ -2945,7 +2945,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/calendar/2.ics</ruri>
+				<ruri>$pathprefix:/calendar/2.ics</ruri>
 				<verify>
 					<callback>dataString</callback>
 					<arg>
@@ -2956,7 +2956,7 @@
 			</request>
 			<request print-response='no'>
 				<method>GET</method>
-				<ruri>/calendars/users/user01/collection/1.ics</ruri>
+				<ruri>$pathprefix:/collection/1.ics</ruri>
 				<verify>
 					<callback>statusCode</callback>
 				</verify>
@@ -2967,7 +2967,7 @@
 	<end>
 		<request>
 			<method>DELETE</method>
-			<ruri>/calendars/users/user01/collection/</ruri>
+			<ruri>$pathprefix:/collection/</ruri>
 		</request>
 	</end>
 	

Modified: CalDAVTester/trunk/schedule.xml
===================================================================
--- CalDAVTester/trunk/schedule.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/schedule.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -24,69 +24,69 @@
 	<description>Test SCHEDULE method in CalDAV</description>
 
 	<start>
-		<request user="user02" pswd="user02" end-delete="yes">
+		<request user="$userid2:" pswd="$pswd2:" end-delete="yes">
 			<method>PUT</method>
-			<ruri>/calendars/users/user02/calendar/1.ics</ruri>
+			<ruri>$pathprefix2:/calendar/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/schedule/7.ics</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02" end-delete="yes">
+		<request user="$userid2:" pswd="$pswd2:" end-delete="yes">
 			<method>PUT</method>
-			<ruri>/calendars/users/user02/calendar/2.ics</ruri>
+			<ruri>$pathprefix2:/calendar/2.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/schedule/8.ics</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02" end-delete="yes">
+		<request user="$userid2:" pswd="$pswd2:" end-delete="yes">
 			<method>PUT</method>
-			<ruri>/calendars/users/user02/calendar/3.ics</ruri>
+			<ruri>$pathprefix2:/calendar/3.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/schedule/10.ics</filepath>
 			</data>
 		</request>
-		<request user="user03" pswd="user03" end-delete="yes">
+		<request user="$userid3:" pswd="$pswd3:" end-delete="yes">
 			<method>PUT</method>
-			<ruri>/calendars/users/user03/calendar/1.ics</ruri>
+			<ruri>$pathprefix3:/calendar/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/schedule/9.ics</filepath>
 			</data>
 		</request>
-		<request user="user03" pswd="user03" end-delete="yes">
+		<request user="$userid3:" pswd="$pswd3:" end-delete="yes">
 			<method>PUT</method>
-			<ruri>/calendars/users/user03/calendar/2.ics</ruri>
+			<ruri>$pathprefix3:/calendar/2.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/schedule/10.ics</filepath>
 			</data>
 		</request>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/outbox/</ruri>
+			<ruri>$pathprefix:/outbox/</ruri>
 		</request>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/inbox/</ruri>
+			<ruri>$pathprefix:/inbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/outbox/</ruri>
+			<ruri>$pathprefix2:/outbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/inbox/</ruri>
+			<ruri>$pathprefix2:/inbox/</ruri>
 		</request>
-		<request user="user03" pswd="user03">
+		<request user="$userid3:" pswd="$pswd3:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user03/outbox/</ruri>
+			<ruri>$pathprefix3:/outbox/</ruri>
 		</request>
-		<request user="user03" pswd="user03">
+		<request user="$userid3:" pswd="$pswd3:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user03/inbox/</ruri>
+			<ruri>$pathprefix3:/inbox/</ruri>
 		</request>
 	</start>
 	
@@ -319,7 +319,7 @@
 		</test>
 		<test name='10' ignore='no'>
 			<description>SCHEDULE reply with too many Attendees:</description>
-			<request user="user02" pswd="user02">
+			<request user="$userid2:" pswd="$pswd2:">
 				<method>SCHEDULE</method>
 				<header>
 					<name>Originator</name>
@@ -329,7 +329,7 @@
 					<name>Recipient</name>
 					<value>mailto:user01 at example.com</value>
 				</header>
-				<ruri>/calendars/users/user02/outbox/</ruri>
+				<ruri>$pathprefix2:/outbox/</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/schedule/17.txt</filepath>
@@ -345,7 +345,7 @@
 		</test>
 		<test name='11' ignore='no'>
 			<description>SCHEDULE reply with non-authorized Attendee:</description>
-			<request user="user02" pswd="user02">
+			<request user="$userid2:" pswd="$pswd2:">
 				<method>SCHEDULE</method>
 				<header>
 					<name>Originator</name>
@@ -355,7 +355,7 @@
 					<name>Recipient</name>
 					<value>mailto:user01 at example.com</value>
 				</header>
-				<ruri>/calendars/users/user02/outbox/</ruri>
+				<ruri>$pathprefix2:/outbox/</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/schedule/18.txt</filepath>
@@ -396,7 +396,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$^/calendars/users/user01/outbox/[^/]+\.ics$</value>
+						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
 					</arg>
 				</verify>
 				<grablocation/>
@@ -427,13 +427,13 @@
 		</test>
 		<test name='3'>
 			<description>Make sure resource exists and properties are set</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>PROPFIND</method>
 				<header>
 					<name>Depth</name>
 					<value>1</value>
 				</header>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedule/12.xml</filepath>
@@ -442,7 +442,7 @@
 					<callback>propfindItems</callback>
 					<arg>
 						<name>ignore</name>
-						<value>/calendars/users/user02/inbox/</value>
+						<value>$pathprefix2:/inbox/</value>
 					</arg>
 					<arg>
 						<name>okprops</name>
@@ -455,13 +455,13 @@
 		</test>
 		<test name='4'>
 			<description>Make sure resource exists and properties are set</description>
-			<request  user="user03" pswd="user03" print-response='no'>
+			<request  user="$userid3:" pswd="$pswd3:" print-response='no'>
 				<method>PROPFIND</method>
 				<header>
 					<name>Depth</name>
 					<value>1</value>
 				</header>
-				<ruri>/calendars/users/user03/inbox/</ruri>
+				<ruri>$pathprefix3:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedule/12.xml</filepath>
@@ -470,7 +470,7 @@
 					<callback>propfindItems</callback>
 					<arg>
 						<name>ignore</name>
-						<value>/calendars/users/user03/inbox/</value>
+						<value>$pathprefix3:/inbox/</value>
 					</arg>
 					<arg>
 						<name>okprops</name>
@@ -491,7 +491,7 @@
 				</header>
 				<header>
 					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/user03</value>
+					<value>/principals/users/user02, $principal3:</value>
 				</header>
 				<ruri>$pathprefix:/outbox/</ruri>
 				<data>
@@ -505,7 +505,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$^/calendars/users/user01/outbox/[^/]+\.ics$</value>
+						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
 					</arg>
 				</verify>
 				<grablocation/>
@@ -521,7 +521,7 @@
 				</header>
 				<header>
 					<name>Recipient</name>
-					<value>$host:/principals/users/user02, $host:/principals/users/user03</value>
+					<value>$host:/principals/users/user02, $host:$principal3:</value>
 				</header>
 				<ruri>$pathprefix:/outbox/</ruri>
 				<data>
@@ -535,7 +535,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$^/calendars/users/user01/outbox/[^/]+\.ics$</value>
+						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
 					</arg>
 				</verify>
 				<grablocation/>
@@ -564,9 +564,9 @@
 		</test>
 		<test name='2'>
 			<description>Simple calendar-query for VEVENTs</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>REPORT</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedule/13.xml</filepath>
@@ -600,9 +600,9 @@
 		</test>
 		<test name='4'>
 			<description>Simple calendar-multiget for VEVENTs</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>REPORT</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedule/15.xml</filepath>
@@ -615,7 +615,7 @@
 					</arg>
 					<arg>
 						<name>badhrefs</name>
-						<value>/calendars/users/user01/inbox/1.ics</value>
+						<value>$pathprefix:/inbox/1.ics</value>
 					</arg>
 				</verify>
 			</request>
@@ -640,9 +640,9 @@
 		</test>
 		<test name='6'>
 			<description>free-busy-query failure</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>REPORT</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedule/16.xml</filepath>

Modified: CalDAVTester/trunk/scheduleacl.xml
===================================================================
--- CalDAVTester/trunk/scheduleacl.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/scheduleacl.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -240,7 +240,7 @@
 	<test-suite name='Schedule free-busy' ignore='no'>
 		<test name='1'>
 			<description>SCHEDULE free busy</description>
-			<request user='user02' pswd='user02' print-response='no'>
+			<request user='$userid2:' pswd='$pswd2:' print-response='no'>
 				<method>SCHEDULE</method>
 				<header>
 					<name>Originator</name>
@@ -250,7 +250,7 @@
 					<name>Recipient</name>
 					<value>mailto:user01 at example.com</value>
 				</header>
-				<ruri>/calendars/users/user02/outbox/</ruri>
+				<ruri>$pathprefix2:/outbox/</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/scheduleacl/3.ics</filepath>

Modified: CalDAVTester/trunk/scheduleauto.xml
===================================================================
--- CalDAVTester/trunk/scheduleauto.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/scheduleauto.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -24,31 +24,31 @@
 	<description>Test SCHEDULE method in CalDAV</description>
 
 	<start>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/outbox/</ruri>
+			<ruri>$pathprefix:/outbox/</ruri>
 		</request>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/inbox/</ruri>
+			<ruri>$pathprefix:/inbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/outbox/</ruri>
+			<ruri>$pathprefix2:/outbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/inbox/</ruri>
+			<ruri>$pathprefix2:/inbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/outbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/inbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/calendar/</ruri>
 		</request>
@@ -83,9 +83,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -97,9 +97,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -111,7 +111,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -125,7 +125,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<verify>
@@ -139,7 +139,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -153,9 +153,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -196,9 +196,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -210,9 +210,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -224,7 +224,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -238,7 +238,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<verify>
@@ -252,7 +252,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<data>
@@ -270,9 +270,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/scheduleauto/6.xml</filepath>
@@ -288,7 +288,7 @@
 		</test>
 		<test name='8' ignore='no'>
 			<description>One item in resource01 Inbox (old one deleted)</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<data>
@@ -335,9 +335,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -349,9 +349,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -363,7 +363,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -377,7 +377,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<verify>
@@ -391,7 +391,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<data>
@@ -409,9 +409,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/scheduleauto/6.xml</filepath>
@@ -427,7 +427,7 @@
 		</test>
 		<test name='8' ignore='no'>
 			<description>One item in resource01 Inbox (old one deleted)</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<data>
@@ -474,9 +474,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -488,9 +488,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -502,7 +502,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -516,7 +516,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<data>
@@ -534,7 +534,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -548,9 +548,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -591,9 +591,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -605,9 +605,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -619,7 +619,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -633,7 +633,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<data>
@@ -651,7 +651,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -665,9 +665,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -708,9 +708,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -722,9 +722,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -736,7 +736,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -750,7 +750,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<verify>
@@ -764,7 +764,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -778,9 +778,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -821,9 +821,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -835,9 +835,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -849,7 +849,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -863,7 +863,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>Two items in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<data>
@@ -881,7 +881,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -895,9 +895,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -938,9 +938,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -952,9 +952,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -966,7 +966,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -980,7 +980,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>Two items in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<data>
@@ -998,7 +998,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -1012,9 +1012,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -1055,9 +1055,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -1069,9 +1069,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -1083,7 +1083,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -1097,7 +1097,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>Two items in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<data>
@@ -1115,7 +1115,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -1129,9 +1129,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>multistatusItems</callback>
 					<arg>
@@ -1144,31 +1144,31 @@
 	</test-suite>
 
 	<end>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/outbox/</ruri>
+			<ruri>$pathprefix:/outbox/</ruri>
 		</request>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/inbox/</ruri>
+			<ruri>$pathprefix:/inbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/outbox/</ruri>
+			<ruri>$pathprefix2:/outbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/inbox/</ruri>
+			<ruri>$pathprefix2:/inbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/outbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/inbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/calendar/</ruri>
 		</request>

Modified: CalDAVTester/trunk/schedulenormal.xml
===================================================================
--- CalDAVTester/trunk/schedulenormal.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/schedulenormal.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -24,29 +24,29 @@
 	<description>Test normal SCHEDULE operations in CalDAV</description>
 
 	<start>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/outbox/</ruri>
+			<ruri>$pathprefix:/outbox/</ruri>
 		</request>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/inbox/</ruri>
+			<ruri>$pathprefix:/inbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/outbox/</ruri>
+			<ruri>$pathprefix2:/outbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/inbox/</ruri>
+			<ruri>$pathprefix2:/inbox/</ruri>
 		</request>
-		<request user="user03" pswd="user03">
+		<request user="$userid3:" pswd="$pswd3:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user03/outbox/</ruri>
+			<ruri>$pathprefix3:/outbox/</ruri>
 		</request>
-		<request user="user03" pswd="user03">
+		<request user="$userid3:" pswd="$pswd3:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user03/inbox/</ruri>
+			<ruri>$pathprefix3:/inbox/</ruri>
 		</request>
 	</start>
 	
@@ -61,7 +61,7 @@
 				</header>
 				<header>
 					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/user03</value>
+					<value>/principals/users/user02, $principal3:</value>
 				</header>
 				<ruri>$pathprefix:/outbox/</ruri>
 				<data>
@@ -75,7 +75,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$^/calendars/users/user01/outbox/[^/]+\.ics$</value>
+						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
 					</arg>
 				</verify>
 				<grablocation/>
@@ -98,21 +98,21 @@
 					<callback>propfindItems</callback>
 					<arg>
 						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;/principals/users/user01&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;/principals/users/user02&lt;/href&gt;&lt;href xmlns="DAV:"&gt;/principals/users/user03&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;$principal:&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;$principal2:&lt;/href&gt;&lt;href xmlns="DAV:"&gt;$principal3:&lt;/href&gt;</value>
 					</arg>
 				</verify>
 			</request>
 		</test>
 		<test name='3'>
 			<description>Make sure resource exists and properties are set</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>PROPFIND</method>
 				<header>
 					<name>Depth</name>
 					<value>1</value>
 				</header>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedulenormal/3.xml</filepath>
@@ -121,12 +121,12 @@
 					<callback>propfindItems</callback>
 					<arg>
 						<name>ignore</name>
-						<value>/calendars/users/user02/inbox/</value>
+						<value>$pathprefix2:/inbox/</value>
 					</arg>
 					<arg>
 						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;/principals/users/user01&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;/principals/users/user02&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;$principal:&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;$principal2:&lt;/href&gt;</value>
 						<value>urn:ietf:params:xml:ns:caldavschedule-state$&lt;not-processed/&gt;</value>
 					</arg>
 				</verify>
@@ -134,13 +134,13 @@
 		</test>
 		<test name='4'>
 			<description>Make sure resource exists and properties are set</description>
-			<request user="user03" pswd="user03" print-response='no'>
+			<request user="$userid3:" pswd="$pswd3:" print-response='no'>
 				<method>PROPFIND</method>
 				<header>
 					<name>Depth</name>
 					<value>1</value>
 				</header>
-				<ruri>/calendars/users/user03/inbox/</ruri>
+				<ruri>$pathprefix3:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedulenormal/3.xml</filepath>
@@ -149,12 +149,12 @@
 					<callback>propfindItems</callback>
 					<arg>
 						<name>ignore</name>
-						<value>/calendars/users/user03/inbox/</value>
+						<value>$pathprefix3:/inbox/</value>
 					</arg>
 					<arg>
 						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;/principals/users/user01&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;/principals/users/user03&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;$principal:&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;$principal3:&lt;/href&gt;</value>
 						<value>urn:ietf:params:xml:ns:caldavschedule-state$&lt;not-processed/&gt;</value>
 					</arg>
 				</verify>
@@ -162,7 +162,7 @@
 		</test>
 		<test name='5'>
 			<description>REPLY from one</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>SCHEDULE</method>
 				<header>
 					<name>Originator</name>
@@ -172,7 +172,7 @@
 					<name>Recipient</name>
 					<value>/principals/users/user01</value>
 				</header>
-				<ruri>/calendars/users/user02/outbox/</ruri>
+				<ruri>$pathprefix2:/outbox/</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/schedulenormal/4.ics</filepath>
@@ -184,7 +184,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$^/calendars/users/user02/outbox/[^/]+\.ics$</value>
+						<value>Location$^$pathprefix2:/outbox/[^/]+\.ics$</value>
 					</arg>
 				</verify>
 				<grablocation/>

Modified: CalDAVTester/trunk/schedulepost.xml
===================================================================
--- CalDAVTester/trunk/schedulepost.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/schedulepost.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -24,69 +24,69 @@
 	<description>Test POST method in CalDAV</description>
 
 	<start>
-		<request user="user02" pswd="user02" end-delete="yes">
+		<request user="$userid2:" pswd="$pswd2:" end-delete="yes">
 			<method>PUT</method>
-			<ruri>/calendars/users/user02/calendar/1.ics</ruri>
+			<ruri>$pathprefix2:/calendar/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/schedule/7.ics</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02" end-delete="yes">
+		<request user="$userid2:" pswd="$pswd2:" end-delete="yes">
 			<method>PUT</method>
-			<ruri>/calendars/users/user02/calendar/2.ics</ruri>
+			<ruri>$pathprefix2:/calendar/2.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/schedule/8.ics</filepath>
 			</data>
 		</request>
-		<request user="user02" pswd="user02" end-delete="yes">
+		<request user="$userid2:" pswd="$pswd2:" end-delete="yes">
 			<method>PUT</method>
-			<ruri>/calendars/users/user02/calendar/3.ics</ruri>
+			<ruri>$pathprefix2:/calendar/3.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/schedule/10.ics</filepath>
 			</data>
 		</request>
-		<request user="user03" pswd="user03" end-delete="yes">
+		<request user="$userid3:" pswd="$pswd3:" end-delete="yes">
 			<method>PUT</method>
-			<ruri>/calendars/users/user03/calendar/1.ics</ruri>
+			<ruri>$pathprefix3:/calendar/1.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/schedule/9.ics</filepath>
 			</data>
 		</request>
-		<request user="user03" pswd="user03" end-delete="yes">
+		<request user="$userid3:" pswd="$pswd3:" end-delete="yes">
 			<method>PUT</method>
-			<ruri>/calendars/users/user03/calendar/2.ics</ruri>
+			<ruri>$pathprefix3:/calendar/2.ics</ruri>
 			<data>
 				<content-type>text/calendar; charset=utf-8</content-type>
 				<filepath>Resource/schedule/10.ics</filepath>
 			</data>
 		</request>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/outbox/</ruri>
+			<ruri>$pathprefix:/outbox/</ruri>
 		</request>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/inbox/</ruri>
+			<ruri>$pathprefix:/inbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/outbox/</ruri>
+			<ruri>$pathprefix2:/outbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/inbox/</ruri>
+			<ruri>$pathprefix2:/inbox/</ruri>
 		</request>
-		<request user="user03" pswd="user03">
+		<request user="$userid3:" pswd="$pswd3:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user03/outbox/</ruri>
+			<ruri>$pathprefix3:/outbox/</ruri>
 		</request>
-		<request user="user03" pswd="user03">
+		<request user="$userid3:" pswd="$pswd3:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user03/inbox/</ruri>
+			<ruri>$pathprefix3:/inbox/</ruri>
 		</request>
 	</start>
 	
@@ -319,7 +319,7 @@
 		</test>
 		<test name='10' ignore='no'>
 			<description>POST reply with too many Attendees:</description>
-			<request user="user02" pswd="user02">
+			<request user="$userid2:" pswd="$pswd2:">
 				<method>POST</method>
 				<header>
 					<name>Originator</name>
@@ -329,7 +329,7 @@
 					<name>Recipient</name>
 					<value>mailto:user01 at example.com</value>
 				</header>
-				<ruri>/calendars/users/user02/outbox/</ruri>
+				<ruri>$pathprefix2:/outbox/</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/schedule/17.txt</filepath>
@@ -345,7 +345,7 @@
 		</test>
 		<test name='11' ignore='no'>
 			<description>POST reply with non-authorized Attendee:</description>
-			<request user="user02" pswd="user02">
+			<request user="$userid2:" pswd="$pswd2:">
 				<method>POST</method>
 				<header>
 					<name>Originator</name>
@@ -355,7 +355,7 @@
 					<name>Recipient</name>
 					<value>mailto:user01 at example.com</value>
 				</header>
-				<ruri>/calendars/users/user02/outbox/</ruri>
+				<ruri>$pathprefix2:/outbox/</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/schedule/18.txt</filepath>
@@ -396,7 +396,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$^/calendars/users/user01/outbox/[^/]+\.ics$</value>
+						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
 					</arg>
 				</verify>
 				<grablocation/>
@@ -427,13 +427,13 @@
 		</test>
 		<test name='3'>
 			<description>Make sure resource exists and properties are set</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>PROPFIND</method>
 				<header>
 					<name>Depth</name>
 					<value>1</value>
 				</header>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedule/12.xml</filepath>
@@ -442,7 +442,7 @@
 					<callback>propfindItems</callback>
 					<arg>
 						<name>ignore</name>
-						<value>/calendars/users/user02/inbox/</value>
+						<value>$pathprefix2:/inbox/</value>
 					</arg>
 					<arg>
 						<name>okprops</name>
@@ -455,13 +455,13 @@
 		</test>
 		<test name='4'>
 			<description>Make sure resource exists and properties are set</description>
-			<request  user="user03" pswd="user03" print-response='no'>
+			<request  user="$userid3:" pswd="$pswd3:" print-response='no'>
 				<method>PROPFIND</method>
 				<header>
 					<name>Depth</name>
 					<value>1</value>
 				</header>
-				<ruri>/calendars/users/user03/inbox/</ruri>
+				<ruri>$pathprefix3:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedule/12.xml</filepath>
@@ -470,7 +470,7 @@
 					<callback>propfindItems</callback>
 					<arg>
 						<name>ignore</name>
-						<value>/calendars/users/user03/inbox/</value>
+						<value>$pathprefix3:/inbox/</value>
 					</arg>
 					<arg>
 						<name>okprops</name>
@@ -491,7 +491,7 @@
 				</header>
 				<header>
 					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/user03</value>
+					<value>/principals/users/user02, $principal3:</value>
 				</header>
 				<ruri>$pathprefix:/outbox/</ruri>
 				<data>
@@ -505,7 +505,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$^/calendars/users/user01/outbox/[^/]+\.ics$</value>
+						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
 					</arg>
 				</verify>
 				<grablocation/>
@@ -521,7 +521,7 @@
 				</header>
 				<header>
 					<name>Recipient</name>
-					<value>$host:/principals/users/user02, $host:/principals/users/user03</value>
+					<value>$host:/principals/users/user02, $host:$principal3:</value>
 				</header>
 				<ruri>$pathprefix:/outbox/</ruri>
 				<data>
@@ -535,7 +535,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$^/calendars/users/user01/outbox/[^/]+\.ics$</value>
+						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
 					</arg>
 				</verify>
 				<grablocation/>
@@ -564,9 +564,9 @@
 		</test>
 		<test name='2'>
 			<description>Simple calendar-query for VEVENTs</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>REPORT</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedule/13.xml</filepath>
@@ -600,9 +600,9 @@
 		</test>
 		<test name='4'>
 			<description>Simple calendar-multiget for VEVENTs</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>REPORT</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedule/15.xml</filepath>
@@ -615,7 +615,7 @@
 					</arg>
 					<arg>
 						<name>badhrefs</name>
-						<value>/calendars/users/user01/inbox/1.ics</value>
+						<value>$pathprefix:/inbox/1.ics</value>
 					</arg>
 				</verify>
 			</request>
@@ -640,9 +640,9 @@
 		</test>
 		<test name='6'>
 			<description>free-busy-query failure</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>REPORT</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedule/16.xml</filepath>

Modified: CalDAVTester/trunk/schedulepostacl.xml
===================================================================
--- CalDAVTester/trunk/schedulepostacl.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/schedulepostacl.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -231,7 +231,7 @@
 	<test-suite name='Schedule free-busy' ignore='no'>
 		<test name='1'>
 			<description>POST free busy</description>
-			<request user='user02' pswd='user02' print-response='no'>
+			<request user="$userid2:" pswd='$pswd2:' print-response='no'>
 				<method>POST</method>
 				<header>
 					<name>Originator</name>
@@ -241,7 +241,7 @@
 					<name>Recipient</name>
 					<value>mailto:user01 at example.com</value>
 				</header>
-				<ruri>/calendars/users/user02/outbox/</ruri>
+				<ruri>$pathprefix2:/outbox/</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/scheduleacl/3.ics</filepath>

Modified: CalDAVTester/trunk/schedulepostauto.xml
===================================================================
--- CalDAVTester/trunk/schedulepostauto.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/schedulepostauto.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -24,31 +24,31 @@
 	<description>Test POST method in CalDAV</description>
 
 	<start>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/outbox/</ruri>
+			<ruri>$pathprefix:/outbox/</ruri>
 		</request>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/inbox/</ruri>
+			<ruri>$pathprefix:/inbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/outbox/</ruri>
+			<ruri>$pathprefix2:/outbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/inbox/</ruri>
+			<ruri>$pathprefix2:/inbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/outbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/inbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/calendar/</ruri>
 		</request>
@@ -83,9 +83,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -97,9 +97,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -111,7 +111,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -125,7 +125,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<verify>
@@ -139,7 +139,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -153,9 +153,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -196,9 +196,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -210,9 +210,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -224,7 +224,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -238,7 +238,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<verify>
@@ -252,7 +252,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<data>
@@ -270,9 +270,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/scheduleauto/6.xml</filepath>
@@ -288,7 +288,7 @@
 		</test>
 		<test name='8' ignore='no'>
 			<description>One item in resource01 Inbox (old one deleted)</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<data>
@@ -335,9 +335,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -349,9 +349,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -363,7 +363,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -377,7 +377,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<verify>
@@ -391,7 +391,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<data>
@@ -409,9 +409,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/scheduleauto/6.xml</filepath>
@@ -427,7 +427,7 @@
 		</test>
 		<test name='8' ignore='no'>
 			<description>One item in resource01 Inbox (old one deleted)</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<data>
@@ -474,9 +474,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -488,9 +488,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -502,7 +502,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -516,7 +516,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<data>
@@ -534,7 +534,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -548,9 +548,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -591,9 +591,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -605,9 +605,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -619,7 +619,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -633,7 +633,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<data>
@@ -651,7 +651,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -665,9 +665,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -708,9 +708,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -722,9 +722,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -736,7 +736,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -750,7 +750,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>One item in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<verify>
@@ -764,7 +764,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -778,9 +778,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -821,9 +821,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -835,9 +835,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -849,7 +849,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -863,7 +863,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>Two items in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<data>
@@ -881,7 +881,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -895,9 +895,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -938,9 +938,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -952,9 +952,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -966,7 +966,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -980,7 +980,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>Two items in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<data>
@@ -998,7 +998,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -1012,9 +1012,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -1055,9 +1055,9 @@
 		</test>
 		<test name='2' ignore='no'>
 			<description>One item in user01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user01/outbox/</ruri>
+				<ruri>$pathprefix:/outbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -1069,9 +1069,9 @@
 		</test>
 		<test name='3' ignore='no'>
 			<description>One item in user02 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<verify>
 					<callback>dataMatch</callback>
 					<arg>
@@ -1083,7 +1083,7 @@
 		</test>
 		<test name='4' ignore='no'>
 			<description>One item in resource01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>GETNEW</method>
 				<ruri>/calendars/users/resource01/inbox/</ruri>
 				<verify>
@@ -1097,7 +1097,7 @@
 		</test>
 		<test name='5' ignore='no'>
 			<description>Two items in resource01 Calendar</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/calendar/</ruri>
 				<data>
@@ -1115,7 +1115,7 @@
 		</test>
 		<test name='6' ignore='no'>
 			<description>One item in resource01 Outbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
 				<ruri>/calendars/users/resource01/outbox/</ruri>
 				<verify>
@@ -1129,9 +1129,9 @@
 		</test>
 		<test name='7' ignore='no'>
 			<description>One item in user01 Inbox</description>
-			<request user="admin" pswd="admin" print-response="no">
+			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
 				<method>PROPFIND</method>
-				<ruri>/calendars/users/user01/inbox/</ruri>
+				<ruri>$pathprefix:/inbox/</ruri>
 				<verify>
 					<callback>multistatusItems</callback>
 					<arg>
@@ -1144,31 +1144,31 @@
 	</test-suite>
 
 	<end>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/outbox/</ruri>
+			<ruri>$pathprefix:/outbox/</ruri>
 		</request>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/inbox/</ruri>
+			<ruri>$pathprefix:/inbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/outbox/</ruri>
+			<ruri>$pathprefix2:/outbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/inbox/</ruri>
+			<ruri>$pathprefix2:/inbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/outbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/inbox/</ruri>
 		</request>
-		<request user="admin" pswd="admin">
+		<request user="$useradmin:" pswd="$pswdadmin:">
 			<method>DELETEALL</method>
 			<ruri>/calendars/users/resource01/calendar/</ruri>
 		</request>

Modified: CalDAVTester/trunk/schedulepostnormal.xml
===================================================================
--- CalDAVTester/trunk/schedulepostnormal.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/schedulepostnormal.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -24,29 +24,29 @@
 	<description>Test normal POST operations in CalDAV</description>
 
 	<start>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/outbox/</ruri>
+			<ruri>$pathprefix:/outbox/</ruri>
 		</request>
-		<request user="user01" pswd="user01">
+		<request>
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user01/inbox/</ruri>
+			<ruri>$pathprefix:/inbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/outbox/</ruri>
+			<ruri>$pathprefix2:/outbox/</ruri>
 		</request>
-		<request user="user02" pswd="user02">
+		<request user="$userid2:" pswd="$pswd2:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user02/inbox/</ruri>
+			<ruri>$pathprefix2:/inbox/</ruri>
 		</request>
-		<request user="user03" pswd="user03">
+		<request user="$userid3:" pswd="$pswd3:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user03/outbox/</ruri>
+			<ruri>$pathprefix3:/outbox/</ruri>
 		</request>
-		<request user="user03" pswd="user03">
+		<request user="$userid3:" pswd="$pswd3:">
 			<method>DELETEALL</method>
-			<ruri>/calendars/users/user03/inbox/</ruri>
+			<ruri>$pathprefix3:/inbox/</ruri>
 		</request>
 	</start>
 	
@@ -61,7 +61,7 @@
 				</header>
 				<header>
 					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/user03</value>
+					<value>/principals/users/user02, $principal3:</value>
 				</header>
 				<ruri>$pathprefix:/outbox/</ruri>
 				<data>
@@ -75,7 +75,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$^/calendars/users/user01/outbox/[^/]+\.ics$</value>
+						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
 					</arg>
 				</verify>
 				<grablocation/>
@@ -98,21 +98,21 @@
 					<callback>propfindItems</callback>
 					<arg>
 						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;/principals/users/user01&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;/principals/users/user02&lt;/href&gt;&lt;href xmlns="DAV:"&gt;/principals/users/user03&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;$principal:&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;$principal2:&lt;/href&gt;&lt;href xmlns="DAV:"&gt;$principal3:&lt;/href&gt;</value>
 					</arg>
 				</verify>
 			</request>
 		</test>
 		<test name='3'>
 			<description>Make sure resource exists and properties are set</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>PROPFIND</method>
 				<header>
 					<name>Depth</name>
 					<value>1</value>
 				</header>
-				<ruri>/calendars/users/user02/inbox/</ruri>
+				<ruri>$pathprefix2:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedulenormal/3.xml</filepath>
@@ -121,12 +121,12 @@
 					<callback>propfindItems</callback>
 					<arg>
 						<name>ignore</name>
-						<value>/calendars/users/user02/inbox/</value>
+						<value>$pathprefix2:/inbox/</value>
 					</arg>
 					<arg>
 						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;/principals/users/user01&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;/principals/users/user02&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;$principal:&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;$principal2:&lt;/href&gt;</value>
 						<value>urn:ietf:params:xml:ns:caldavschedule-state$&lt;not-processed/&gt;</value>
 					</arg>
 				</verify>
@@ -134,13 +134,13 @@
 		</test>
 		<test name='4'>
 			<description>Make sure resource exists and properties are set</description>
-			<request user="user03" pswd="user03" print-response='no'>
+			<request user="$userid3:" pswd="$pswd3:" print-response='no'>
 				<method>PROPFIND</method>
 				<header>
 					<name>Depth</name>
 					<value>1</value>
 				</header>
-				<ruri>/calendars/users/user03/inbox/</ruri>
+				<ruri>$pathprefix3:/inbox/</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/schedulenormal/3.xml</filepath>
@@ -149,12 +149,12 @@
 					<callback>propfindItems</callback>
 					<arg>
 						<name>ignore</name>
-						<value>/calendars/users/user03/inbox/</value>
+						<value>$pathprefix3:/inbox/</value>
 					</arg>
 					<arg>
 						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;/principals/users/user01&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;/principals/users/user03&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;$principal:&lt;/href&gt;</value>
+						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;$principal3:&lt;/href&gt;</value>
 						<value>urn:ietf:params:xml:ns:caldavschedule-state$&lt;not-processed/&gt;</value>
 					</arg>
 				</verify>
@@ -162,7 +162,7 @@
 		</test>
 		<test name='5'>
 			<description>REPLY from one</description>
-			<request user="user02" pswd="user02" print-response='no'>
+			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
 				<method>POST</method>
 				<header>
 					<name>Originator</name>
@@ -172,7 +172,7 @@
 					<name>Recipient</name>
 					<value>/principals/users/user01</value>
 				</header>
-				<ruri>/calendars/users/user02/outbox/</ruri>
+				<ruri>$pathprefix2:/outbox/</ruri>
 				<data>
 					<content-type>text/calendar; charset=utf-8</content-type>
 					<filepath>Resource/schedulenormal/4.ics</filepath>
@@ -184,7 +184,7 @@
 					<callback>header</callback>
 					<arg>
 						<name>header</name>
-						<value>Location$^/calendars/users/user02/outbox/[^/]+\.ics$</value>
+						<value>Location$^$pathprefix2:/outbox/[^/]+\.ics$</value>
 					</arg>
 				</verify>
 				<grablocation/>

Modified: CalDAVTester/trunk/scheduleprops.xml
===================================================================
--- CalDAVTester/trunk/scheduleprops.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/scheduleprops.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -34,7 +34,7 @@
 					<name>Depth</name>
 					<value>0</value>
 				</header>
-				<ruri>/principals/users/user01</ruri>
+				<ruri>$principal:</ruri>
 				<data>
 					<content-type>text/xml; charset=utf-8</content-type>
 					<filepath>Resource/scheduleprops/1.xml</filepath>

Modified: CalDAVTester/trunk/serverinfo.dtd
===================================================================
--- CalDAVTester/trunk/serverinfo.dtd	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/serverinfo.dtd	2006-10-04 16:02:44 UTC (rev 239)
@@ -16,7 +16,7 @@
  DRI: Cyrus Daboo, cdaboo at apple.com
  -->
 
-<!ELEMENT serverinfo (host, port, ssl?, calendarpath, user, pswd, hostsubs, pathsubs, serverfilepath)? >
+<!ELEMENT serverinfo (host, port, ssl?, calendarpath, user, pswd, substitutions, serverfilepath)? >
 
 	<!ELEMENT host			(#PCDATA)>
 	<!ELEMENT port			(#PCDATA)>
@@ -24,7 +24,9 @@
 	<!ELEMENT calendarpath	(#PCDATA)>
 	<!ELEMENT user			(#PCDATA)>
 	<!ELEMENT pswd			(#PCDATA)>
-	<!ELEMENT hostsubs		(#PCDATA)>
-	<!ELEMENT pathsubs		(#PCDATA)>
+	<!ELEMENT substitutions	(substitution*)>
+		<!ELEMENT substitution	(key, value)>
+			<!ELEMENT key			(#PCDATA)>
+			<!ELEMENT value			(#PCDATA)>
 	<!ELEMENT serverfilepath	(#PCDATA)>
 	

Modified: CalDAVTester/trunk/serverinfo.xml
===================================================================
--- CalDAVTester/trunk/serverinfo.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/serverinfo.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -26,7 +26,85 @@
 	<calendarpath>/calendars/users/user01/calendar</calendarpath>
 	<user>user01</user>
 	<pswd>user01</pswd>
-	<hostsubs>http://localhost:8008</hostsubs>
-	<pathsubs>/calendars/users/user01</pathsubs>
-	<serverfilepath>/Users/admin/Servers/docs-test</serverfilepath>
+	<substitutions>
+		<substitution>
+			<key>$host:</key>
+			<value>http://localhost:8008</value>
+		</substitution>
+
+		<!-- user id for admin user -->
+		<substitution>
+			<key>$useradmin:</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>$principaladmin:</key>
+			<value>/principals/users/admin</value>
+		</substitution>
+
+		<!-- relative path to first user principal resource-->
+		<substitution>
+			<key>$userid1:</key>
+			<value>user01</value>
+		</substitution>
+		<!-- relative path to first user principal resource-->
+		<substitution>
+			<key>$principal:</key>
+			<value>/principals/users/user01</value>
+		</substitution>
+		<!-- relative path to first user calendar home-->
+		<substitution>
+			<key>$pathprefix:</key>
+			<value>/calendars/users/user01</value>
+		</substitution>
+		
+		<!-- user id for second user -->
+		<substitution>
+			<key>$userid2:</key>
+			<value>user02</value>
+		</substitution>
+		<!-- password for second user -->
+		<substitution>
+			<key>$pswd2:</key>
+			<value>user02</value>
+		</substitution>
+		<!-- relative path to second user principal resource-->
+		<substitution>
+			<key>$principal2:</key>
+			<value>/principals/users/user02</value>
+		</substitution>
+		<!-- relative path to second user calendar home-->
+		<substitution>
+			<key>$pathprefix2:</key>
+			<value>/calendars/users/user02</value>
+		</substitution>
+		
+		<!-- user id for third user -->
+		<substitution>
+			<key>$userid3:</key>
+			<value>user03</value>
+		</substitution>
+		<!-- password for third user -->
+		<substitution>
+			<key>$pswd3:</key>
+			<value>user03</value>
+		</substitution>
+		<!-- relative path to third user principal resource-->
+		<substitution>
+			<key>$principal3:</key>
+			<value>/principals/users/user03</value>
+		</substitution>
+		<!-- relative path to third user calendar home-->
+		<substitution>
+			<key>$pathprefix3:</key>
+			<value>/calendars/users/user03</value>
+		</substitution>
+	</substitutions>
+	<serverfilepath>/Users/cyrusdaboo/Documents/Development/Apple/eclipse/CalendarServer/twistedcaldav/test/data/</serverfilepath>
 </serverinfo>

Modified: CalDAVTester/trunk/sslserverinfo.xml
===================================================================
--- CalDAVTester/trunk/sslserverinfo.xml	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/sslserverinfo.xml	2006-10-04 16:02:44 UTC (rev 239)
@@ -27,6 +27,85 @@
 	<calendarpath>/calendars/users/user01/calendar</calendarpath>
 	<user>user01</user>
 	<pswd>user01</pswd>
-	<hostsubs>https://localhost:8443</hostsubs>
-	<pathsubs>/calendars/users/user01</pathsubs>
+	<substitutions>
+		<substitution>
+			<key>$host:</key>
+			<value>https://localhost:8443</value>
+		</substitution>
+
+		<!-- user id for admin user -->
+		<substitution>
+			<key>$useradmin:</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>$principaladmin:</key>
+			<value>/principals/users/admin</value>
+		</substitution>
+
+		<!-- relative path to first user principal resource-->
+		<substitution>
+			<key>$userid1:</key>
+			<value>user01</value>
+		</substitution>
+		<!-- relative path to first user principal resource-->
+		<substitution>
+			<key>$principal:</key>
+			<value>/principals/users/user01</value>
+		</substitution>
+		<!-- relative path to first user calendar home-->
+		<substitution>
+			<key>$pathprefix:</key>
+			<value>/calendars/users/user01</value>
+		</substitution>
+		
+		<!-- user id for second user -->
+		<substitution>
+			<key>$userid2:</key>
+			<value>user02</value>
+		</substitution>
+		<!-- password for second user -->
+		<substitution>
+			<key>$pswd2:</key>
+			<value>user02</value>
+		</substitution>
+		<!-- relative path to second user principal resource-->
+		<substitution>
+			<key>$principal2:</key>
+			<value>/principals/users/user02</value>
+		</substitution>
+		<!-- relative path to second user calendar home-->
+		<substitution>
+			<key>$pathprefix2:</key>
+			<value>/calendars/users/user02</value>
+		</substitution>
+		
+		<!-- user id for third user -->
+		<substitution>
+			<key>$userid3:</key>
+			<value>user03</value>
+		</substitution>
+		<!-- password for third user -->
+		<substitution>
+			<key>$pswd3:</key>
+			<value>user03</value>
+		</substitution>
+		<!-- relative path to third user principal resource-->
+		<substitution>
+			<key>$principal3:</key>
+			<value>/principals/users/user03</value>
+		</substitution>
+		<!-- relative path to third user calendar home-->
+		<substitution>
+			<key>$pathprefix3:</key>
+			<value>/calendars/users/user03</value>
+		</substitution>
+	</substitutions>
+	<serverfilepath>/Users/cyrusdaboo/Documents/Development/Apple/eclipse/CalendarServer/twistedcaldav/test/data/</serverfilepath>
 </serverinfo>

Modified: CalDAVTester/trunk/testcaldav.py
===================================================================
--- CalDAVTester/trunk/testcaldav.py	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/testcaldav.py	2006-10-04 16:02:44 UTC (rev 239)
@@ -22,9 +22,11 @@
 #
 
 from tests.manager import manager
+import sys
 
 if __name__ == "__main__":
     
     manager = manager()
     manager.readCommandLine()
-    manager.runAll()
+    result, timing = manager.runAll()
+    sys.exit(result)

Modified: CalDAVTester/trunk/tests/caldavtest.py
===================================================================
--- CalDAVTester/trunk/tests/caldavtest.py	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/tests/caldavtest.py	2006-10-04 16:02:44 UTC (rev 239)
@@ -20,6 +20,7 @@
 Class to encapsulate a single caldav test run.
 """
 
+from tests.manager import manager
 from tests.request import data
 from tests.request import request
 from tests.request import stats
@@ -53,14 +54,14 @@
         
     def run( self ):
         try:
-            self.manager.log("----- Running CalDAV Tests from \"%s\"... -----" % self.name, before=1)
+            self.manager.log(manager.LOG_HIGH, "----- Running CalDAV Tests from \"%s\"... -----" % self.name, before=1)
             self.dorequests( "Executing Start Requests...", self.start_requests, False, True )
             ok, failed, ignored = self.run_tests()
             self.doenddelete( "Deleting Requests..." )
             self.dorequests( "Executing End Requests...", self.end_requests, False )
             return ok, failed, ignored
         except socket.error, msg:
-            self.manager.log("FATAL ERROR: " + msg.args[1], before=2)
+            self.manager.log(manager.LOG_HIGH, "FATAL ERROR: " + msg.args[1], before=2)
             return 0, 1, 0
         
     def run_tests( self ):
@@ -77,15 +78,15 @@
     def run_test_suite( self, suite ):
         descriptor = "    Test Suite: %s" % suite.name
         descriptor += " " * max(1, STATUSTXT_WIDTH - len(descriptor))
-        self.manager.log("%s" % (descriptor,), before=1, after=0)
+        self.manager.log(manager.LOG_HIGH, "%s" % (descriptor,), before=1, after=0)
         ok = 0
         failed = 0
         ignored = 0
         if suite.ignore:
-            self.manager.log("[IGNORED]")
+            self.manager.log(manager.LOG_HIGH, "[IGNORED]")
             ignored = len(suite.tests)
         else:
-            self.manager.log("")
+            self.manager.log(manager.LOG_HIGH, "")
             for test in suite.tests:
                 result = self.run_test( test )
                 if result == "t":
@@ -94,15 +95,15 @@
                     failed += 1
                 else:
                     ignored += 1
-        self.manager.log("Suite Results: %d PASSED, %d FAILED, %d IGNORED" % (ok, failed, ignored), before=1, indent=4)
+        self.manager.log(manager.LOG_HIGH, "Suite Results: %d PASSED, %d FAILED, %d IGNORED" % (ok, failed, ignored), before=1, indent=4)
         return (ok, failed, ignored)
             
     def run_test( self, test ):
         descriptor = "        Test: %s" % test.name
         descriptor += " " * max(1, STATUSTXT_WIDTH - len(descriptor))
-        self.manager.log("%s" % (descriptor,), before=1, after=0)
+        self.manager.log(manager.LOG_HIGH, "%s" % (descriptor,), before=1, after=0)
         if test.ignore:
-            self.manager.log("[IGNORED]")
+            self.manager.log(manager.LOG_HIGH, "[IGNORED]")
             return "i"
         else:
             result = False
@@ -115,26 +116,29 @@
                     result, resulttxt, response, respdata = self.dorequest( req, test.details, True, False, reqstats )
                     if not result:
                         break
-            self.manager.log(["[FAILED]", "[OK]"][result])
+            self.manager.log(manager.LOG_HIGH, ["[FAILED]", "[OK]"][result])
             if len(resulttxt) > 0:
-                self.manager.log(resulttxt)
+                self.manager.log(manager.LOG_HIGH, resulttxt)
             if result and test.stats:
-                self.manager.log("Total Time: %.3f secs" % (reqstats.totaltime,), indent=8)
-                self.manager.log("Average Time: %.3f secs" % (reqstats.totaltime/reqstats.count,), indent=8)
+                self.manager.log(manager.LOG_MEDIUM, "Total Time: %.3f secs" % (reqstats.totaltime,), indent=8)
+                self.manager.log(manager.LOG_MEDIUM, "Average Time: %.3f secs" % (reqstats.totaltime/reqstats.count,), indent=8)
             return ["f", "t"][result]
     
     def dorequests( self, description, list, doverify = True, forceverify = False ):
         if len(list) == 0:
             return True
         description += " " * max(1, STATUSTXT_WIDTH - len(description))
-        self.manager.log(description, before=1, after=0)
+        self.manager.log(manager.LOG_HIGH, description, before=1, after=0)
+        ctr = 1
         for req in list:
             result, resulttxt, response, respdata = self.dorequest( req, False, doverify, forceverify )
             if not result:
+                resulttxt += "\nFailure during multiple requests #%d out of %d, request=%s" % (ctr, len(list), str(req))
                 break
-        self.manager.log(["[FAILED]", "[OK]"][result])
+            ctr += 1
+        self.manager.log(manager.LOG_HIGH, ["[FAILED]", "[OK]"][result])
         if len(resulttxt) > 0:
-            self.manager.log(resulttxt)
+            self.manager.log(manager.LOG_HIGH, resulttxt)
         return result
     
     def dofindall( self, collection):
@@ -273,7 +277,7 @@
         if len(self.end_deletes) == 0:
             return True
         description += " " * max(1, STATUSTXT_WIDTH - len(description))
-        self.manager.log(description, before=1, after=0)
+        self.manager.log(manager.LOG_HIGH, description, before=1, after=0)
         for deleter in self.end_deletes:
             req = request()
             req.method = "DELETE"
@@ -283,7 +287,7 @@
             if len(deleter[2]):
                 req.pswd = deleter[2]
             self.dorequest( req, False, False )
-        self.manager.log("[DONE]")
+        self.manager.log(manager.LOG_HIGH, "[DONE]")
     
     def doaccess(self, ruri, enable):
         """
@@ -296,12 +300,33 @@
             if os.path.exists(filename):
                 attrs = xattr.xattr(filename)
                 if enable:
-                    del attrs["WebDAV:{http:%2F%2Ftwistedmatrix.com%2Fxml_namespace%2Fdav%2Fprivate%2F}access-disabled"]
+                    del attrs["WebDAV:{http:%2F%2Ftwistedmatrix.com%2Fxml_namespace%2Fdav%2Fprivate%2F}caldav-access-disabled"]
                 else:
-                    attrs["WebDAV:{http:%2F%2Ftwistedmatrix.com%2Fxml_namespace%2Fdav%2Fprivate%2F}access-disabled"] = "yes"
+                    attrs["WebDAV:{http:%2F%2Ftwistedmatrix.com%2Fxml_namespace%2Fdav%2Fprivate%2F}caldav-access-disabled"] = "yes"
                 return True
         return False
 
+    def doquota(self, ruri, size):
+        """
+        We have to set the xattr WebDAV:{http:%2F%2Ftwistedmatrix.com%2Fxml_namespace%2Fdav%2Fprivate%2F}access-disabled 
+        on the resource pointed to by the ruri. Strictly speaking only the server know how to map from a uri to a file
+        path, so we have to cheat!
+        """
+        if self.manager.server_info.serverfilepath:
+            filename = os.path.join(self.manager.server_info.serverfilepath, ruri[1:])
+            if os.path.exists(filename):
+                attrs = xattr.xattr(filename)
+                if size is None:
+                    del attrs["WebDAV:{http:%2F%2Ftwistedmatrix.com%2Fxml_namespace%2Fdav%2Fprivate%2F}quota-root"]
+                else:
+                    attrs["WebDAV:{http:%2F%2Ftwistedmatrix.com%2Fxml_namespace%2Fdav%2Fprivate%2F}quota-root"] = \
+                            "<?xml version='1.0' encoding='UTF-8'?>\n" + \
+                            "<quota-root xmlns='http://twistedmatrix.com/xml_namespace/dav/private/'>" + \
+                            str(size) + \
+                            "</quota-root>"
+                return True
+        return False
+
     def dorequest( self, req, details=False, doverify = True, forceverify = False, stats = None ):
         
         # Special check for DELETEALL
@@ -316,13 +341,25 @@
             if self.doaccess(req.ruri, False):
                 return True, "", None, None
             else:
-                return False, "Could not set access-disabled xattr on file", None, None
+                return False, "Could not set caldav-access-disabled xattr on file", None, None
         elif req.method == "ACCESS-ENABLE":
             if self.doaccess(req.ruri, True):
                 return True, "", None, None
             else:
-                return False, "Could not remove access-disabled xattr on file", None, None
+                return False, "Could not remove caldav-access-disabled xattr on file", None, None
 
+        # Special check for QUOTA
+        if req.method == "QUOTA-DISABLE":
+            if self.doquota(req.ruri, None):
+                return True, "", None, None
+            else:
+                return False, "Could remove quota-root xattr on file", None, None
+        elif req.method.startswith("QUOTA-ENABLE-"):
+            if self.doquota(req.ruri, req.method[len("QUOTA-ENABLE-"):]):
+                return True, "", None, None
+            else:
+                return False, "Could not set quota-root xattr on file", None, None
+
         # Special for delay
         if req.method == "DELAY":
             # self.ruri contains a numeric delay in seconds
@@ -374,12 +411,15 @@
         else:
             http = httplib.HTTPConnection( self.manager.server_info.host, self.manager.server_info.port )
         try:
+            #self.manager.log(manager.LOG_LOW, "Sending request")
             http.request( method, uri, data, headers )
+            #self.manager.log(manager.LOG_LOW, "Sent request")
         
             response = http.getresponse()
         
             respdata = None
             respdata = response.read()
+            #self.manager.log(manager.LOG_LOW, "Read response")
 
         finally:
             http.close()

Modified: CalDAVTester/trunk/tests/manager.py
===================================================================
--- CalDAVTester/trunk/tests/manager.py	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/tests/manager.py	2006-10-04 16:02:44 UTC (rev 239)
@@ -25,7 +25,6 @@
 from tests.populate import populate
 import os
 
-from tests.caldavtest import caldavtest
 from tests.serverinfo import serverinfo
 import getopt
 import sys
@@ -42,17 +41,23 @@
     """
     Main class that runs test suites defined in an XML config file.
     """
-    __slots__  = ['server_info', 'populator', 'depopulate', 'tests', 'textMode']
+    __slots__  = ['server_info', 'populator', 'depopulate', 'tests', 'textMode', 'logLevel']
 
-    def __init__( self, text=True ):
+    LOG_NONE    = 0
+    LOG_LOW     = 1
+    LOG_MEDIUM  = 2
+    LOG_HIGH    = 3
+
+    def __init__( self, text=True, level=LOG_HIGH ):
         self.server_info = serverinfo()
         self.populator = None
         self.depopulate = False
         self.tests = []
         self.textMode = text
+        self.logLevel = level
     
-    def log(self, str, indent = 0, indentStr = " ", after = 1, before = 0):
-        if self.textMode:
+    def log(self, level, str, indent = 0, indentStr = " ", after = 1, before = 0):
+        if self.textMode and level <= self.logLevel:
             if before:
                 print "\n" * before,
             if indent:
@@ -63,7 +68,7 @@
 
     def readXML( self, serverfile, populatorfile, testfiles, all ):
 
-        self.log("Reading Server Info from \"%s\"" % serverfile, after=2)
+        self.log(manager.LOG_HIGH, "Reading Server Info from \"%s\"" % serverfile, after=2)
     
         # Open and parse the server config file
         fd = open(serverfile, "r")
@@ -80,7 +85,7 @@
         
         # Open and parse the populator config file
         if populatorfile:
-            self.log("Reading Populator Info from \"%s\"" % populatorfile, after=2)
+            self.log(manager.LOG_HIGH, "Reading Populator Info from \"%s\"" % populatorfile, after=2)
     
             fd = open(populatorfile, "r")
             doc = xml.dom.minidom.parse( fd )
@@ -102,13 +107,14 @@
             fd.close()
             
             # Verify that top-level element is correct
+            from tests.caldavtest import caldavtest
             caldavtest_node = doc._get_documentElement()
             if caldavtest_node._get_localName() != tests.xmlDefs.ELEMENT_CALDAVTEST:
-                self.log("Ignoring file \"%s\" because it is not a test file" % (testfile,), after=2)
+                self.log(manager.LOG_HIGH, "Ignoring file \"%s\" because it is not a test file" % (testfile,), after=2)
                 continue
             if not caldavtest_node.hasChildNodes():
                 raise EX_INVALID_CONFIG_FILE
-            self.log("Reading Test Details from \"%s\"" % testfile, after=2)
+            self.log(manager.LOG_HIGH, "Reading Test Details from \"%s\"" % testfile, after=2)
                 
             # parse all the config data
             test = caldavtest(self, testfile)
@@ -149,6 +155,11 @@
         
         self.readXML(sname, pname, fnames, all)
 
+    def runWithOptions(self, sname, pname, fnames, all = False, depopulate = False):
+        self.depopulate = depopulate
+        self.readXML(sname, pname, fnames, all)
+        return self.runAll()
+
     def runAll(self):
         
         if self.populator:
@@ -174,10 +185,10 @@
         if self.populator and self.depopulate:
             self.runDepopulate()
 
-        self.log("Overall Results: %d PASSED, %d FAILED, %d IGNORED" % (ok, failed, ignored), before=2, indent=4)
-        self.log("Total time: %d secs" % (endTime- startTime,))
+        self.log(manager.LOG_LOW, "Overall Results: %d PASSED, %d FAILED, %d IGNORED" % (ok, failed, ignored), before=2, indent=4)
+        self.log(manager.LOG_LOW, "Total time: %.3f secs" % (endTime- startTime,))
 
-        sys.exit(failed)
+        return failed, endTime - startTime
 
     def runPopulate(self):
         self.populator.generateAccounts()

Added: CalDAVTester/trunk/tests/multithread.py
===================================================================
--- CalDAVTester/trunk/tests/multithread.py	                        (rev 0)
+++ CalDAVTester/trunk/tests/multithread.py	2006-10-04 16:02:44 UTC (rev 239)
@@ -0,0 +1,97 @@
+#!/usr/bin/env python
+#
+##
+# Copyright (c) 2006 Apple Computer, 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.
+#
+# DRI: Cyrus Daboo, cdaboo at apple.com
+##
+#
+# A thread pool based function executor. This class takes a function as an argument
+# and multiple sets of arguments to the function, and it executes the function with
+# each argument set in a thread in parallel. The total number of threads is limited by
+# the thread pool and a queue is used to hold pending function executions.
+#
+# Code is copied from O'Reilly Python Cookbook Recipe 9.3.
+#
+from random import randrange
+
+import time
+import Queue
+import threading
+
+class MultiThread(object):
+
+    def __init__(self, function, argsVector, maxThreads=5, queue_results=False, sleep=0.0):
+        self._function = function
+        self._lock = threading.Lock( )
+        self._nextArgs = iter(argsVector).next
+        self._threadPool = [ threading.Thread(target=self._doSome, args=(i,))
+                             for i in range(maxThreads) ]
+        if queue_results:
+            self._queue = Queue.Queue( )
+        else:
+            self._queue = None
+            
+        self.sleep = sleep
+
+    def _doSome(self, ctr):
+        while True:
+            
+            self._lock.acquire( )
+            try:
+                try:
+                    args = self._nextArgs( )
+                except StopIteration:
+                    break
+            finally:
+                self._lock.release( )
+            # Insert user provided delay in here
+            if self.sleep != 0.0:
+                sleeper = randrange(0, 100)/100.0 * self.sleep
+                #print sleeper
+                c = time.clock()
+                #print c
+                while time.clock() - c < sleeper:
+                    time.sleep(0)    # necessary to give other threads a chance to run
+                    j = 0
+                    for i in range(100):
+                        j += i
+                #time.sleep(sleeper)
+            else:
+                sleeper = 0.0
+
+            try:
+                #print "Thread: %d, %f" % (ctr, sleeper)
+                result = self._function(args)
+                if self._queue is not None:
+                    self._queue.put((args, result))
+            except Exception, e:
+                print "Exception: %s" % e
+
+    def get(self, *a, **kw):
+        if self._queue is not None:
+            return self._queue.get(*a, **kw)
+        else:
+            raise ValueError, 'Not queueing results'
+
+    def start(self):
+        for thread in self._threadPool:
+            time.sleep(0)    # necessary to give other threads a chance to run
+            thread.start( )
+
+    def join(self, timeout=None):
+        for thread in self._threadPool:
+            thread.join(timeout)
+

Modified: CalDAVTester/trunk/tests/request.py
===================================================================
--- CalDAVTester/trunk/tests/request.py	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/tests/request.py	2006-10-04 16:02:44 UTC (rev 239)
@@ -42,10 +42,13 @@
         self.headers = {}
         self.ruri = ""
         self.data = None
-        self.datasubs = False
+        self.datasubs = True
         self.verifiers = []
         self.grablocation = False
     
+    def __str__(self):
+        return "Method: %s; uri: %s" % (self.method, self.ruri)
+
     def getURI( self, si ):
         if self.ruri == "$":
             return self.ruri
@@ -101,8 +104,8 @@
     
     def parseXML( self, node ):
         self.auth = node.getAttribute( tests.xmlDefs.ATTR_AUTH ) != tests.xmlDefs.ATTR_VALUE_NO
-        self.user = node.getAttribute( tests.xmlDefs.ATTR_USER )
-        self.pswd = node.getAttribute( tests.xmlDefs.ATTR_PSWD )
+        self.user = serverinfo.subs(node.getAttribute( tests.xmlDefs.ATTR_USER ))
+        self.pswd = serverinfo.subs(node.getAttribute( tests.xmlDefs.ATTR_PSWD ))
         self.end_delete = node.getAttribute( tests.xmlDefs.ATTR_END_DELETE ) == tests.xmlDefs.ATTR_VALUE_YES
         self.print_response = node.getAttribute( tests.xmlDefs.ATTR_PRINT_RESPONSE ) == tests.xmlDefs.ATTR_VALUE_YES
 
@@ -159,7 +162,7 @@
     
     def parseXML( self, node ):
 
-        subs = node.getAttribute( tests.xmlDefs.ATTR_SUBSTITUTIONS ) == tests.xmlDefs.ATTR_VALUE_YES
+        subs = node.getAttribute( tests.xmlDefs.ATTR_SUBSTITUTIONS ) != tests.xmlDefs.ATTR_VALUE_NO
 
         for child in node._get_childNodes():
             if child._get_localName() == tests.xmlDefs.ELEMENT_CONTENTTYPE:

Modified: CalDAVTester/trunk/tests/serverinfo.py
===================================================================
--- CalDAVTester/trunk/tests/serverinfo.py	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/tests/serverinfo.py	2006-10-04 16:02:44 UTC (rev 239)
@@ -30,10 +30,13 @@
 
     hostsubs = ""
     pathsubs = ""
+    subsdict = {}
 
     @classmethod
     def subs(cls, str):
-        return str.replace("$host:", serverinfo.hostsubs).replace("$pathprefix:", serverinfo.pathsubs)
+        for key, value in serverinfo.subsdict.iteritems():
+            str = str.replace(key, value)
+        return str
 
     def __init__( self ):
         self.host = ""
@@ -60,10 +63,25 @@
                 self.pswd = child.firstChild.data
             elif child._get_localName() == tests.xmlDefs.ELEMENT_HOSTSUBS:
                 if child.firstChild is not None:
-                    serverinfo.hostsubs = child.firstChild.data
+                    serverinfo.subsdict["$host"] = child.firstChild.data
             elif child._get_localName() == tests.xmlDefs.ELEMENT_PATHSUBS:
                 if child.firstChild is not None:
-                    serverinfo.pathsubs = child.firstChild.data
+                    serverinfo.subsdict["$pathprefix"] = child.firstChild.data
             elif child._get_localName() == tests.xmlDefs.ELEMENT_SERVERFILEPATH:
                 if child.firstChild is not None:
                     self.serverfilepath = child.firstChild.data
+            elif child._get_localName() == tests.xmlDefs.ELEMENT_SUBSTITUTIONS:
+                self.parseSubstitutionsXML(child)
+
+    def parseSubstitutionsXML(self, node):
+        for child in node._get_childNodes():
+            if child._get_localName() == tests.xmlDefs.ELEMENT_SUBSTITUTION:
+                key = None
+                value = None
+                for schild in child._get_childNodes():
+                    if schild._get_localName() == tests.xmlDefs.ELEMENT_KEY:
+                        key = schild.firstChild.data
+                    elif schild._get_localName() == tests.xmlDefs.ELEMENT_VALUE:
+                        value = schild.firstChild.data
+                if key and value:
+                    self.subsdict[key] = value

Modified: CalDAVTester/trunk/tests/xmlDefs.py
===================================================================
--- CalDAVTester/trunk/tests/xmlDefs.py	2006-10-03 21:15:06 UTC (rev 238)
+++ CalDAVTester/trunk/tests/xmlDefs.py	2006-10-04 16:02:44 UTC (rev 239)
@@ -34,6 +34,7 @@
 ELEMENT_HEADER = "header"
 ELEMENT_HOST = "host"
 ELEMENT_HOSTSUBS = "hostsubs"
+ELEMENT_KEY = "key"
 ELEMENT_METHOD = "method"
 ELEMENT_NAME = "name"
 ELEMENT_PATH = "path"
@@ -47,6 +48,8 @@
 ELEMENT_SERVERINFO = "serverinfo"
 ELEMENT_SSL = "ssl"
 ELEMENT_START = "start"
+ELEMENT_SUBSTITUTIONS = "substitutions"
+ELEMENT_SUBSTITUTION = "substitution"
 ELEMENT_TEST = "test"
 ELEMENT_TESTSUITE = "test-suite"
 ELEMENT_USER = "user"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061004/020a71f6/attachment.html


More information about the calendarserver-changes mailing list